Skip to content
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 upgrade fails with ClusterAPIReconcileTimeout when there is no change on both coe clustertemplate and capi clusterclass #325

Closed
okozachenko1203 opened this issue Mar 16, 2024 · 1 comment · Fixed by #349

Comments

@okozachenko1203
Copy link
Member

okozachenko1203 commented Mar 16, 2024

In this case, coe cluster upgrade has no meaning on capi level, and capi controller will not increase the capi cluster's generation.
We have to filter this case and skip waiting

def wait_capi_cluster_reconciliation_start(
self, context, cluster: magnum_objects.Cluster, old_generation: int
):
"""Wait until the cluster's new generation is observed by capi-controller
This means the cluster reconciliation has been started and the conditions has been updated.
"""
current_generation = resources.Cluster(
context, self.k8s_api, cluster
).get_observed_generation()
if old_generation != current_generation:
return
raise exceptions.ClusterAPIReconcileTimeout()

@okozachenko1203 okozachenko1203 changed the title cluster upgrade fails when there is no change on both coe clustertemplate and capi clusterclass cluster upgrade fails with ClusterAPIReconcileTimeout when there is no change on both coe clustertemplate and capi clusterclass Mar 16, 2024
@okozachenko1203
Copy link
Member Author

The cluster upgrade will be used more frequently after this approach is implemented #324
And we can face this issue very soon with customers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant