-
Notifications
You must be signed in to change notification settings - Fork 437
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
Add --wait to helm tests and other improvements to support CD tools #8738
Conversation
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 is awesome!
We also have an upgrade suite, which doesn't run on PRs, but will run nightly and is intended to identify regressions with upgrading from an old version of Gloo to a newer one. Do you think it would be valuable to add this functionality to that suite as well? (example: https://github.com/solo-io/gloo/blob/main/test/kube2e/upgrade/upgrade_test.go#L302)
{{- /* With ArgoCD, there is no concept or installs or upgrades. Everything is a sync. */}} | ||
{{- /* This causes an issue when a hook must run on an install but not an upgrade based on a flag. */}} | ||
{{- /* We address this by creating the job definition for an upgrade only if the flag says so */}} | ||
{{- /* This is done in the next two lines */}} | ||
{{- $shouldJobRunOnUpgrade := and .Release.IsUpgrade .Values.gateway.certGenJob.runOnUpdate }} | ||
{{- if or .Release.IsInstall $shouldJobRunOnUpgrade }} |
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 would not work as argo doesn't template with --is-install or --is-upgrade. This would be a good callout in the docs that if a user is using ArgoCD and global.glooMtls.enabled=true, it will run on every sync irrespective of the value of gateway.certGenJob.runOnUpdate
Visit the preview URL for this PR (updated for commit ca5e859): https://gloo-edge--pr8738-helm-wait-u96iay90.web.app (expires Tue, 10 Oct 2023 16:13:44 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 77c2b86e287749579b7ff9cadb81e099042ef677 |
{{- /* With ArgoCD, there is no concept or installs or upgrades. Everything is a sync. */}} | ||
{{- /* Due to this behavour of ArgoCD, the value of `gateway.certGenJob.runOnUpdate` can not be respected and will run on every sync. */}} |
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 would need to be called out in the docs
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.
Is that something you plan on doing as part of this work?
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've added a reference to this in #8724
There might be other instances which might need to be called out because of the way Argo works
Once I've addressed the issues mentioned in https://github.com/solo-io/solo-projects/issues/5293 we'll have confirmed what works and what doesn't in Argo (or have workarounds available) and can start with the docs
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.
Love the comments!
{{- /* With ArgoCD, there is no concept or installs or upgrades. Everything is a sync. */}} | ||
{{- /* Due to this behavour of ArgoCD, the value of `gateway.certGenJob.runOnUpdate` can not be respected and will run on every sync. */}} |
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.
Is that something you plan on doing as part of this work?
…8738) * Add --wait to helm tests and other improvements to support CD tools * Adding changelog * Adding upgrade tests * Adding changelog file to new location * Deleting changelog file from old location --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: changelog-bot <changelog-bot>
…8738) * Add --wait to helm tests and other improvements to support CD tools * Adding changelog * Adding upgrade tests * Adding changelog file to new location * Deleting changelog file from old location --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: changelog-bot <changelog-bot>
…8738) * Add --wait to helm tests and other improvements to support CD tools * Adding changelog * Adding upgrade tests * Adding changelog file to new location * Deleting changelog file from old location --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: changelog-bot <changelog-bot>
…tools (#8742) * Add --wait to helm tests and other improvements to support CD tools (#8738) * Add --wait to helm tests and other improvements to support CD tools * Adding changelog * Adding upgrade tests * Adding changelog file to new location * Deleting changelog file from old location --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: changelog-bot <changelog-bot> * Move changelog --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com>
…tools (#8743) * Add --wait to helm tests and other improvements to support CD tools (#8738) * Add --wait to helm tests and other improvements to support CD tools * Adding changelog * Adding upgrade tests * Adding changelog file to new location * Deleting changelog file from old location --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: changelog-bot <changelog-bot> * Moving changelog --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com>
…tools (#8744) * Add --wait to helm tests and other improvements to support CD tools (#8738) * Add --wait to helm tests and other improvements to support CD tools * Adding changelog * Adding upgrade tests * Adding changelog file to new location * Deleting changelog file from old location --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: changelog-bot <changelog-bot> * Moving changelog --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com>
Description
Most CI tools wait until resources are ready to mark a release as successful. Eg. ArgoCD and Flux
We can emulate this by passing the
--wait
flag to helm rather than individually adding support for every CD tool out there.This PR adds this flag to the helm tests as well as some tweaks to support ArgoCD
Context
Users ran into this bug doing ... \ Users needed this feature to ...
See slack conversation here
Interesting decisions
We chose to do things this way because ...
Testing steps
I manually verified behavior by ...
Notes for reviewers
Be sure to verify intended behavior by ...
Please proofread comments on ...
This is a complex PR and may require a huddle to discuss ...
Checklist: