-
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
MachinePool observedGeneration is updated without changing conditions on upgrades #10059
Comments
This issue is currently awaiting triage. If CAPI contributors determines 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/test-infra repository. |
@jackfrancis @willie-yao could you kindly triage this issue? |
/triage accepted |
Cluster topology controller only waits for Kubernetes upgrades. We check if all Machines have been upgraded via versions on the corresponding Nodes. |
/retitle MachinePool observedGeneration is updated without changing conditions on upgrades |
/priority important-longterm |
@willie-yao @mboersma @Jont828 PTAL /remove-triage accepted |
@willie-yao @mboersma @Jont828 Do you have some time to take a look? |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
What steps did you take and what happened?
Create an AKS cluster with machinepools with CAPZ then upgrade the
spec.version
in the MachinePool.What did you expect to happen?
We rely on
status.observedGeneration
and different status fields and conditions to determine if the MachinePool is still being upgraded. This works great withMachineDeployments
with lots of different infra providers, but for MachinePools there is no clear signal when the upgrade has started.I've captured the MachinePool objects during an upgrade:
spec.version
was upgraded tov1.28.3
but observedGeneration is still2
, this is expected the controllers haven't acted yet.The controller picks up the spec change and reconciles it, updating
observedGeneration
to3
which matchesgeneration
.This is where I would expect to some status change that the spec is outdated and will be upgraded.
Then about 10 seconds later we get a status change with
Ready
andInfrastructureReady
conditions changing toFalse
. By this point our wait code has exited since it checks forobservedGeneration==generation
and theReady
condition.Cluster API version
v1.5.3
Kubernetes version
No response
Anything else you would like to add?
We would like to avoid solving this and not have "sleeps" to wait for changes to happen (or not happen) and instead would like to use the
status
.I'm looking for some guidance
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: