Merge pull request #25308 from thaJeztah/join-token-refactor
Improve swarm join-token instructions Upstream-commit: 3d28cdd2f5e91e042848321de4cc4dff6735d84d Component: engine
This commit is contained in:
@ -72,5 +72,10 @@ func runInit(dockerCli *client.DockerCli, flags *pflag.FlagSet, opts initOptions
|
||||
|
||||
fmt.Fprintf(dockerCli.Out(), "Swarm initialized: current node (%s) is now a manager.\n\n", nodeID)
|
||||
|
||||
return printJoinCommand(ctx, dockerCli, nodeID, true, true)
|
||||
if err := printJoinCommand(ctx, dockerCli, nodeID, true, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Fprint(dockerCli.Out(), "To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.\n\n")
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -12,11 +12,6 @@ import (
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
||||
const (
|
||||
flagRotate = "rotate"
|
||||
flagQuiet = "quiet"
|
||||
)
|
||||
|
||||
func newJoinTokenCommand(dockerCli *client.DockerCli) *cobra.Command {
|
||||
var rotate, quiet bool
|
||||
|
||||
@ -25,7 +20,10 @@ func newJoinTokenCommand(dockerCli *client.DockerCli) *cobra.Command {
|
||||
Short: "Manage join tokens",
|
||||
Args: cli.ExactArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
if args[0] != "worker" && args[0] != "manager" {
|
||||
worker := args[0] == "worker"
|
||||
manager := args[0] == "manager"
|
||||
|
||||
if !worker && !manager {
|
||||
return errors.New("unknown role " + args[0])
|
||||
}
|
||||
|
||||
@ -40,16 +38,16 @@ func newJoinTokenCommand(dockerCli *client.DockerCli) *cobra.Command {
|
||||
return err
|
||||
}
|
||||
|
||||
if args[0] == "worker" {
|
||||
flags.RotateWorkerToken = true
|
||||
} else if args[0] == "manager" {
|
||||
flags.RotateManagerToken = true
|
||||
}
|
||||
flags.RotateWorkerToken = worker
|
||||
flags.RotateManagerToken = manager
|
||||
|
||||
err = client.SwarmUpdate(ctx, swarm.Version, swarm.Spec, flags)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !quiet {
|
||||
fmt.Fprintf(dockerCli.Out(), "Succesfully rotated %s join token.\n\n", args[0])
|
||||
}
|
||||
}
|
||||
|
||||
swarm, err := client.SwarmInspect(ctx)
|
||||
@ -58,9 +56,9 @@ func newJoinTokenCommand(dockerCli *client.DockerCli) *cobra.Command {
|
||||
}
|
||||
|
||||
if quiet {
|
||||
if args[0] == "worker" {
|
||||
if worker {
|
||||
fmt.Fprintln(dockerCli.Out(), swarm.JoinTokens.Worker)
|
||||
} else if args[0] == "manager" {
|
||||
} else {
|
||||
fmt.Fprintln(dockerCli.Out(), swarm.JoinTokens.Manager)
|
||||
}
|
||||
} else {
|
||||
@ -68,7 +66,7 @@ func newJoinTokenCommand(dockerCli *client.DockerCli) *cobra.Command {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return printJoinCommand(ctx, dockerCli, info.Swarm.NodeID, args[0] == "worker", args[0] == "manager")
|
||||
return printJoinCommand(ctx, dockerCli, info.Swarm.NodeID, worker, manager)
|
||||
}
|
||||
return nil
|
||||
},
|
||||
@ -96,13 +94,10 @@ func printJoinCommand(ctx context.Context, dockerCli *client.DockerCli, nodeID s
|
||||
|
||||
if node.ManagerStatus != nil {
|
||||
if worker {
|
||||
fmt.Fprintf(dockerCli.Out(), "To add a worker to this swarm, run the following command:\n docker swarm join \\\n --token %s \\\n %s\n", swarm.JoinTokens.Worker, node.ManagerStatus.Addr)
|
||||
fmt.Fprintf(dockerCli.Out(), "To add a worker to this swarm, run the following command:\n\n docker swarm join \\\n --token %s \\\n %s\n\n", swarm.JoinTokens.Worker, node.ManagerStatus.Addr)
|
||||
}
|
||||
if manager {
|
||||
if worker {
|
||||
fmt.Fprintln(dockerCli.Out())
|
||||
}
|
||||
fmt.Fprintf(dockerCli.Out(), "To add a manager to this swarm, run the following command:\n docker swarm join \\\n --token %s \\\n %s\n", swarm.JoinTokens.Manager, node.ManagerStatus.Addr)
|
||||
fmt.Fprintf(dockerCli.Out(), "To add a manager to this swarm, run the following command:\n\n docker swarm join \\\n --token %s \\\n %s\n\n", swarm.JoinTokens.Manager, node.ManagerStatus.Addr)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -19,6 +19,8 @@ const (
|
||||
flagDispatcherHeartbeat = "dispatcher-heartbeat"
|
||||
flagListenAddr = "listen-addr"
|
||||
flagAdvertiseAddr = "advertise-addr"
|
||||
flagQuiet = "quiet"
|
||||
flagRotate = "rotate"
|
||||
flagToken = "token"
|
||||
flagTaskHistoryLimit = "task-history-limit"
|
||||
flagExternalCA = "external-ca"
|
||||
|
||||
Reference in New Issue
Block a user