-
Notifications
You must be signed in to change notification settings - Fork 68
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
Render: fail if no oauth image is found #1669
Render: fail if no oauth image is found #1669
Conversation
For some unknown reason, during upgrades from ACM 2.11, the template image is briefly used, instead of the image from the openshift imagestream. The template image is not available in disconnected environments, and as a result causes the pods be unable to come up. This is a problem especially for alertmanager. Because of it being a statefulset when it gets into the bad state, with the wrong image, it doesn't automatically recover on the next reconcile. This requires manual intervention to fix. Instead with this PR, we make the reconcile fail if we do not find the oauth image. This will make it retry later, when the imagestream is able to be found. Signed-off-by: Jacob Baungard Hansen <[email protected]>
69fdfc9
to
6f52027
Compare
Instead of passing through the `ImageV1Client` we instead use the interface `ImageV1Interface`. This is so we're able to pass in a faked ImageClient for tests. This is needed because since reconciles, as per the previous commit, will actually fail if we cannot get the image from the imagestream. Signed-off-by: Jacob Baungard Hansen <[email protected]>
Quality Gate failedFailed conditions |
/test test-e2e |
1 similar comment
/test test-e2e |
Note this causes reconciles to fail (intentionally) if we cannot find the imagestream. Not sure if there is a more graceful method? It will basically keep all images on the older versions during an upgrade, until the we can get the correct image. It seems we will keep trying to reconcile until it works, so probably works OK. Error:
|
/test test-e2e |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jacobbaungard, saswatamcode The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/cherrypick release-2.13 |
@jacobbaungard: once the present PR merges, I will cherry-pick it on top of In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/override "SonarCloud Code Analysis" |
@jacobbaungard: Overrode contexts on behalf of jacobbaungard: SonarCloud Code Analysis In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/override "ci/prow/sonarcloud" |
@jacobbaungard: Overrode contexts on behalf of jacobbaungard: ci/prow/sonarcloud In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
d969023
into
stolostron:release-2.12
@jacobbaungard: new pull request created: #1671 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/cherrypick main |
@jacobbaungard: new pull request created: #1672 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
For some unknown reason, during upgrades from ACM 2.11, the template image is briefly used, instead of the image from the openshift imagestream. The template image is not available in disconnected environments, and as a result causes the pods be unable to come up.
This is a problem especially for alertmanager. Because of it being a statefulset when it gets into the bad state, with the wrong image, it doesn't automatically recover on the next reconcile. This requires manual intervention to fix.
Instead with this PR, we make the reconcile fail if we do not find the oauth image. This will make it retry later, when the imagestream is able to be found.