Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add instruction for BWC tests on distribution level #196

Merged
merged 4 commits into from
Feb 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,4 +270,4 @@ To exclude add the following in `settings.gradle` file ```startParameter.exclude

The available [OpenSearch plugins](https://opensearch.org/docs/latest/install-and-configure/install-opensearch/plugins/#available-plugins) and [OpenSearch Dashboards plugins](https://opensearch.org/docs/latest/install-and-configure/install-dashboards/plugins/#available-plugins) are listed on the [documentation website](https://opensearch.org/docs/latest/).

If you create a new plugin or update the name of an existing one, make sure to update the list of plugins. You can either edit the [OpenSearch plugins doc page](https://github.com/opensearch-project/documentation-website/blob/main/_install-and-configure/install-opensearch/plugins.md) or [OpenSearch Dashboards plugins doc page](https://github.com/opensearch-project/documentation-website/blob/main/_install-and-configure/install-dashboards/plugins.md) in the documentation repo, or [open a documentation issue](https://github.com/opensearch-project/documentation-website/issues/new/choose).
If you create a new plugin or update the name of an existing one, make sure to update the list of plugins. You can either edit the [OpenSearch plugins doc page](https://github.com/opensearch-project/documentation-website/blob/main/_install-and-configure/plugins.md) or [OpenSearch Dashboards plugins doc page](https://github.com/opensearch-project/documentation-website/blob/main/_install-and-configure/install-dashboards/plugins.md) in the documentation repo, or [open a documentation issue](https://github.com/opensearch-project/documentation-website/issues/new/choose).
12 changes: 12 additions & 0 deletions TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
- [Codecov integration in Pull Requests](#codecov-integration-in-pull-requests)
- [Backwards Compatibility Testing](#backwards-compatibility-testing)
- [Types of BWC tests](#types-of-bwc-tests)
- [BWC tests on distribution bundle level](#bwc-tests-on-distribution-bundle-level)
- [Hooking the BWC tests to CI](#hooking-the-bwc-tests-to-ci)
- [BWC Version test matrix](#bwc-version-test-matrix)
- [Gradle Plugins](#gradle-plugins)
Expand Down Expand Up @@ -98,6 +99,17 @@ See [anomaly-detection#158](https://github.com/opensearch-project/anomaly-detect

Each plugin can test various functionalities in their bwc tests and add more scenarios if needed.

#### BWC tests on distribution bundle level
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TOC needs updating, please?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dblock Thanks dB. Just updated the table. Thanks!


The BWC tests running on distribution level are using the same framework from OpenSearch. The test cluster is spin up with the `latest` distribution bundle of provided version exclusively when the project is initialized with property `-PcustomDistributionDownloadType=bundle`.

The distribution bundle will be obtained with this format URL: `https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/1.3.2/latest/linux/x64/tar/dist/opensearch/opensearch-1.3.2-linux-x64.tar.gz`
This URL pattern starts to be supported as far as `v1.3.2` so The distribution bundle set up in the test cluster can be all versions after version `v1.3.2`.

On CI level for plugins, security certificates need to be manually imported when spinning up the test cluster as security plugin is included in the distribution bundle. When upgrading the version within the test cluster, `nextNodeToNextVersion` is used for a single node upgrade and `goToNextVersion` is for a full restart upgrade.

See [anomaly-detection#766](https://github.com/opensearch-project/anomaly-detection/pull/766) or [observability#1366](https://github.com/opensearch-project/observability/pull/1366) for more information.

#### Hooking the BWC tests to CI

The bwc tests can be hooked to the CI workflow in the plugin to run it with each pull request and push.
Expand Down