Ensure platform services updated in same thread as cluster status#481
Draft
wtripp180901 wants to merge 4 commits intomainfrom
Draft
Ensure platform services updated in same thread as cluster status#481wtripp180901 wants to merge 4 commits intomainfrom
wtripp180901 wants to merge 4 commits intomainfrom
Conversation
…h-cloud/azimuth-capi-operator into fix/monitor-cluster-services-race
JohnGarbutt
reviewed
Sep 2, 2025
| namespace=namespace, | ||
| ) | ||
| instance.status.services = cluster_services | ||
| await save_cluster_status(instance) |
Contributor
There was a problem hiding this comment.
I wonder if we can test keeping the above json patch, and only using the update_platforms_for_cluster below?
I am worried here we are going to be hitting issues where the instance object is out of sync, so we error out and then have to retry.
JohnGarbutt
reviewed
Sep 2, 2025
| ) | ||
| instance.status.services = cluster_services | ||
| await save_cluster_status(instance) | ||
| await update_platforms_for_cluster(instance) |
Contributor
There was a problem hiding this comment.
Can we try keeping just this line in here? I think we only need the instance here to create the owner reference.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes a race where after upgrades, clusters services added to existing clusters don't get added to Platform CRs and are therefore don't have zenith endpoints created for them.
Removes
on_cluster_services_updatehandler in favour of updating platform CRs within the same thread the cluster'sstatus.servicesfield is updated to avoid races presumably caused by divergent views of the cluster between easykube objects used to patch services into the cluster status and instance objects recorded by kopf handlers