-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Inefficient wait for all clusteroperators #7535
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
Conversation
|
/retest |
|
/test e2e-vsphere-ovn |
r4f4
left a comment
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.
Suggested some changes to use the new set syntax (using Go generics). Other than that, I think I prefer this version since it's much easier to understand and maintain.
I don't think the "inefficiency" is an issue since all we're doing is to wait for the operators anyway.
cmd/openshift-install/create.go
Outdated
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.
| logrus.Debug("These cluster operators were stable: [%s]", strings.Join(stableOperators.List(), ", ")) | |
| logrus.Debugf("These cluster operators were stable: [%s]", strings.Join(sets.List(stableOperators), ", ")) |
cmd/openshift-install/create.go
Outdated
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.
| previouslyStableOperators := sets.String{} | |
| previouslyStableOperators := sets.New[string]() |
cmd/openshift-install/create.go
Outdated
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.
| func currentOperatorStability(clusterOperatorLister configlisters.ClusterOperatorLister) (sets.String, sets.String, error) { | |
| func currentOperatorStability(clusterOperatorLister configlisters.ClusterOperatorLister) (sets.Set[string], sets.Set[string], error) { |
cmd/openshift-install/create.go
Outdated
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.
| stableOperators := sets.String{} | |
| unstableOperators := sets.String{} | |
| stableOperators := sets.New[string]() | |
| unstableOperators := sets.New[string]() |
cmd/openshift-install/create.go
Outdated
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.
| for _, name := range newlyStableOperators.List() { | |
| for _, name := range sets.List(newlyStableOperators) { |
cmd/openshift-install/create.go
Outdated
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.
| for _, name := range newlyUnstableOperators.List() { | |
| for _, name := range sets.List(newlyUnstableOperators) { |
cmd/openshift-install/create.go
Outdated
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.
| logrus.Errorf("These cluster operators were not stable: [%s]", strings.Join(unstableOperators.List(), ", ")) | |
| logrus.Errorf("These cluster operators were not stable: [%s]", strings.Join(sets.List(unstableOperators), ", ")) |
|
the generic set doesn't have an ordered |
I see. Very nice. Didn't know that was a thing |
6893f22 to
8d25977
Compare
|
/test e2e-vsphere-ovn |
|
/cc @patrickdillon |
|
I'm waiting for the CI results to stamp it, but LGTM. |
|
With a deadline of 1 minute for all operators to reach stable in #7538, we can see the output in case of failure /lgtm |
|
/payload 4.15 nightly informing |
|
@r4f4: trigger 62 job(s) of type informing for the nightly release of OCP 4.15
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/a27c9130-5f02-11ee-9880-d88f52ff8b23-0 |
This reverts commit 017b4f0.
r4f4
left a comment
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
|
|
||
| // waitForStableOperators ensures that each cluster operator is "stable", i.e. the | ||
| // operator has not been in a progressing state for at least a certain duration, | ||
| // 30 seconds by default. Returns an error if any operator does meet this threshold |
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.
| // 30 seconds by default. Returns an error if any operator does meet this threshold | |
| // 30 seconds by default. Returns an error if any operator does not meet this threshold |
right?
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: patrickdillon The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@deads2k: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
/hold Revision 94c54e0 was retested 3 times: holding |
|
/hold cancel |
|
/test okd-scos-images |
|
@deads2k: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
while looking at #7525 and weighing code complexity versus efficient, this may be worth the inefficiency for understandability. It's an option, not a requirement and I do recognize that it's closer to the original than the efficient.