Browse code

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

Signed-off-by: Pradip Dhara <pradipd@microsoft.com>

Pradip Dhara authored on 2017/11/30 17:22:30
Showing 2 changed files
... ...
@@ -849,13 +849,22 @@ addToStore:
849 849
 		return network, nil
850 850
 	}
851 851
 
852
+	joinCluster(network)
853
+	defer func() {
854
+		if err != nil {
855
+			network.cancelDriverWatches()
856
+			if e := network.leaveCluster(); e != nil {
857
+				logrus.Warnf("Failed to leave agent cluster on network %s on failure (%v): %v", network.name, err, e)
858
+			}
859
+		}
860
+	}()
861
+
852 862
 	if len(network.loadBalancerIP) != 0 {
853 863
 		if err = network.createLoadBalancerSandbox(); err != nil {
854 864
 			return nil, err
855 865
 		}
856 866
 	}
857 867
 
858
-	joinCluster(network)
859 868
 	if !c.isDistributedControl() {
860 869
 		c.Lock()
861 870
 		arrangeIngressFilterRule()
... ...
@@ -256,7 +256,7 @@ retry:
256 256
 			if err := cs.GetObject(datastore.Key(kvObject.Key()...), kvObject); err != nil {
257 257
 				return fmt.Errorf("could not update the kvobject to latest when trying to delete: %v", err)
258 258
 			}
259
-			logrus.Errorf("Error (%v) deleting object %v, retrying....", err, kvObject.Key())
259
+			logrus.Warnf("Error (%v) deleting object %v, retrying....", err, kvObject.Key())
260 260
 			goto retry
261 261
 		}
262 262
 		return err