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 } 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