Browse code

fixing ungraceful daemon restart case where nw connect is not persisted

For graceful restart case it was done when the container was brought
down. But for ungraceful cases, the persistence is missing for nw
connect

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 401632c7568408ee9689adc1da855cfb1409e906)

Madhu Venugopal authored on 2015/10/31 07:06:44
Showing 1 changed files
... ...
@@ -959,7 +959,13 @@ func (container *Container) ConnectToNetwork(idOrName string) error {
959 959
 	if !container.Running {
960 960
 		return derr.ErrorCodeNotRunning.WithArgs(container.ID)
961 961
 	}
962
-	return container.connectToNetwork(idOrName, true)
962
+	if err := container.connectToNetwork(idOrName, true); err != nil {
963
+		return err
964
+	}
965
+	if err := container.toDiskLocking(); err != nil {
966
+		return fmt.Errorf("Error saving container to disk: %v", err)
967
+	}
968
+	return nil
963 969
 }
964 970
 
965 971
 func (container *Container) connectToNetwork(idOrName string, updateSettings bool) error {
... ...
@@ -1191,7 +1197,14 @@ func (container *Container) DisconnectFromNetwork(n libnetwork.Network) error {
1191 1191
 		return derr.ErrorCodeNotRunning.WithArgs(container.ID)
1192 1192
 	}
1193 1193
 
1194
-	return container.disconnectFromNetwork(n)
1194
+	if err := container.disconnectFromNetwork(n); err != nil {
1195
+		return err
1196
+	}
1197
+
1198
+	if err := container.toDiskLocking(); err != nil {
1199
+		return fmt.Errorf("Error saving container to disk: %v", err)
1200
+	}
1201
+	return nil
1195 1202
 }
1196 1203
 
1197 1204
 func (container *Container) disconnectFromNetwork(n libnetwork.Network) error {