From 99544a4cb02f8923e7d52547006575c7f3afb11e Mon Sep 17 00:00:00 2001 From: Anurag Gupta Date: Wed, 5 Aug 2015 08:17:51 +0000 Subject: [PATCH 1/2] Add Azure Swarm Master Port endpoint configuration when using docker machine. Signed-off-by: Anurag Gupta --- drivers/azure/azure.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/drivers/azure/azure.go b/drivers/azure/azure.go index 58d24fa926..2ecfa8aadc 100644 --- a/drivers/azure/azure.go +++ b/drivers/azure/azure.go @@ -28,6 +28,7 @@ type Driver struct { UserPassword string Image string DockerPort int + DockerSwarmMasterPort int } func init() { @@ -46,6 +47,11 @@ func GetCreateFlags() []cli.Flag { Usage: "Azure Docker port", Value: 2376, }, + cli.IntFlag{ + Name: "azure-docker-swarm-master-port", + Usage: "Azure Docker Swarm master port", + Value: 3376, + }, cli.StringFlag{ EnvVar: "AZURE_IMAGE", Name: "azure-image", @@ -160,6 +166,7 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.SSHUser = username d.UserPassword = flags.String("azure-password") d.DockerPort = flags.Int("azure-docker-port") + d.DockerSwarmMasterPort = flags.Int("azure-docker-swarm-master-port") d.SSHPort = flags.Int("azure-ssh-port") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") @@ -209,7 +216,7 @@ func (d *Driver) Create() error { } log.Debug("Authorizing ports...") - if err := d.addDockerEndpoint(vmConfig); err != nil { + if err := d.addDockerEndpoints(vmConfig); err != nil { return err } @@ -372,7 +379,7 @@ func (d *Driver) setUserSubscription() error { return azure.ImportPublishSettings(d.SubscriptionID, d.SubscriptionCert) } -func (d *Driver) addDockerEndpoint(vmConfig *vmClient.Role) error { +func (d *Driver) addDockerEndpoints(vmConfig *vmClient.Role) error { configSets := vmConfig.ConfigurationSets.ConfigurationSet if len(configSets) == 0 { return errors.New("no configuration set") @@ -386,6 +393,15 @@ func (d *Driver) addDockerEndpoint(vmConfig *vmClient.Role) error { Protocol: "tcp", Port: d.DockerPort, LocalPort: d.DockerPort} + if d.SwarmMaster == true { + swarm_ep := vmClient.InputEndpoint{ + Name: "docker swarm", + Protocol: "tcp", + Port: d.DockerSwarmMasterPort, + LocalPort: d.DockerSwarmMasterPort} + configSets[i].InputEndpoints.InputEndpoint = append(configSets[i].InputEndpoints.InputEndpoint, swarm_ep) + log.Debugf("added Docker swarm master endpoint (port %d) to configuration", d.DockerSwarmMasterPort) + } configSets[i].InputEndpoints.InputEndpoint = append(configSets[i].InputEndpoints.InputEndpoint, ep) log.Debugf("added Docker endpoint (port %d) to configuration", d.DockerPort) } From 938290f77352cb221bce6947ccc3cbb8fe98e26b Mon Sep 17 00:00:00 2001 From: Anurag Gupta Date: Thu, 6 Aug 2015 18:32:30 +0000 Subject: [PATCH 2/2] removed extra code and fixed code formatting in azure addDockerEndpoint Signed-off-by: Anurag Gupta --- drivers/azure/azure.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/azure/azure.go b/drivers/azure/azure.go index 2ecfa8aadc..f92fd1bcf6 100644 --- a/drivers/azure/azure.go +++ b/drivers/azure/azure.go @@ -392,13 +392,15 @@ func (d *Driver) addDockerEndpoints(vmConfig *vmClient.Role) error { Name: "docker", Protocol: "tcp", Port: d.DockerPort, - LocalPort: d.DockerPort} - if d.SwarmMaster == true { + LocalPort: d.DockerPort, + } + if d.SwarmMaster { swarm_ep := vmClient.InputEndpoint{ Name: "docker swarm", Protocol: "tcp", Port: d.DockerSwarmMasterPort, - LocalPort: d.DockerSwarmMasterPort} + LocalPort: d.DockerSwarmMasterPort, + } configSets[i].InputEndpoints.InputEndpoint = append(configSets[i].InputEndpoints.InputEndpoint, swarm_ep) log.Debugf("added Docker swarm master endpoint (port %d) to configuration", d.DockerSwarmMasterPort) }