Restore machine readability to the print-join-command output

The output of `kubeadm token create --print-join-command` should be
usable by batch scripts. This issue was pointed out in:

https://github.com/kubernetes/kubeadm/issues/1454
pull/564/head
Marques Johansson 2019-03-19 17:27:37 -04:00 committed by Lubomir I. Ivanov
parent 5052da0e84
commit 6af50b9519
1 changed files with 3 additions and 1 deletions

View File

@ -225,7 +225,7 @@ func RunCreateToken(out io.Writer, client clientset.Interface, cfgPath string, c
return err return err
} }
// if --print-join-command was specified, print the full `kubeadm join` command // if --print-join-command was specified, print a machine-readable full `kubeadm join` command
// otherwise, just print the token // otherwise, just print the token
if printJoinCommand { if printJoinCommand {
skipTokenPrint := false skipTokenPrint := false
@ -233,6 +233,8 @@ func RunCreateToken(out io.Writer, client clientset.Interface, cfgPath string, c
if err != nil { if err != nil {
return errors.Wrap(err, "failed to get join command") return errors.Wrap(err, "failed to get join command")
} }
joinCommand = strings.ReplaceAll(joinCommand, "\\\n", "")
joinCommand = strings.ReplaceAll(joinCommand, "\t", "")
fmt.Fprintln(out, joinCommand) fmt.Fprintln(out, joinCommand)
} else { } else {
fmt.Fprintln(out, internalcfg.BootstrapTokens[0].Token.String()) fmt.Fprintln(out, internalcfg.BootstrapTokens[0].Token.String())