From d52a6c8e13b75c04759453898807abe76a06e43d Mon Sep 17 00:00:00 2001 From: Flavio Crisciani Date: Thu, 15 Mar 2018 17:22:56 -0700 Subject: [PATCH 1/2] Avoid predefined error log - fix the logic that was checking for predefined networks. Before the GetNetwork was passing the network name, while instead the network ID is the key that is supposed to be used. The CreateNetwork anyway is doing the very same check and create the network if not existing. Signed-off-by: Flavio Crisciani (cherry picked from commit f6e6e694ed86f6ca470bf67112722eb5ade17bf5) Signed-off-by: Sebastiaan van Stijn --- manager/manager.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/manager/manager.go b/manager/manager.go index 2c6a0d3dcc..62494dd853 100644 --- a/manager/manager.go +++ b/manager/manager.go @@ -882,15 +882,13 @@ func (m *Manager) becomeLeader(ctx context.Context) { } } // Create now the static predefined if the store does not contain predefined - //networks like bridge/host node-local networks which + // networks like bridge/host node-local networks which // are known to be present in each cluster node. This is needed // in order to allow running services on the predefined docker // networks like `bridge` and `host`. for _, p := range allocator.PredefinedNetworks() { - if store.GetNetwork(tx, p.Name) == nil { - if err := store.CreateNetwork(tx, newPredefinedNetwork(p.Name, p.Driver)); err != nil { - log.G(ctx).WithError(err).Error("failed to create predefined network " + p.Name) - } + if err := store.CreateNetwork(tx, newPredefinedNetwork(p.Name, p.Driver)); err != store.ErrNameConflict { + log.G(ctx).WithError(err).Error("failed to create predefined network " + p.Name) } } return nil From acefa738f6c790a10379fd21d152120b6cfb3271 Mon Sep 17 00:00:00 2001 From: nmengin Date: Tue, 31 Jul 2018 17:17:20 +0200 Subject: [PATCH 2/2] Test if error is nil before to log it Signed-off-by: nmengin (cherry picked from commit 99a0f5842bdd05e50de0a5fd386202a8b34220f4) Signed-off-by: Sebastiaan van Stijn --- manager/manager.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/manager.go b/manager/manager.go index 62494dd853..d7ab1d99b6 100644 --- a/manager/manager.go +++ b/manager/manager.go @@ -887,7 +887,7 @@ func (m *Manager) becomeLeader(ctx context.Context) { // in order to allow running services on the predefined docker // networks like `bridge` and `host`. for _, p := range allocator.PredefinedNetworks() { - if err := store.CreateNetwork(tx, newPredefinedNetwork(p.Name, p.Driver)); err != store.ErrNameConflict { + if err := store.CreateNetwork(tx, newPredefinedNetwork(p.Name, p.Driver)); err != nil && err != store.ErrNameConflict { log.G(ctx).WithError(err).Error("failed to create predefined network " + p.Name) } }