kubeadm: Inherit dry-run flags for each sub-phases

- The sub-phases like `kubeadm reset phase cleanup-node` which
could be run independently would be able to support the `dry-run`
mode as well.

- Consistent with the sub-phases which support the `dry-run` mode
already, such as `kubeadm init phase control-plane apiserver`.

- Prepare for the day when each of those sub-phases could be run
independently.

Signed-off-by: Dave Chen <dave.chen@arm.com>
This commit is contained in:
Dave Chen 2022-10-10 11:34:06 +08:00
parent 575031b68f
commit 183a26f853
18 changed files with 24 additions and 2 deletions

View File

@ -127,6 +127,7 @@ func getAddonPhaseFlags(name string) []string {
options.KubeconfigPath, options.KubeconfigPath,
options.KubernetesVersion, options.KubernetesVersion,
options.ImageRepository, options.ImageRepository,
options.DryRun,
} }
if name == "all" || name == "kube-proxy" { if name == "all" || name == "kube-proxy" {
flags = append(flags, flags = append(flags,

View File

@ -56,6 +56,7 @@ func NewBootstrapTokenPhase() workflow.Phase {
options.CfgPath, options.CfgPath,
options.KubeconfigPath, options.KubeconfigPath,
options.SkipTokenPrint, options.SkipTokenPrint,
options.DryRun,
}, },
Run: runBootstrapToken, Run: runBootstrapToken,
} }

View File

@ -123,6 +123,7 @@ func getCertPhaseFlags(name string) []string {
options.CertificatesDir, options.CertificatesDir,
options.CfgPath, options.CfgPath,
options.KubernetesVersion, options.KubernetesVersion,
options.DryRun,
} }
if name == "all" || name == "apiserver" { if name == "all" || name == "apiserver" {
flags = append(flags, flags = append(flags,

View File

@ -72,6 +72,7 @@ func getEtcdPhaseFlags() []string {
options.CfgPath, options.CfgPath,
options.ImageRepository, options.ImageRepository,
options.Patches, options.Patches,
options.DryRun,
} }
return flags return flags
} }

View File

@ -105,6 +105,7 @@ func getKubeConfigPhaseFlags(name string) []string {
options.CfgPath, options.CfgPath,
options.KubeconfigDir, options.KubeconfigDir,
options.KubernetesVersion, options.KubernetesVersion,
options.DryRun,
} }
if name == "all" || name == kubeadmconstants.KubeletKubeConfigFileName { if name == "all" || name == kubeadmconstants.KubeletKubeConfigFileName {
flags = append(flags, flags = append(flags,

View File

@ -49,6 +49,7 @@ func NewKubeletStartPhase() workflow.Phase {
options.NodeCRISocket, options.NodeCRISocket,
options.NodeName, options.NodeName,
options.Patches, options.Patches,
options.DryRun,
}, },
} }
} }

View File

@ -51,14 +51,14 @@ func NewKubeletFinalizePhase() workflow.Phase {
{ {
Name: "all", Name: "all",
Short: "Run all kubelet-finalize phases", Short: "Run all kubelet-finalize phases",
InheritFlags: []string{options.CfgPath, options.CertificatesDir}, InheritFlags: []string{options.CfgPath, options.CertificatesDir, options.DryRun},
Example: kubeletFinalizePhaseExample, Example: kubeletFinalizePhaseExample,
RunAllSiblings: true, RunAllSiblings: true,
}, },
{ {
Name: "experimental-cert-rotation", Name: "experimental-cert-rotation",
Short: "Enable kubelet client certificate rotation", Short: "Enable kubelet client certificate rotation",
InheritFlags: []string{options.CfgPath, options.CertificatesDir}, InheritFlags: []string{options.CfgPath, options.CertificatesDir, options.DryRun},
Run: runKubeletFinalizeCertRotation, Run: runKubeletFinalizeCertRotation,
}, },
}, },

View File

@ -44,6 +44,7 @@ func NewMarkControlPlanePhase() workflow.Phase {
InheritFlags: []string{ InheritFlags: []string{
options.NodeName, options.NodeName,
options.CfgPath, options.CfgPath,
options.DryRun,
}, },
Run: runMarkControlPlane, Run: runMarkControlPlane,
} }

View File

