Browse Source

Addressing feedback from PR https://github.com/docker/libnetwork/pull/2011

Signed-off-by: Pradip Dhara <pradipd@microsoft.com>
Pradip Dhara 7 years ago
parent
commit
4aab854d6d
2 changed files with 11 additions and 2 deletions
  1. 10 1
      libnetwork/controller.go
  2. 1 1
      libnetwork/store.go

+ 10 - 1
libnetwork/controller.go

@@ -849,13 +849,22 @@ addToStore:
 		return network, nil
 		return network, nil
 	}
 	}
 
 
+	joinCluster(network)
+	defer func() {
+		if err != nil {
+			network.cancelDriverWatches()
+			if e := network.leaveCluster(); e != nil {
+				logrus.Warnf("Failed to leave agent cluster on network %s on failure (%v): %v", network.name, err, e)
+			}
+		}
+	}()
+
 	if len(network.loadBalancerIP) != 0 {
 	if len(network.loadBalancerIP) != 0 {
 		if err = network.createLoadBalancerSandbox(); err != nil {
 		if err = network.createLoadBalancerSandbox(); err != nil {
 			return nil, err
 			return nil, err
 		}
 		}
 	}
 	}
 
 
-	joinCluster(network)
 	if !c.isDistributedControl() {
 	if !c.isDistributedControl() {
 		c.Lock()
 		c.Lock()
 		arrangeIngressFilterRule()
 		arrangeIngressFilterRule()

+ 1 - 1
libnetwork/store.go

@@ -256,7 +256,7 @@ retry:
 			if err := cs.GetObject(datastore.Key(kvObject.Key()...), kvObject); err != nil {
 			if err := cs.GetObject(datastore.Key(kvObject.Key()...), kvObject); err != nil {
 				return fmt.Errorf("could not update the kvobject to latest when trying to delete: %v", err)
 				return fmt.Errorf("could not update the kvobject to latest when trying to delete: %v", err)
 			}
 			}
-			logrus.Errorf("Error (%v) deleting object %v, retrying....", err, kvObject.Key())
+			logrus.Warnf("Error (%v) deleting object %v, retrying....", err, kvObject.Key())
 			goto retry
 			goto retry
 		}
 		}
 		return err
 		return err