From 1f4c1cb75c249dcd377e6953b9371aa22426856e Mon Sep 17 00:00:00 2001 From: Jana Radhakrishnan Date: Tue, 23 Aug 2016 14:03:52 -0700 Subject: [PATCH] Avoid k/v store endpoint update in swarm mode Avoid the whole store endpoint update logic when running in swarm mode and the endpoint is part of a global scope network. Currently there is no store update that is happening for global scope networks in swarm mode, but this code path will delete the svcRecords database when the last endpoint on the network is removed which is something that is not required. Signed-off-by: Jana Radhakrishnan --- libnetwork/store.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libnetwork/store.go b/libnetwork/store.go index b622836498..9830a22d47 100644 --- a/libnetwork/store.go +++ b/libnetwork/store.go @@ -346,6 +346,10 @@ func (c *controller) networkWatchLoop(nw *netWatch, ep *endpoint, ecCh <-chan da } func (c *controller) processEndpointCreate(nmap map[string]*netWatch, ep *endpoint) { + if !c.isDistributedControl() && ep.getNetwork().driverScope() == datastore.GlobalScope { + return + } + c.Lock() nw, ok := nmap[ep.getNetwork().ID()] c.Unlock() @@ -400,6 +404,10 @@ func (c *controller) processEndpointCreate(nmap map[string]*netWatch, ep *endpoi } func (c *controller) processEndpointDelete(nmap map[string]*netWatch, ep *endpoint) { + if !c.isDistributedControl() && ep.getNetwork().driverScope() == datastore.GlobalScope { + return + } + c.Lock() nw, ok := nmap[ep.getNetwork().ID()]