MCO-795: MCO-813: MCO-473: Implement Upgrade-Monitor, FeatureGate, and MachineConfigNode types#4012
Conversation
|
@cdoern: This pull request references MCO-795 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.15.0" version, but no target version was set. DetailsIn response to this:
Instructions 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. |
|
Skipping CI for Draft Pull Request. |
|
/test all |
f3f0c93 to
ca70e5b
Compare
|
/test all |
320d186 to
1847ca4
Compare
81efddb to
709479c
Compare
a1c792f to
c13931c
Compare
|
/test e2e-gcp-op-layering |
|
/test e2e-hypershift |
|
Just as an additional check /payload 4.15 nightly blocking |
|
@yuqi-zhang: trigger 8 job(s) of type blocking for the nightly release of OCP 4.15
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/a4ed3ea0-8e0b-11ee-8a72-8acacfea252e-0 |
yuqi-zhang
left a comment
There was a problem hiding this comment.
Some more comments and cleanups
|
after review I tested following scenarios:
/label qe-approved |
|
@cdoern: This pull request references MCO-795 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.15.0" version, but no target version was set. DetailsIn response to this:
Instructions 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. |
Signed-off-by: Charlie Doern <cdoern@redhat.com>
|
/test unit |
1 similar comment
|
/test unit |
|
/hold cancel |
|
I believe the major concerns have been addressed. Given that:
I think we're ready to merge this and follow-up the remaining points. Thanks for the hard work everyone! /lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cdoern, yuqi-zhang 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 |
|
@cdoern: all tests passed! 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. |
|
[ART PR BUILD NOTIFIER] This PR has been included in build openshift-proxy-pull-test-container-v4.15.0-202311290209.p0.g42ccb1a.assembly.stream for distgit openshift-proxy-pull-test. |
This introduces the management of the MachineConfigNode in techpreview.
MachineConfigNodes are per-node entities similar to the MachineConfigPool. Splitting state reporting into a per node basis allows users to see granular detail about what nodes are doing during an upgrade process.
The MCN data can be retrieved via
oc get machineconfignodesand more information about conditions related to these nodes can be found inoc describe machineconfignodes. The state reporting here follows the metav1.Condition datatype where each "phase" of a node upgrade as it pertains to the MCO is tracked in a condition as well a printed as True/False/Unknown inoc get machineconfgnodes -o wide.This datatype leaves the door open for more per node configuration as the only information in the spec is a node and pool reference currently.
A few things about MachineConfigNodes that a reviewer should know:
spec.configVersion.desiredConfigis always up to date with what the user wants. However, thestatus.configVersion.desiredConfigis only updated once the newly specified spec entity is validated in the MCO as a valid MCO and the MachineConfig-Diff is permitted.where each parent phase goes through a false phase indicating nothing has happened yet, an unknown phase indicating the phase is in progress or has errored and a true phase indicating that this part of the update is complete.
Each parent phase is associated with 0+ children phases that can be shown via
oc get machineconfignodes -o wide