-
Notifications
You must be signed in to change notification settings - Fork 22
[CLOUDP-352109] Run MCK E2E tests against OCI published helm chart #509
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
base: master
Are you sure you want to change the base?
Conversation
9bd1970 to
5f0938b
Compare
9d6699b to
4ad79ae
Compare
5f0938b to
1b61956
Compare
4ad79ae to
9394e7c
Compare
e885549 to
92d2fe6
Compare
464fc81 to
5d55e9f
Compare
b485e0c to
e81238f
Compare
MCK 1.6.0 Release NotesNew Features
Bug Fixes
|
1. Move file from scripts to scripts/relese 2. call python files from .sh files so that we can use build_scenario env var
…not provided and chart is not meko or mck
|
|
||
|
|
||
| def main(): | ||
| build_scenario = os.environ.get("BUILD_SCENARIO") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's not hide the dependency on "BUILD_SCENARIO" env var here and pass it directly as cmd flag.
| helm_params+=("--set" "omDebugHttp=true") | ||
| fi | ||
|
|
||
| if [[ -n "${helm_oci_regisry:-}" ]]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are those values optional or should be expected to be present?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these values must be set for evergreen patches but will not be set for local tests. we are trying to run the tests image here that we don't do when we run the tests locally so we should be good in always expecting this to be set.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If that is the case we should fail in case they are missing and not omit setting them up, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's right. I will make the change.
| non_semver_custom_operator_version = os.environ.get(OPERATOR_VERSION_ENV_VAR_NAME) | ||
| # when we publish the helm chart we append `0.0.0+` in the chart version, details are | ||
| # here https://docs.google.com/document/d/1eJ8iKsI0libbpcJakGjxcPfbrTn8lmcZDbQH1UqMR_g/edit?tab=t.gg5ble8qlesq | ||
| custom_operator_version = f"0.0.0+{non_semver_custom_operator_version}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will not work when testing against released version which uses semantic version i.e. when we run e2e smoke tests after publishing images to production
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for mentioning this, I missed testing smoke tests while implementing this.
| # if operator_version is not specified and we are not installing the MCK or MEKO chart | ||
| # it would mean we want to install OCI published helm chart. Figure out respective version, | ||
| # it is set in env var `OPERATOR_VERSION` based on build_scenario. | ||
| if not operator_version and helm_chart_path not in ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see this code in two places, it would make sense to encapsulate it in method
| helm_args: Optional[Dict] = None, | ||
| helm_options: Optional[List[str]] = None, | ||
| helm_chart_path: Optional[str] = "helm_chart", | ||
| helm_chart_path: Optional[str] = None, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
q: how can we instruct this function to use local helm charts for local tests? Ideally we should be able to set this somewhere in the context files and override it by default locally, for example by specifying it in local-defaults-context.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's the plan. I am working on the change that will make sure that we are able to run the tests locally. Will push the changes soon.
e2a0c99 to
5cb41a0
Compare
Summary
As part of our work to move towards OCI compatible container registries for our helm chart, we are also planning to run our E2E tests against the helm chart that we publish to OCI. This will make sure that we are testing in our E2E what we are providing to our customers.
As part of this effort we have already raised a PR that starts publishing our helm chart to the OCI container registry during dev/staging workflows.
This PR goes and changes our E2E tests to start consuming the helm chart from OCI registry instead of the local helm chart repo.
Proof of Work
Successful CI on this PR.
I also ran the test
e2e_replica_set_migrationlocally and it was successful. The logs are here.Checklist
skip-changeloglabel if not needed