From dbb82ba99a3b987db0bc25d2825a173e5d6094cf Mon Sep 17 00:00:00 2001 From: fabriziopandini Date: Tue, 4 Jun 2019 14:57:30 +0200 Subject: [PATCH] fix-kubeadm-upgrade-node --- cmd/kubeadm/app/cmd/options/constant.go | 6 ++++++ cmd/kubeadm/app/cmd/phases/upgrade/node/controlplane.go | 2 ++ cmd/kubeadm/app/cmd/upgrade/node.go | 6 ++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/cmd/kubeadm/app/cmd/options/constant.go b/cmd/kubeadm/app/cmd/options/constant.go index 7fc8a5c13b..6934009dff 100644 --- a/cmd/kubeadm/app/cmd/options/constant.go +++ b/cmd/kubeadm/app/cmd/options/constant.go @@ -141,4 +141,10 @@ const ( // ForceReset flag instruct kubeadm to reset the node without prompting for confirmation ForceReset = "force" + + // CertificateRenewal flag instruct kubeadm to execute certificate renewal during upgrades + CertificateRenewal = "certificate-renewal" + + // EtcdUpgrade flag instruct kubeadm to execute etcd upgrade during upgrades + EtcdUpgrade = "etcd-upgrade" ) diff --git a/cmd/kubeadm/app/cmd/phases/upgrade/node/controlplane.go b/cmd/kubeadm/app/cmd/phases/upgrade/node/controlplane.go index 171d821fd7..9f213d48e5 100644 --- a/cmd/kubeadm/app/cmd/phases/upgrade/node/controlplane.go +++ b/cmd/kubeadm/app/cmd/phases/upgrade/node/controlplane.go @@ -37,6 +37,8 @@ func NewControlPlane() workflow.Phase { InheritFlags: []string{ options.DryRun, options.KubeconfigPath, + options.CertificateRenewal, + options.EtcdUpgrade, }, } return phase diff --git a/cmd/kubeadm/app/cmd/upgrade/node.go b/cmd/kubeadm/app/cmd/upgrade/node.go index e1af80754b..4717f185e3 100644 --- a/cmd/kubeadm/app/cmd/upgrade/node.go +++ b/cmd/kubeadm/app/cmd/upgrade/node.go @@ -116,6 +116,8 @@ func addUpgradeNodeFlags(flagSet *flag.FlagSet, nodeOptions *nodeOptions) { options.AddKubeConfigFlag(flagSet, &nodeOptions.kubeConfigPath) flagSet.BoolVar(&nodeOptions.dryRun, options.DryRun, nodeOptions.dryRun, "Do not change any state, just output the actions that would be performed.") flagSet.StringVar(&nodeOptions.kubeletVersion, options.KubeletVersion, nodeOptions.kubeletVersion, "The *desired* version for the kubelet config after the upgrade. If not specified, the KubernetesVersion from the kubeadm-config ConfigMap will be used") + flagSet.BoolVar(&nodeOptions.renewCerts, options.CertificateRenewal, nodeOptions.renewCerts, "Perform the renewal of certificates used by component changed during upgrades.") + flagSet.BoolVar(&nodeOptions.etcdUpgrade, options.EtcdUpgrade, nodeOptions.etcdUpgrade, "Perform the upgrade of etcd.") } // newNodeData returns a new nodeData struct to be used for the execution of the kubeadm upgrade node workflow. @@ -247,8 +249,8 @@ func NewCmdUpgradeControlPlane() *cobra.Command { // adds flags to the node command options.AddKubeConfigFlag(cmd.Flags(), &nodeOptions.kubeConfigPath) cmd.Flags().BoolVar(&nodeOptions.dryRun, options.DryRun, nodeOptions.dryRun, "Do not change any state, just output the actions that would be performed.") - cmd.Flags().BoolVar(&nodeOptions.etcdUpgrade, "etcd-upgrade", nodeOptions.etcdUpgrade, "Perform the upgrade of etcd.") - cmd.Flags().BoolVar(&nodeOptions.renewCerts, "certificate-renewal", nodeOptions.renewCerts, "Perform the renewal of certificates used by component changed during upgrades.") + cmd.Flags().BoolVar(&nodeOptions.etcdUpgrade, options.EtcdUpgrade, nodeOptions.etcdUpgrade, "Perform the upgrade of etcd.") + cmd.Flags().BoolVar(&nodeOptions.renewCerts, options.CertificateRenewal, nodeOptions.renewCerts, "Perform the renewal of certificates used by component changed during upgrades.") // initialize the workflow runner with the list of phases nodeRunner.AppendPhase(phases.NewControlPlane())