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
Closed
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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?

if len(currentRemoteClusters) > 0 {
reconcileState.UpdateRemoteClusters(currentRemoteClusters)
}
return nil
}

Expand Down