-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Propose better integration test that exercise real cloud plugins #1763
Comments
Looking into it. |
@dreamer-89 the |
@reta: Thank you for sharing this. |
TestsChecked different repository actions and corresponding integration tests already exists for all supported repository types here. I have verified that providing aws credentails as enviornment variables; the tests were able to use actual S3 end-point and perform different actions. Infra SetupThe actual choice of infra to store credentials (Jenkins Credentials or Github secrets) depends on Issue 136; which looks like is weighing in towards current Jenkins set up we have. I am biased towards GHA workflows for multitude of reasons already mentioned in 136 :) |
Meeting notes:
|
Choice of host for running test AWS Ec2 via Jenkins
Azure via Github Actions
|
Waiting on Issue 136 for choice of infra (Jenkins Vs CodeBuild Vs GHA) and review from infra team on requirements. |
Hey @dreamer-89! Issue 136 is closed. Jenkinsfile is added in OpenSearch for gradle check. We are going with public Jenkins. |
Listing down pre and post test coverage with introduction of AWS credentials for running repository-s3 plugin tests and get feedback. plugin/repository-s3Today, tests use mocked servers (S3HttpHandler, Minio server) providing S3 compatible APIs for running the S3 integration tests. repository-s3 gradle uses Below are the set of tasks which runs today as part of CI gradle check.
When permanent credentials are provided:
[Edit]: Just verified Ec2/ECS credentails (InstanceProfileCredentialsProvider) comes after basic key/secret credentials in cred provider chain; which means ec2/ecs yaml tests will use permanent creds only. |
@dreamer-89 thanks for the summary, afaik, the most interesting tests for us are |
Thanks @reta for the reply. Yes, I verified that s3ThirdPartyTest uses actual external service end-points. Verified that tests create relevant artefacts under provided S3 bucket and base path. |
Jenkins gradle job is updated to export permanent aws account credentials. This results in s3ThirdPartyTest tests (and yamlRestTest |
Jenkins gradle job is updated with Azure credentials. Gradle check is now running repository-azure tests using actual azure end-points. |
Closing this issue and creating new one to track GCP and Azure integration and enabling back Ec2/ECS credentials related repository-s3 integration tests discussed in previous comment here |
Is your feature request related to a problem? Please describe.
We need to enhance our integration tests to exercise the usage of real cloud plugins Like Azure, Google Cloud ..etc. This is was clearly needed after we received the repository-azure plugin issue as regression if OpenSearch 1.2 release.
Additional context
More details: #1734 #1740
The text was updated successfully, but these errors were encountered: