Skip to content

[Bug] Support specifying distribution for test scripts #1812

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

Closed
tianleh opened this issue Mar 23, 2022 · 11 comments
Closed

[Bug] Support specifying distribution for test scripts #1812

tianleh opened this issue Mar 23, 2022 · 11 comments
Assignees
Labels
bug Something isn't working technical-debt Additional rework required to improve the existing code

Comments

@tianleh
Copy link
Member

tianleh commented Mar 23, 2022

Once #1800 is implemented, the manifest.yml path or url will have a subfolder for distribution. We may need to introduce a distribution parameter to figure out which distribution's yml to use.

E.g The current test command is

./test.sh integ-test manifests/1.3.0/opensearch-dashboards-1.3.0-test.yml -p opensearch=https://ci.opensearch.org/ci/dbc/Playground/tianleh-test/tianle-opensearch-build-3-22/1.3.0/5/linux/x64 opensearch-dashboards=https://ci.opensearch.org/ci/dbc/Playground/tianleh-test/tianleh-osd-build-3-22/1.3.0/7/linux/x64

The current logic is to find manifest under dist/opensearch/manifest.yml but there could be different distributions dist/opensearch/tar/manifest.yml The tar will need to be provided from the test command.

@dblock
Copy link
Member

dblock commented Mar 23, 2022

Shouldn't the path just include tar? -p opensearch=https://ci.opensearch.org/ci/dbc/Playground/tianleh-test/tianle-opensearch-build-3-22/1.3.0/5/linux/x64/**tar**

@tianleh
Copy link
Member Author

tianleh commented Mar 23, 2022

Shouldn't the path just include tar? -p opensearch=https://ci.opensearch.org/ci/dbc/Playground/tianleh-test/tianle-opensearch-build-3-22/1.3.0/5/linux/x64/**tar**

Per #1800 , the structure is builds/opensearch/tar/dist/ If we want to achieve #1812 (comment) we may need to update the structure to be tar/builds/opensearch/dist

Looks like tar/builds/opensearch/dist is simpler. cc @peterzhuamazon @dblock

@tianleh
Copy link
Member Author

tianleh commented Mar 23, 2022

Verify that the upload permission doesn't need changes since it is wildcard match. https://github.com/opensearch-project/opensearch-build/blob/main/deployment/lib/identities.ts

@tianleh
Copy link
Member Author

tianleh commented Mar 23, 2022

I am proposing the following (inspired by your suggestion):

the local structure will look like
tar/builds/opensearch/dist
tar/dist/opensearch/

The full urls will become
https://ci.opensearch.org/ci/dbc/Playground/tianleh-test/tianle-opensearch-build-3-22/1.3.0/5/linux/x64/tar/builds/opensearch/manifest.yml

https://ci.opensearch.org/ci/dbc/Playground/tianleh-test/tianle-opensearch-build-3-22/1.3.0/5/linux/arm64/tar/dist/opensearch/manifest.yml

Then there is no need to change the code logic for integ/bwc test. We just need to pass the new url into test command.

We may need to update the artifact uploading logic to upload the tar instead of builds/dist
https://github.com/opensearch-project/opensearch-build/blob/main/vars/uploadArtifacts.groovy#L12

@dblock

@tianleh
Copy link
Member Author

tianleh commented Mar 23, 2022

Verify that the upload permission doesn't need changes since it is wildcard match. https://github.com/opensearch-project/opensearch-build/blob/main/deployment/lib/identities.ts

For this file, if we do not want to make any changes, then the artifact upload logic will upload tar/builds and tar/dist so that the wildcard match can take effect.

@tianleh
Copy link
Member Author

tianleh commented Mar 23, 2022

One small issue is that the local structure will look a bit messy since it will have rpm, tar under the root directory while the original solution will have builds and dist under the root directory.

@dblock
Copy link
Member

dblock commented Mar 24, 2022

One small issue is that the local structure will look a bit messy since it will have rpm, tar under the root directory while the original solution will have builds and dist under the root directory.

Right, so that feels strange, but are the artifacts in builds radically different in the two types of builds?

I feel like we need to merge builds and dist into a single pipeline, but that's a different problem.

@tianleh
Copy link
Member Author

tianleh commented Mar 24, 2022

I will continue with the proposal in #1812 (comment) We can later continue optimizing the local structure since it is not customer facing.

@dblock

@zelinh zelinh added bug Something isn't working technical-debt Additional rework required to improve the existing code labels Apr 12, 2022
@peterzhuamazon
Copy link
Member

We need to add the platform folder in test recorder just like the one in distribution.

@peterzhuamazon peterzhuamazon changed the title Support specifying distribution for test scripts [Bug] Support specifying distribution for test scripts Jul 25, 2022
@peterzhuamazon
Copy link
Member

This can be closed now as the --paths param already point to specific build manifest, which has distribution related param and information.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working technical-debt Additional rework required to improve the existing code
Projects
None yet
Development

No branches or pull requests

4 participants