From 0f2364f73cb051a102351b00cfc9e7ea545bbd22 Mon Sep 17 00:00:00 2001 From: Vincent Demeester Date: Mon, 5 Dec 2016 15:18:36 +0100 Subject: [PATCH] Handle logging in compose to swarm Logging configuration was completely ignore when deploy a compose file to swarm. This fixes it. Signed-off-by: Vincent Demeester (cherry picked from commit 806cc1e0f815d7c4e4b7bd4fa537e3d4c3535e23) Signed-off-by: Victor Vieux --- api/types/swarm/common.go | 6 ++++++ api/types/swarm/network.go | 6 ------ cli/command/stack/deploy.go | 9 +++++++++ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/api/types/swarm/common.go b/api/types/swarm/common.go index 589e2cfdf2..64a648bad1 100644 --- a/api/types/swarm/common.go +++ b/api/types/swarm/common.go @@ -19,3 +19,9 @@ type Annotations struct { Name string `json:",omitempty"` Labels map[string]string `json:",omitempty"` } + +// Driver represents a driver (network, logging). +type Driver struct { + Name string `json:",omitempty"` + Options map[string]string `json:",omitempty"` +} diff --git a/api/types/swarm/network.go b/api/types/swarm/network.go index 2ba5339117..5a5e11bdba 100644 --- a/api/types/swarm/network.go +++ b/api/types/swarm/network.go @@ -109,9 +109,3 @@ type IPAMConfig struct { Range string `json:",omitempty"` Gateway string `json:",omitempty"` } - -// Driver represents a network driver. -type Driver struct { - Name string `json:",omitempty"` - Options map[string]string `json:",omitempty"` -} diff --git a/cli/command/stack/deploy.go b/cli/command/stack/deploy.go index e7764f3b8d..1f41cb7d89 100644 --- a/cli/command/stack/deploy.go +++ b/cli/command/stack/deploy.go @@ -567,6 +567,14 @@ func convertService( return swarm.ServiceSpec{}, err } + var logDriver *swarm.Driver + if service.Logging != nil { + logDriver = &swarm.Driver{ + Name: service.Logging.Driver, + Options: service.Logging.Options, + } + } + serviceSpec := swarm.ServiceSpec{ Annotations: swarm.Annotations{ Name: name, @@ -589,6 +597,7 @@ func convertService( TTY: service.Tty, OpenStdin: service.StdinOpen, }, + LogDriver: logDriver, Resources: resources, RestartPolicy: restartPolicy, Placement: &swarm.Placement{