From 0d762ef9d27872081b1030a010361d1db6dde7ae Mon Sep 17 00:00:00 2001 From: Madhu Venugopal Date: Fri, 30 Oct 2015 15:06:44 -0700 Subject: [PATCH] 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 (cherry picked from commit 401632c7568408ee9689adc1da855cfb1409e906) --- daemon/container_unix.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/daemon/container_unix.go b/daemon/container_unix.go index 6bea8602d..d07d02afd 100644 --- a/daemon/container_unix.go +++ b/daemon/container_unix.go @@ -959,7 +959,13 @@ func (container *Container) ConnectToNetwork(idOrName string) error { if !container.Running { return derr.ErrorCodeNotRunning.WithArgs(container.ID) } - return container.connectToNetwork(idOrName, true) + if err := container.connectToNetwork(idOrName, true); err != nil { + return err + } + if err := container.toDiskLocking(); err != nil { + return fmt.Errorf("Error saving container to disk: %v", err) + } + return nil } func (container *Container) connectToNetwork(idOrName string, updateSettings bool) error { @@ -1191,7 +1197,14 @@ func (container *Container) DisconnectFromNetwork(n libnetwork.Network) error { return derr.ErrorCodeNotRunning.WithArgs(container.ID) } - return container.disconnectFromNetwork(n) + if err := container.disconnectFromNetwork(n); err != nil { + return err + } + + if err := container.toDiskLocking(); err != nil { + return fmt.Errorf("Error saving container to disk: %v", err) + } + return nil } func (container *Container) disconnectFromNetwork(n libnetwork.Network) error {