From 7cdcffc8da70b4704dd607728acc92516eff0923 Mon Sep 17 00:00:00 2001 From: Arash Deshmeh Date: Wed, 13 Jun 2018 12:10:02 -0400 Subject: [PATCH 1/2] create service integration tests use network package Signed-off-by: Arash Deshmeh Upstream-commit: ad46a1f5e7e82b882390c2974a52faa06c5b8cb2 Component: engine --- .../integration/internal/network/ops.go | 7 +++ .../engine/integration/service/create_test.go | 51 ++++++++----------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/components/engine/integration/internal/network/ops.go b/components/engine/integration/internal/network/ops.go index f7639ff307..665537039f 100644 --- a/components/engine/integration/internal/network/ops.go +++ b/components/engine/integration/internal/network/ops.go @@ -19,6 +19,13 @@ func WithIPv6() func(*types.NetworkCreate) { } } +// WithCheckDuplicate enables CheckDuplicate on the create network request +func WithCheckDuplicate() func(*types.NetworkCreate) { + return func(n *types.NetworkCreate) { + n.CheckDuplicate = true + } +} + // WithMacvlan sets the network as macvlan with the specified parent func WithMacvlan(parent string) func(*types.NetworkCreate) { return func(n *types.NetworkCreate) { diff --git a/components/engine/integration/service/create_test.go b/components/engine/integration/service/create_test.go index cc5ef9956f..a89ae0a172 100644 --- a/components/engine/integration/service/create_test.go +++ b/components/engine/integration/service/create_test.go @@ -11,6 +11,7 @@ import ( "github.com/docker/docker/api/types/filters" swarmtypes "github.com/docker/docker/api/types/swarm" "github.com/docker/docker/client" + "github.com/docker/docker/integration/internal/network" "github.com/docker/docker/integration/internal/swarm" "github.com/docker/docker/internal/test/daemon" "gotest.tools/assert" @@ -78,14 +79,10 @@ func TestCreateServiceMultipleTimes(t *testing.T) { defer client.Close() overlayName := "overlay1_" + t.Name() - networkCreate := types.NetworkCreate{ - CheckDuplicate: true, - Driver: "overlay", - } - - netResp, err := client.NetworkCreate(context.Background(), overlayName, networkCreate) - assert.NilError(t, err) - overlayID := netResp.ID + overlayID := network.CreateNoError(t, context.Background(), client, overlayName, + network.WithCheckDuplicate(), + network.WithDriver("overlay"), + ) var instances uint64 = 4 @@ -99,7 +96,7 @@ func TestCreateServiceMultipleTimes(t *testing.T) { serviceID := swarm.CreateService(t, d, serviceSpec...) poll.WaitOn(t, serviceRunningTasksCount(client, serviceID, instances), swarm.ServicePoll) - _, _, err = client.ServiceInspectWithRaw(context.Background(), serviceID, types.ServiceInspectOptions{}) + _, _, err := client.ServiceInspectWithRaw(context.Background(), serviceID, types.ServiceInspectOptions{}) assert.NilError(t, err) err = client.ServiceRemove(context.Background(), serviceID) @@ -131,21 +128,17 @@ func TestCreateWithDuplicateNetworkNames(t *testing.T) { defer client.Close() name := "foo_" + t.Name() - networkCreate := types.NetworkCreate{ - CheckDuplicate: false, - Driver: "bridge", - } - - n1, err := client.NetworkCreate(context.Background(), name, networkCreate) - assert.NilError(t, err) - - n2, err := client.NetworkCreate(context.Background(), name, networkCreate) - assert.NilError(t, err) + n1 := network.CreateNoError(t, context.Background(), client, name, + network.WithDriver("bridge"), + ) + n2 := network.CreateNoError(t, context.Background(), client, name, + network.WithDriver("bridge"), + ) // Dupliates with name but with different driver - networkCreate.Driver = "overlay" - n3, err := client.NetworkCreate(context.Background(), name, networkCreate) - assert.NilError(t, err) + n3 := network.CreateNoError(t, context.Background(), client, name, + network.WithDriver("overlay"), + ) // Create Service with the same name var instances uint64 = 1 @@ -161,7 +154,7 @@ func TestCreateWithDuplicateNetworkNames(t *testing.T) { resp, _, err := client.ServiceInspectWithRaw(context.Background(), serviceID, types.ServiceInspectOptions{}) assert.NilError(t, err) - assert.Check(t, is.Equal(n3.ID, resp.Spec.TaskTemplate.Networks[0].Target)) + assert.Check(t, is.Equal(n3, resp.Spec.TaskTemplate.Networks[0].Target)) // Remove Service err = client.ServiceRemove(context.Background(), serviceID) @@ -171,19 +164,19 @@ func TestCreateWithDuplicateNetworkNames(t *testing.T) { poll.WaitOn(t, serviceIsRemoved(client, serviceID), swarm.ServicePoll) // Remove networks - err = client.NetworkRemove(context.Background(), n3.ID) + err = client.NetworkRemove(context.Background(), n3) assert.NilError(t, err) - err = client.NetworkRemove(context.Background(), n2.ID) + err = client.NetworkRemove(context.Background(), n2) assert.NilError(t, err) - err = client.NetworkRemove(context.Background(), n1.ID) + err = client.NetworkRemove(context.Background(), n1) assert.NilError(t, err) // Make sure networks have been destroyed. - poll.WaitOn(t, networkIsRemoved(client, n3.ID), poll.WithTimeout(1*time.Minute), poll.WithDelay(10*time.Second)) - poll.WaitOn(t, networkIsRemoved(client, n2.ID), poll.WithTimeout(1*time.Minute), poll.WithDelay(10*time.Second)) - poll.WaitOn(t, networkIsRemoved(client, n1.ID), poll.WithTimeout(1*time.Minute), poll.WithDelay(10*time.Second)) + poll.WaitOn(t, networkIsRemoved(client, n3), poll.WithTimeout(1*time.Minute), poll.WithDelay(10*time.Second)) + poll.WaitOn(t, networkIsRemoved(client, n2), poll.WithTimeout(1*time.Minute), poll.WithDelay(10*time.Second)) + poll.WaitOn(t, networkIsRemoved(client, n1), poll.WithTimeout(1*time.Minute), poll.WithDelay(10*time.Second)) } func TestCreateServiceSecretFileMode(t *testing.T) { From 89a8d08125c8c0a348738279fb20cb6831151349 Mon Sep 17 00:00:00 2001 From: John Howard Date: Wed, 13 Jun 2018 09:33:19 -0700 Subject: [PATCH 2/2] Don't fail to start daemon if builder source is not available Signed-off-by: John Howard Upstream-commit: ca3e3fcf7e66554d20acd990a506d6ee5e368ca1 Component: engine --- .../builder/builder-next/worker/worker.go | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/components/engine/builder/builder-next/worker/worker.go b/components/engine/builder/builder-next/worker/worker.go index 0089b39e6c..28e16368ce 100644 --- a/components/engine/builder/builder-next/worker/worker.go +++ b/components/engine/builder/builder-next/worker/worker.go @@ -37,6 +37,7 @@ import ( digest "github.com/opencontainers/go-digest" ocispec "github.com/opencontainers/image-spec/specs-go/v1" "github.com/pkg/errors" + "github.com/sirupsen/logrus" ) // Opt defines a structure for creating a worker. @@ -77,32 +78,33 @@ func NewWorker(opt Opt) (*Worker, error) { CacheAccessor: cm, MetadataStore: opt.MetadataStore, }) - if err != nil { - return nil, err + if err == nil { + sm.Register(gs) + } else { + logrus.Warnf("Could not register builder git source: %s", err) } - sm.Register(gs) - hs, err := http.NewSource(http.Opt{ CacheAccessor: cm, MetadataStore: opt.MetadataStore, Transport: opt.Transport, }) - if err != nil { - return nil, err + if err == nil { + sm.Register(hs) + } else { + logrus.Warnf("Could not register builder http source: %s", err) } - sm.Register(hs) - ss, err := local.NewSource(local.Opt{ SessionManager: opt.SessionManager, CacheAccessor: cm, MetadataStore: opt.MetadataStore, }) - if err != nil { - return nil, err + if err == nil { + sm.Register(ss) + } else { + logrus.Warnf("Could not register builder local source: %s", err) } - sm.Register(ss) return &Worker{ Opt: opt,