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
test: Detect when the master pool is still updating after upgrade #25922
test: Detect when the master pool is still updating after upgrade #25922
Conversation
3db1ab1
to
8f1c9cc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/hold
Holding so we can look at the presubmit jobs and confirm this is working.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: smarterclayton, wking The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
not clear to me how that's related to this PR, but we certainly don't want to land things that fail compilation. |
It’s not, which is concerning /retest |
@@ -499,33 +507,39 @@ func recordClusterEvent(client kubernetes.Interface, uid, action, reason, note s | |||
} | |||
|
|||
// TODO(runcom): drop this when MCO types are in openshift/api and we can use the typed client directly | |||
func IsPoolUpdated(dc dynamic.NamespaceableResourceInterface, name string) (bool, error) { | |||
func IsPoolUpdated(dc dynamic.NamespaceableResourceInterface, name string) (poolUpToDate bool, poolIsUpdating bool) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$ git --no-pager grep IsPoolUpdated origin/master
origin/master:test/e2e/upgrade/upgrade.go: updated, err := IsPoolUpdated(mcps, p.GetName())
origin/master:test/e2e/upgrade/upgrade.go:func IsPoolUpdated(dc dynamic.NamespaceableResourceInterface, name string) (bool, error) {
origin/master:test/extended/dr/common.go: return upgrade.IsPoolUpdated(mcps, "master")
So this is causing the compilation error.
The MCO is required to roll out the master config pool prior to reporting level, and thus CVO should never reach Available at a new version without the master pool being updated. Add an extra check to the pool rollout - if we see the master pool with an Updating condition flag it and fail the upgrade job. Also handle paused pools in the wait loop (a paused pool is effectively "we will not deal with this pool" and so we will exit early and log).
8f1c9cc
to
a5d917c
Compare
New changes are detected. LGTM label has been removed. |
/retest |
/test e2e-gcp |
/test e2e-aws-fips |
/retest |
The flake is not being cooperative, I’m going to merge and then keep watching for it |
/retest |
/refresh |
/retest |
/retest Please review the full test history for this PR and help us cut down flakes. |
2 similar comments
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
The MCO is required to roll out the master config pool prior to reporting level, and thus CVO should never reach Available at a
new version without the master pool being updated. Add an extra check to the pool rollout - if we see the master pool with an
Updating condition flag it and fail the upgrade job. Also handle paused pools in the wait loop (a paused pool is effectively "we
will not deal with this pool" and so we will exit early and log).
https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/openshift_cluster-network-operator/988/pull-ci-openshift-cluster-network-operator-master-e2e-gcp-ovn-upgrade/1364259570968432640 had a possible case where this happened, tighten the test.
^ no, bad