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

[META] Automate Integration testing #124

Closed
14 of 17 tasks
Tracked by #123
setiah opened this issue Aug 2, 2021 · 5 comments
Closed
14 of 17 tasks
Tracked by #123

[META] Automate Integration testing #124

setiah opened this issue Aug 2, 2021 · 5 comments
Assignees
Labels
enhancement New Enhancement

Comments

@setiah setiah added the enhancement New Enhancement label Aug 2, 2021
@setiah setiah mentioned this issue Aug 2, 2021
4 tasks
@setiah
Copy link
Contributor Author

setiah commented Aug 12, 2021

Describing integration test job in its current form

  1. Clone opensearch (1.0), opensearch-build and plugin (based on ref provided) to test. Then clone the dependencies - common-utils, job-scheduler, alerting as notifications.
  2. Deploy single node cluster based on params VERSION, TYPE (snapshot | release), ARCHITECTURE (x64 | amd64), SECURITY (w/ | w/o). This downloads artifacts from https://artifacts.opensearch.org, adds settings, disables security (if required), and starts OpenSearch process. It validates the process is running by doing a curl on the ports.
  3. Next it pulls integ test dependencies using integtest_dependencies_opensearch.sh into maven-local, based on VERSION (e.g. 1.0.0) and QUALIFIER (e.g. rc1, ga) for each of the repos pulled in step 1 (opensearch, common-utils, job-scheduler, alerting). It uses ./gradlew publishToMavenLocal to publish dependencies to maven local. These dependencies should now be available in ~/.m2/repository/org/opensearch
  4. Next it moves the plugin repo to opensearch/plugins folder and executes the integtest.sh from that plugin repo against provided CLUSTER_PORT

@setiah
Copy link
Contributor Author

setiah commented Aug 12, 2021

Inputs required:

  1. Artifact download path
  2. git-reference (commit id, etc.)
  3. Architecture
  4. Security
  5. Log publish path (based on BuildId)

What the [modified] integ test job needs to do

  1. Add parallelization logic to run tests in parallel on plugins.
  2. Spin up multiple single node clusters - one for each parallel test run
  3. Publish logs for all runs under common build id, with unique test id.

@peternied peternied assigned peternied and unassigned setiah Dec 6, 2021
@peternied
Copy link
Member

This item is redundant with #818 closing this one in favor of that one

@dblock dblock changed the title [META] Automated Integration testing [META] Automate Integration testing Jan 11, 2022
@dblock
Copy link
Member

dblock commented Jan 11, 2022

Going to reopen this until we run integration tests with every build.

@dblock
Copy link
Member

dblock commented Jan 11, 2022

Closing in favor of #818

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New Enhancement
Projects
None yet
Development

No branches or pull requests

3 participants