Skip to content

Commit

Permalink
Add smoke tests in README file from test workflow
Browse files Browse the repository at this point in the history
Signed-off-by: Zelin Hao <[email protected]>
  • Loading branch information
zelinh committed Jan 15, 2025
1 parent 76e3491 commit f212d81
Showing 1 changed file with 20 additions and 8 deletions.
28 changes: 20 additions & 8 deletions src/test_workflow/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,19 +127,23 @@ See [anomaly-detection#766](https://github.com/opensearch-project/anomaly-detect
### Smoke Tests
Run Smoke tests invoking `run_smoke_test.py` in each component from a distribution manifest.

Smoke tests
The smoke tests are designed to verify basic functionality of a distribution bundle with all plugins installed.
Each plugin being tested has its own test specification YAML file, located in the [OpenSearch Build repository](https://github.com/opensearch-project/opensearch-build/tree/main/src/test_workflow/smoke_test/smoke_tests_spec), organized by major version. These test specification files list all testing API cases. The smoke test workflow executes each API case and compares the results with the API specifications from the [OpenSearch API Specification repository](https://github.com/opensearch-project/opensearch-api-specification) to perform basic validation and testing.

Usage:
```aiignore
To execute the smoke tests, use the following command:
```bash
./test.sh smoke-test <test-manifest-path> <target>
```

For example, building and assembling the artifacts locally and run smoke tests:
```aiignore
Examples
Running smoke tests locally with artifacts built and assembled:
```bash
./test.sh smoke-test manifests/2.19.0/opensearch-2.19.0-test.yml --paths opensearch=/workspace/opensearch-build/tar
```

To run smoke tests against existing build from CI:
```aiignore
Running smoke tests against an existing build from CI:
```bash
./test.sh smoke-test manifests/2.19.0/opensearch-2.19.0-test.yml --paths opensearch=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/2.19.0/10545/linux/x64/tar/
```

Expand Down Expand Up @@ -270,7 +274,7 @@ The development of `test-orchestration-pipeline` is tracked by meta issue [#123]

It is a Jenkins job that runs integration tests on a build artifact. It reads the build artifact composition from the associated manifest files and spins up parallel, independent integrationTest runs for each component built inside the artifact. For instance, if the artifact is a full distribution, which has all OpenSearch plugins, the job will kick off integration test suite for each individual plugin. Each plugin integration tests would run against a dedicated single node cluster, which is created from the built artifact. Once all integration tests complete, this job publishes the test results to an S3 bucket.

See the integration test [configuration file](jenkins/opensearch/integ-test.jenkinsfile) and related [jenkins job](https://build.ci.opensearch.org/job/integ-test/)
See the integration test [configuration file](../../jenkins/opensearch/integ-test.jenkinsfile) and related [jenkins job](https://build.ci.opensearch.org/job/integ-test/)

The development of `integTest` job is tracked by meta issue [#818](https://github.com/opensearch-project/opensearch-build/issues/818)

Expand All @@ -280,7 +284,7 @@ It is a Jenkins job that runs bwc tests on the current version and compatible bw

When the bwc test is triggered for a particular component, the tests set up their own cluster and test the required functionalities in the upgrade paths, for the example above, a multi-node cluster starts with bwc versions of OpenSearch and AD installed on it, one or more nodes are upgraded to the current version of OpenSearch and AD installed on it and backwards compatibility is tested. The plugins would add tests for all bwc versions (similar to OpenSearch core) and they can be triggered from the bwcTest job.

See the bwc test [configuration file](jenkins/opensearch/bwc-test.jenkinsfile) and related [jenkins job](https://build.ci.opensearch.org/job/bwc-test/)
See the bwc test [configuration file](../../jenkins/opensearch/bwc-test.jenkinsfile) and related [jenkins job](https://build.ci.opensearch.org/job/bwc-test/)

The development of the bwc test automation is tracked by meta issue [#90](https://github.com/opensearch-project/opensearch-build/issues/90).

Expand Down Expand Up @@ -311,6 +315,14 @@ After the performance test completes, it will report back the test results as we

The development is tracked by meta issue [#126](https://github.com/opensearch-project/opensearch-build/issues/126)

#### smokeTest job

It is a Jenkins job designed to run smoke tests on bundle artifacts. It retrieves the bundle artifacts using the provided manifest URL parameter and spins up a cluster with all plugins installed. The cluster is deployed using the default configuration without any customizations. Smoke tests for all components are executed sequentially, and the results are returned at the end.

See the smoke test [configuration file](../../jenkins/opensearch/smoke-test.jenkinsfile) and related [jenkins job](https://build.ci.opensearch.org/job/smoke-test/)

The development is tracked by meta issue [#5223](https://github.com/opensearch-project/opensearch-build/issues/5223)

## Manifest Files

Manifest files are configurations for a particular bundle. `test-workflow` uses three types of manifest files to run test suites.
Expand Down

0 comments on commit f212d81

Please sign in to comment.