-
Notifications
You must be signed in to change notification settings - Fork 39.7k
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
kubeadm: implementation of UpgradeConfiguration
API types
#114062
Conversation
Please note that we're already in Test Freeze for the Fast forwards are scheduled to happen every 6 hours, whereas the most recent run was: Tue Nov 22 03:29:08 UTC 2022. |
@chendave: This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The 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. |
/hold
|
a0b4567
to
d230a11
Compare
Just took some time to rebase, and also cc to all active contributor to level up the visibility. @pacoxu @SataQiu @neolit123 Basically, the change to support resetCfg (#113583) and the upgradeCfg (#114062) is ready. I understood we still need to wait for new API ready or well prepared in the advance, I would appreciated for any early review / comments for those two change. |
d230a11
to
28b2123
Compare
If I understand correctly, the comments in https://docs.google.com/document/d/1R4zLtgDadNM8_N2VzS0DI2mADcYmkyJ3L7lJVpbyZsA/edit# shows that we should add new API in new API version v1beta4. |
yes, migrate to the new API should be easy. |
Do you mean that we can start reviewing this PR now or we should wait until this is migrated to the new API? |
@pacoxu pls help to review if you have some bandwidth or else it is fine to defer this to a future release cycle. AFAIK, this is not targeted for any version yet. |
Yes, v1beta3 is locked and new features cannot be added. Maybe we should first update KEP: https://github.com/kubernetes/enhancements/tree/master/keps/sig-cluster-lifecycle/kubeadm/970-kubeadm-config |
update 10/20/23
Overall, the big change for this update is refactoring, I did my best to make those changes easier to review. @neolit123 @pacoxu @SataQiu PTAL when you got a chance, thanks! |
/retest-required |
a908660
to
50703c8
Compare
klog.V(1).Info("running preflight checks") | ||
if err := runPreflightChecks(client, ignorePreflightErrorsSet, printer); err != nil { | ||
return nil, nil, nil, err | ||
} |
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.
this diff is necessary, I must move this code block up before the call to FetchInitConfigurationFromCluster
, so that the interaction with cluster will not happen, this is because some testcases want to check the logic around this runPreflightChecks
.
see this testcase:
cmd/kubeadm/app/cmd/upgrade TestEnforceRequirements/Fail_pre-flight_check
and the log from here: https://storage.googleapis.com/kubernetes-jenkins/pr-logs/pull/114062/pull-kubernetes-unit/1715315999886020608/build-log.txt
Signed-off-by: Dave Chen <dave.chen@arm.com>
Signed-off-by: Dave Chen <dave.chen@arm.com>
50703c8
to
6720bd4
Compare
…ration` Instead of load from config file to populate `InitConfiguration`, the config file is expected to hold the config for upgrade only. The old logic is that if the config file has "initConfiguration/ ClusterConfiguration" defined, then it assumes that user wants to reconfigure the cluster based on the new configuration. upgrade itself should be non-mutable, so the logic to `reconfigure` will not be supported, and the init config should be fetched from cluster instead. Signed-off-by: Dave Chen <dave.chen@arm.com>
The function use to load "InitConfiguration/ClusterConfiguration/ componentConfig" from a config file, now that we have a `upgradeConfiguration` API, the function `loadConfig` can be removed now. Signed-off-by: Dave Chen <dave.chen@arm.com>
Those constants will be used for `kubeadm upgrade plan` or `kubeadm upgrade apply` Signed-off-by: Dave Chen <dave.chen@arm.com>
Signed-off-by: Dave Chen <dave.chen@arm.com>
6720bd4
to
f6a4f50
Compare
Signed-off-by: Dave Chen <dave.chen@arm.com>
Signed-off-by: Dave Chen <dave.chen@arm.com>
…f/node` Signed-off-by: Dave Chen <dave.chen@arm.com>
f6a4f50
to
bca3e14
Compare
PR needs rebase. 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. |
Just note I don't have time on this at the moment, someone else can help to continue the efforts as it's pretty close I believe, or else I can come back to this when some mess from me are all settled. |
@chendave I'm interested in this, can I work on this? |
closing in favor of #123068 |
/close |
@neolit123: Closed this PR. In 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: Dave Chen dave.chen@arm.com
/kind feature
What type of PR is this?
What this PR does / why we need it:
Which issue(s) this PR fixes:
Part of #kubernetes/kubeadm#2489
Part of #kubernetes/kubeadm#2890
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
TODO: