From ab1ca913ad9e66c67691affa4ba828f6c01e6e75 Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Thu, 28 Apr 2016 09:15:53 +0200 Subject: [PATCH] =?UTF-8?q?Introduce=20=E2=80=94swarm-join-opt=20to=20pass?= =?UTF-8?q?=20options=20to=20agent=20nodes=20Fixes=20#3285=20Fix=20regress?= =?UTF-8?q?ion=20introduced=20by=20PR=20#3287?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolas De Loof --- commands/create.go | 26 +++++++++++++++---------- libmachine/provision/configure_swarm.go | 2 +- libmachine/swarm/swarm.go | 25 ++++++++++++------------ 3 files changed, 30 insertions(+), 23 deletions(-) diff --git a/commands/create.go b/commands/create.go index e15aa6e374..4db9358308 100644 --- a/commands/create.go +++ b/commands/create.go @@ -105,7 +105,12 @@ var ( }, cli.StringSliceFlag{ Name: "swarm-opt", - Usage: "Define arbitrary flags for swarm", + Usage: "Define arbitrary flags for Swarm master", + Value: &cli.StringSlice{}, + }, + cli.StringSliceFlag{ + Name: "swarm-join-opt", + Usage: "Define arbitrary flags for Swarm join", Value: &cli.StringSlice{}, }, cli.StringFlag{ @@ -188,15 +193,16 @@ func cmdCreateInner(c CommandLine, api libmachine.API) error { InstallURL: c.String("engine-install-url"), }, SwarmOptions: &swarm.Options{ - IsSwarm: c.Bool("swarm"), - Image: c.String("swarm-image"), - Master: c.Bool("swarm-master"), - Discovery: c.String("swarm-discovery"), - Address: c.String("swarm-addr"), - Host: c.String("swarm-host"), - Strategy: c.String("swarm-strategy"), - ArbitraryFlags: c.StringSlice("swarm-opt"), - IsExperimental: c.Bool("swarm-experimental"), + IsSwarm: c.Bool("swarm"), + Image: c.String("swarm-image"), + Master: c.Bool("swarm-master"), + Discovery: c.String("swarm-discovery"), + Address: c.String("swarm-addr"), + Host: c.String("swarm-host"), + Strategy: c.String("swarm-strategy"), + ArbitraryFlags: c.StringSlice("swarm-opt"), + ArbitraryJoinFlags: c.StringSlice("swarm-join-opt"), + IsExperimental: c.Bool("swarm-experimental"), }, } diff --git a/libmachine/provision/configure_swarm.go b/libmachine/provision/configure_swarm.go index 501d77d7a7..4243b990c2 100644 --- a/libmachine/provision/configure_swarm.go +++ b/libmachine/provision/configure_swarm.go @@ -124,7 +124,7 @@ func configureSwarm(p Provisioner, swarmOptions swarm.Options, authOptions auth. "--advertise", advertiseInfo, } - for _, option := range swarmOptions.ArbitraryFlags { + for _, option := range swarmOptions.ArbitraryJoinFlags { cmdWorker = append(cmdWorker, "--"+option) } cmdWorker = append(cmdWorker, swarmOptions.Discovery) diff --git a/libmachine/swarm/swarm.go b/libmachine/swarm/swarm.go index 14423fccb9..ac2025aea1 100644 --- a/libmachine/swarm/swarm.go +++ b/libmachine/swarm/swarm.go @@ -5,16 +5,17 @@ const ( ) type Options struct { - IsSwarm bool - Address string - Discovery string - Master bool - Host string - Image string - Strategy string - Heartbeat int - Overcommit float64 - ArbitraryFlags []string - Env []string - IsExperimental bool + IsSwarm bool + Address string + Discovery string + Master bool + Host string + Image string + Strategy string + Heartbeat int + Overcommit float64 + ArbitraryFlags []string + ArbitraryJoinFlags []string + Env []string + IsExperimental bool }