Skip to content

Commit 1f6ea04

Browse files
authored
Merge pull request kubernetes#74780 from pytimer/kubeadm-reduce
kubeadm: reduce some functions number of parameters
2 parents d62de16 + f600348 commit 1f6ea04

File tree

2 files changed

+17
-29
lines changed

2 files changed

+17
-29
lines changed

cmd/kubeadm/app/cmd/init.go

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ func NewCmdInit(out io.Writer, initOptions *initOptions) *cobra.Command {
140140
// adds flags to the init command
141141
// init command local flags could be eventually inherited by the sub-commands automatically generated for phases
142142
AddInitConfigFlags(cmd.Flags(), initOptions.externalcfg, &initOptions.featureGatesString)
143-
AddInitOtherFlags(cmd.Flags(), &initOptions.cfgPath, &initOptions.skipTokenPrint, &initOptions.dryRun, &initOptions.uploadCerts, &initOptions.ignorePreflightErrors)
143+
AddInitOtherFlags(cmd.Flags(), initOptions)
144144
initOptions.bto.AddTokenFlag(cmd.Flags())
145145
initOptions.bto.AddTTLFlag(cmd.Flags())
146146
options.AddImageMetaFlags(cmd.Flags(), &initOptions.externalcfg.ImageRepository)
@@ -225,27 +225,22 @@ func AddInitConfigFlags(flagSet *flag.FlagSet, cfg *kubeadmapiv1beta1.InitConfig
225225

226226
// AddInitOtherFlags adds init flags that are not bound to a configuration file to the given flagset
227227
// Note: All flags that are not bound to the cfg object should be allowed in cmd/kubeadm/app/apis/kubeadm/validation/validation.go
228-
func AddInitOtherFlags(
229-
flagSet *flag.FlagSet,
230-
cfgPath *string,
231-
skipTokenPrint, dryRun, uploadCerts *bool,
232-
ignorePreflightErrors *[]string,
233-
) {
234-
options.AddConfigFlag(flagSet, cfgPath)
228+
func AddInitOtherFlags(flagSet *flag.FlagSet, initOptions *initOptions) {
229+
options.AddConfigFlag(flagSet, &initOptions.cfgPath)
235230
flagSet.StringSliceVar(
236-
ignorePreflightErrors, options.IgnorePreflightErrors, *ignorePreflightErrors,
231+
&initOptions.ignorePreflightErrors, options.IgnorePreflightErrors, initOptions.ignorePreflightErrors,
237232
"A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.",
238233
)
239234
flagSet.BoolVar(
240-
skipTokenPrint, options.SkipTokenPrint, *skipTokenPrint,
235+
&initOptions.skipTokenPrint, options.SkipTokenPrint, initOptions.skipTokenPrint,
241236
"Skip printing of the default bootstrap token generated by 'kubeadm init'.",
242237
)
243238
flagSet.BoolVar(
244-
dryRun, options.DryRun, *dryRun,
239+
&initOptions.dryRun, options.DryRun, initOptions.dryRun,
245240
"Don't apply any changes; just output what would be done.",
246241
)
247242
flagSet.BoolVar(
248-
uploadCerts, options.UploadCerts, *uploadCerts,
243+
&initOptions.uploadCerts, options.UploadCerts, initOptions.uploadCerts,
249244
"Upload certfificates to kubeadm-certs secret.",
250245
)
251246
}
@@ -476,8 +471,8 @@ func (d *initData) Tokens() []string {
476471
return tokens
477472
}
478473

479-
func printJoinCommand(out io.Writer, adminKubeConfigPath, token, key string, skipTokenPrint, uploadCerts bool) error {
480-
joinCommand, err := cmdutil.GetJoinCommand(adminKubeConfigPath, token, key, skipTokenPrint, uploadCerts)
474+
func printJoinCommand(out io.Writer, adminKubeConfigPath, token string, i *initData) error {
475+
joinCommand, err := cmdutil.GetJoinCommand(adminKubeConfigPath, token, i.certificateKey, i.skipTokenPrint, i.uploadCerts)
481476
if err != nil {
482477
return err
483478
}
@@ -496,7 +491,7 @@ func showJoinCommand(i *initData, out io.Writer) error {
496491

497492
// Prints the join command, multiple times in case the user has multiple tokens
498493
for _, token := range i.Tokens() {
499-
if err := printJoinCommand(out, adminKubeConfigPath, token, i.certificateKey, i.skipTokenPrint, i.uploadCerts); err != nil {
494+
if err := printJoinCommand(out, adminKubeConfigPath, token, i); err != nil {
500495
return errors.Wrap(err, "failed to print join command")
501496
}
502497
}

cmd/kubeadm/app/cmd/join.go

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ func NewCmdJoin(out io.Writer, joinOptions *joinOptions) *cobra.Command {
195195
}
196196

197197
addJoinConfigFlags(cmd.Flags(), joinOptions.externalcfg)
198-
addJoinOtherFlags(cmd.Flags(), &joinOptions.cfgPath, &joinOptions.ignorePreflightErrors, &joinOptions.controlPlane, &joinOptions.token, &joinOptions.certificateKey)
198+
addJoinOtherFlags(cmd.Flags(), joinOptions)
199199

200200
joinRunner.AppendPhase(phases.NewPreflightPhase())
201201
joinRunner.AppendPhase(phases.NewControlPlanePreparePhase())
@@ -257,32 +257,25 @@ func addJoinConfigFlags(flagSet *flag.FlagSet, cfg *kubeadmapiv1beta1.JoinConfig
257257
}
258258

259259
// addJoinOtherFlags adds join flags that are not bound to a configuration file to the given flagset
260-
func addJoinOtherFlags(
261-
flagSet *flag.FlagSet,
262-
cfgPath *string,
263-
ignorePreflightErrors *[]string,
264-
controlPlane *bool,
265-
token *string,
266-
certificateKey *string,
267-
) {
260+
func addJoinOtherFlags(flagSet *flag.FlagSet, joinOptions *joinOptions) {
268261
flagSet.StringVar(
269-
cfgPath, options.CfgPath, *cfgPath,
262+
&joinOptions.cfgPath, options.CfgPath, joinOptions.cfgPath,
270263
"Path to kubeadm config file.",
271264
)
272265
flagSet.StringSliceVar(
273-
ignorePreflightErrors, options.IgnorePreflightErrors, *ignorePreflightErrors,
266+
&joinOptions.ignorePreflightErrors, options.IgnorePreflightErrors, joinOptions.ignorePreflightErrors,
274267
"A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.",
275268
)
276269
flagSet.StringVar(
277-
token, options.TokenStr, "",
270+
&joinOptions.token, options.TokenStr, "",
278271
"Use this token for both discovery-token and tls-bootstrap-token when those values are not provided.",
279272
)
280273
flagSet.BoolVar(
281-
controlPlane, options.ControlPlane, *controlPlane,
274+
&joinOptions.controlPlane, options.ControlPlane, joinOptions.controlPlane,
282275
"Create a new control plane instance on this node",
283276
)
284277
flagSet.StringVar(
285-
certificateKey, options.CertificateKey, "",
278+
&joinOptions.certificateKey, options.CertificateKey, "",
286279
"Use this key to decrypt the certificate secrets uploaded by init.",
287280
)
288281
}

0 commit comments

Comments
 (0)