@ -47,6 +47,7 @@ func NewPreflightPhase() workflow.Phase {
InheritFlags: []string{ InheritFlags: []string{
options.CfgPath, options.CfgPath,
options.IgnorePreflightErrors, options.IgnorePreflightErrors,
options.DryRun,
}, },
} }
} }

View File

@ -41,6 +41,7 @@ func NewUploadCertsPhase() workflow.Phase {
options.UploadCerts, options.UploadCerts,
options.CertificateKey, options.CertificateKey,
options.SkipCertificateKeyPrint, options.SkipCertificateKeyPrint,
options.DryRun,
}, },
} }
} }

View File

@ -97,6 +97,7 @@ func getUploadConfigPhaseFlags() []string {
return []string{ return []string{
options.CfgPath, options.CfgPath,
options.KubeconfigPath, options.KubeconfigPath,
options.DryRun,
} }
} }

View File

@ -48,6 +48,9 @@ func getControlPlaneJoinPhaseFlags(name string) []string {
if name != "mark-control-plane" { if name != "mark-control-plane" {
flags = append(flags, options.APIServerAdvertiseAddress) flags = append(flags, options.APIServerAdvertiseAddress)
} }
if name != "update-status" {
flags = append(flags, options.DryRun)
}
return flags return flags
} }

View File

@ -81,6 +81,7 @@ func getControlPlanePreparePhaseFlags(name string) []string {
options.TokenStr, options.TokenStr,
options.CertificateKey, options.CertificateKey,
options.Patches, options.Patches,
options.DryRun,
} }
case "download-certs": case "download-certs":
flags = []string{ flags = []string{
@ -93,6 +94,7 @@ func getControlPlanePreparePhaseFlags(name string) []string {
options.TLSBootstrapToken, options.TLSBootstrapToken,
options.TokenStr, options.TokenStr,
options.CertificateKey, options.CertificateKey,
options.DryRun,
} }
case "certs": case "certs":
flags = []string{ flags = []string{
@ -118,6 +120,7 @@ func getControlPlanePreparePhaseFlags(name string) []string {
options.TLSBootstrapToken, options.TLSBootstrapToken,
options.TokenStr, options.TokenStr,
options.CertificateKey, options.CertificateKey,
options.DryRun,
} }
case "control-plane": case "control-plane":
flags = []string{ flags = []string{
@ -126,6 +129,7 @@ func getControlPlanePreparePhaseFlags(name string) []string {
options.CfgPath, options.CfgPath,
options.ControlPlane, options.ControlPlane,
options.Patches, options.Patches,
options.DryRun,
} }
default: default:
flags = []string{} flags = []string{}

View File

@ -77,6 +77,7 @@ func NewKubeletStartPhase() workflow.Phase {
options.TLSBootstrapToken, options.TLSBootstrapToken,
options.TokenStr, options.TokenStr,
options.Patches, options.Patches,
options.DryRun,
}, },
} }
} }

View File

@ -76,6 +76,7 @@ func NewPreflightPhase() workflow.Phase {
options.TokenDiscoveryCAHash, options.TokenDiscoveryCAHash,
options.TokenDiscoverySkipCAHash, options.TokenDiscoverySkipCAHash,
options.CertificateKey, options.CertificateKey,
options.DryRun,
}, },
} }
} }

View File

@ -49,6 +49,7 @@ func NewCleanupNodePhase() workflow.Phase {
options.CertificatesDir, options.CertificatesDir,
options.NodeCRISocket, options.NodeCRISocket,
options.CleanupTmpDir, options.CleanupTmpDir,
options.DryRun,
}, },
} }
} }

View File

@ -40,6 +40,7 @@ func NewPreflightPhase() workflow.Phase {
InheritFlags: []string{ InheritFlags: []string{
options.IgnorePreflightErrors, options.IgnorePreflightErrors,
options.ForceReset, options.ForceReset,
options.DryRun,
}, },
} }
} }

View File

@ -44,6 +44,7 @@ func NewRemoveETCDMemberPhase() workflow.Phase {
Run: runRemoveETCDMemberPhase, Run: runRemoveETCDMemberPhase,
InheritFlags: []string{ InheritFlags: []string{
options.KubeconfigPath, options.KubeconfigPath,
options.DryRun,
}, },
} }
} }