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

Fix status comparison in Openshift #1136

Closed
wants to merge 4 commits into from

Conversation

barkbay
Copy link
Contributor

@barkbay barkbay commented Jun 24, 2019

Openshift et Kubernetes does not behave the same regarding the comparison of the fields in the status.
While Kubernetes seems to treat empty map and nil in the same way Openshift does not.

This very small PR fixes this problem and allows the operator to converge to the desired state with Openshift.

@barkbay barkbay changed the title Fix status openshift Fix status comparison in Openshift Jun 24, 2019
@@ -75,7 +75,11 @@ func UpdateRemoteCluster(
}
}
// Update state
reconcileState.UpdateRemoteClusters(currentRemoteClusters)
// If the map is empty then it must be stored as nil, not an empty map. It is retrieved as a nil value from the API
// and it could lead to some reconcile loops that never converge on Openshift.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find the comment a bit misleading. We say it must be stored as nil, but that's not what we actually do.
What we do here IIUC is update the state only if there are some remote clusters. We ignore all cases where the map is either nil or empty.

What if we have 3 remote clusters at some point, then do some updates and get to 0 remote clusters: does it mean the reconcileState never gets updated to match we now have 0 remote clusters?

@barkbay barkbay mentioned this pull request Jun 24, 2019
@pebrc
Copy link
Collaborator

pebrc commented Jun 25, 2019

We are going to remove the remote cluster feature which also solves the problem this PR addresses.

@barkbay
Copy link
Contributor Author

barkbay commented Jun 25, 2019

We are going to remove the remote cluster feature which also solves the problem this PR addresses.

Yes, since it is a blocker for Openshift and I don't know when this code will be removed I just wanted to fix it now so I can make some progress on Openshift.

@barkbay
Copy link
Contributor Author

barkbay commented Jul 3, 2019

superseded by #1164

@barkbay barkbay closed this Jul 3, 2019
@pebrc pebrc added >feature Adds or discusses adding a feature to the product v0.9.0 labels Jul 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>feature Adds or discusses adding a feature to the product v0.9.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants