From bda0583baf55bb91b81096ced00eb20c17f85348 Mon Sep 17 00:00:00 2001 From: Flavio Crisciani Date: Thu, 3 Jan 2019 14:02:03 -0800 Subject: [PATCH 1/2] Fix gosimple Signed-off-by: Flavio Crisciani (cherry picked from commit fd6be31abb9a44a61286cbc4671519086cc313cb) Signed-off-by: Sebastiaan van Stijn --- default_gateway.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/default_gateway.go b/default_gateway.go index 9a60fd6758..8b975a8f2f 100644 --- a/default_gateway.go +++ b/default_gateway.go @@ -179,10 +179,8 @@ func (c *controller) defaultGwNetwork() (Network, error) { defer func() { <-procGwNetwork }() n, err := c.NetworkByName(libnGWNetwork) - if err != nil { - if _, ok := err.(types.NotFoundError); ok { - n, err = c.createGWNetwork() - } + if _, ok := err.(types.NotFoundError); ok { + n, err = c.createGWNetwork() } return n, err } From 6b93786b4f6f9ef19d49c80df50498f114ea3391 Mon Sep 17 00:00:00 2001 From: Flavio Crisciani Date: Tue, 22 Jan 2019 15:57:03 -0800 Subject: [PATCH 2/2] Fix possible nil pointer exception It is possible that the node is not yet present in the node list map. In this case just print a warning and return. The next iteration would be fine Signed-off-by: Flavio Crisciani (cherry picked from commit 1954e1c4b2cbdac2ef851acba12ead3ff6791290) Signed-off-by: Sebastiaan van Stijn --- network.go | 8 +++----- networkdb/cluster.go | 7 ++++++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/network.go b/network.go index e283d65815..d681ad6386 100644 --- a/network.go +++ b/network.go @@ -389,11 +389,9 @@ func (n *network) validateConfiguration() error { driverOptions map[string]string opts interface{} ) - switch data.(type) { - case map[string]interface{}: - opts = data.(map[string]interface{}) - case map[string]string: - opts = data.(map[string]string) + switch t := data.(type) { + case map[string]interface{}, map[string]string: + opts = t } ba, err := json.Marshal(opts) if err != nil { diff --git a/networkdb/cluster.go b/networkdb/cluster.go index 05b3e91093..d939a343b6 100644 --- a/networkdb/cluster.go +++ b/networkdb/cluster.go @@ -288,7 +288,12 @@ func (nDB *NetworkDB) rejoinClusterBootStrap() { return } - myself, _ := nDB.nodes[nDB.config.NodeID] + myself, ok := nDB.nodes[nDB.config.NodeID] + if !ok { + nDB.RUnlock() + logrus.Warnf("rejoinClusterBootstrap unable to find local node info using ID:%v", nDB.config.NodeID) + return + } bootStrapIPs := make([]string, 0, len(nDB.bootStrapIP)) for _, bootIP := range nDB.bootStrapIP { // botostrap IPs are usually IP:port from the Join