From cb1783590c93a828fa1545a9cd3b8674ef2bdf67 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 10 Nov 2016 16:22:31 -0500 Subject: [PATCH] Implement ipamconfig.subnet and be more explicit about restart policy always. Signed-off-by: Daniel Nephin --- command/stack/deploy.go | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/command/stack/deploy.go b/command/stack/deploy.go index f68ca85555..33dd15e5a7 100644 --- a/command/stack/deploy.go +++ b/command/stack/deploy.go @@ -178,13 +178,19 @@ func convertNetworks( Options: network.DriverOpts, } - if network.Ipam.Driver != "" { - createOpts.IPAM = &networktypes.IPAM{ - Driver: network.Ipam.Driver, - } + if network.Ipam.Driver != "" || len(network.Ipam.Config) > 0 { + createOpts.IPAM = &networktypes.IPAM{} } - // TODO: IPAMConfig.Config + if network.Ipam.Driver != "" { + createOpts.IPAM.Driver = network.Ipam.Driver + } + for _, ipamConfig := range network.Ipam.Config { + config := networktypes.IPAMConfig{ + Subnet: ipamConfig.Subnet, + } + createOpts.IPAM.Config = append(createOpts.IPAM.Config, config) + } result[internalName] = createOpts } @@ -523,8 +529,12 @@ func convertRestartPolicy(restart string, source *composetypes.RestartPolicy) (* } // TODO: is this an accurate convertion? switch { - case policy.IsNone(), policy.IsAlways(), policy.IsUnlessStopped(): + case policy.IsNone(): return nil, nil + case policy.IsAlways(), policy.IsUnlessStopped(): + return &swarm.RestartPolicy{ + Condition: swarm.RestartPolicyConditionAny, + }, nil case policy.IsOnFailure(): attempts := uint64(policy.MaximumRetryCount) return &swarm.RestartPolicy{