Open pdettori opened 3 weeks ago
I think I found an explanation - if the generation field and the observedGeneration do not match, it suggests that the controller might not have fully synchronized with the desired state specified in the resource. This discrepancy can cause the kubectl wait command to time out because the system sees this as an indication that syncing isn't complete. Indeed:
$ k -n default wait cps/its1 --for condition=Ready
times out. But if I do:
$ kubectl patch controlplane its1 --subresource='status' --type=merge -p '{"status": {"observedGeneration": 1}}'
controlplane.tenancy.kflex.kubestellar.org/its1 patched
(where "1" is the generation value in the spec) then it works:
$ k -n default wait cps/its1 --for condition=Ready
controlplane.tenancy.kflex.kubestellar.org/its1 condition met
So the root cause is .status.observedGeneration
being stuck at 0.
Describe the bug
(from @MikeSpreitzer )
These two are supposed to do the same thing. How do they not?
Steps To Reproduce
Expected Behavior
The "wait for" should return with condition met
Additional Context
No response