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

Unify the structure for release url and regular distribution url for running Dashboards integ test #1482

Closed
Tracked by #604
tianleh opened this issue Jan 14, 2022 · 5 comments · Fixed by #1490
Closed
Tracked by #604
Assignees
Labels

Comments

@tianleh
Copy link
Member

tianleh commented Jan 14, 2022

Is your feature request related to a problem? Please describe

Background: to run Dashboards integ test against public endpoint, this is the command

./test.sh integ-test manifests/1.2.0/opensearch-dashboards-1.2.0-test.yml -p opensearch=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/1.2.2/98/linux/x64 opensearch-dashboards=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch-dashboards/1.2.0/9/linux/x64

Note that for integ test, we are reading the artifact URL from the bundle manifest (attribute location) instead of taking it from input directly.
(https://github.com/opensearch-project/opensearch-build/blob/main/src/test_workflow/dependency_installer.py#L28)

For the url for opensearch, we expect the following sub paths

  1. builds/opensearch/manifest.yml for build manifest
  2. dist/opensearch/manifest.yml for bundle manifest
    (Link to code https://github.com/opensearch-project/opensearch-build/blob/main/src/test_workflow/integ_test/integ_test_start_properties_opensearch.py#L13)

For the url for opensearch-dashboards, we expect

  1. builds/opensearch-dashboards/manifest.yml for build manifest
  2. dist/opensearch-dashboards/manifest.yml for bundle manifest
    (Link to code https://github.com/opensearch-project/opensearch-build/blob/main/src/test_workflow/integ_test/integ_test_start_properties_opensearch_dashboards.py#L13)

This is the link to release artifact https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/1.2.0/opensearch-dashboards-1.2.0-linux-x64.tar.gz

To run integ test against this release url, we need https://artifacts.opensearch.org/releases to have a similar structure above.

Describe the solution you'd like

Given the base release URL https://artifacts.opensearch.org/releases/1.2.0, I want to have
https://artifacts.opensearch.org/releases/1.2.0/builds/opensearch/manifest.yml
https://artifacts.opensearch.org/releases/1.2.0/dist/opensearch/manifest.yml
https://artifacts.opensearch.org/releases/1.2.0/builds/opensearch-dashboards/manifest.yml
https://artifacts.opensearch.org/releases/1.2.0/dist/opensearch-dashboards/manifest.yml

In terms of the current release URL https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/1.2.0/opensearch-dashboards-1.2.0-linux-x64.tar.gz

It can be replaced by https://artifacts.opensearch.org/releases/1.2.0/dist/opensearch-dashboards/opensearch-dashboards-1.2.0-linux-x64.tar.gz

(or we can also keep the old one to minimize the impact)

Describe alternatives you've considered

No response

Additional context

No response

@tianleh tianleh added enhancement New Enhancement untriaged Issues that have not yet been triaged labels Jan 14, 2022
@tianleh
Copy link
Member Author

tianleh commented Jan 14, 2022

@dblock
Copy link
Member

dblock commented Jan 14, 2022

This makes sense. I think we inherited bundle from earlier attempts.

@tianleh tianleh self-assigned this Jan 14, 2022
@tianleh tianleh removed the untriaged Issues that have not yet been triaged label Jan 14, 2022
@tianleh
Copy link
Member Author

tianleh commented Jan 14, 2022

Digging the repo and didn't find where the logic is about the release endpoint. By searching "artifacts.opensearch.org", only find this signing logic https://github.com/opensearch-project/opensearch-build/blob/main/vars/signArtifacts.groovy#L34

Could anyone help point to where the logic is or any documents about it? @dblock @peternied @peterzhuamazon

@gaiksaya
Copy link
Member

Digging the repo and didn't find where the logic is about the release endpoint. By searching "artifacts.opensearch.org", only find this signing logic https://github.com/opensearch-project/opensearch-build/blob/main/vars/signArtifacts.groovy#L34

Could anyone help point to where the logic is or any documents about it? @dblock @peternied @peterzhuamazon

The artifacts are moved from staging to production using the below code base https://github.com/opensearch-project/opensearch-build/blob/main/vars/promoteArtifacts.groovy#L71-L83

@tianleh
Copy link
Member Author

tianleh commented Jan 15, 2022

Tuning on the code change in promoteArtifacts.groovy to make the path hierarchy consistent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants