-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Cluster observedGeneration is updated without changing conditions on topology upgrades #11292
Comments
This issue is currently awaiting triage. If CAPI contributors determine this is a relevant issue, they will accept it by applying the The 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. |
Which of the conditions would you have expected to change? That being said we're working on new conditions for the next release #11291 |
@sbueringer it doesn't matter too much, our code can be extended to handle any new conditions. The current wait code checks the following to know when a Cluster has finished upgrading:
When I initially wrote this I made an incorrect assumption that We use a similar strategy of relying on |
TBH, I don't see a correlation between observed generation and upgrades being completed or even condition changing. If you want to check for upgrade being completed, you should check machines versions. /close |
@fabriziopandini: Closing this issue. 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. |
What steps did you take and what happened?
Followed the Quick Start for Docker with Kubernetes v1.31.0. Then updated the Cluster object and change the version to v1.31.1.
The
observedGeneration
got updated without any of the conditions changing.Notice the
observedGeneration
is now 4 without any conditions or other status changes.What did you expect to happen?
We rely on a combination of watching for
observedGeneration
to equalgeneration
and then for conditions on the Cluster to beTrue
when determining when a cluster completes an upgrade.In this case though, the
observedGeneration
is updated without any changes in the conditions, which causes a race condition and return prematurely before the upgrade is even started.I would expect for some status to change along with
observedGeneration
that indicates that the spec has changes and needs to be processed.Cluster API version
Kubernetes version
v1.31.0 > v1.31.1
Anything else you would like to add?
We're currently hacked around this using a sleep between changing the resource and starting the wait, but would appreciate some guidance from others who have seen this and have other ideas.
Label(s) to be applied
/kind bug
One or more /area label. See https://github.com/kubernetes-sigs/cluster-api/labels?q=area for the list of labels.
The text was updated successfully, but these errors were encountered: