mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Set persist flag on the dummy network object during cleanup
During sandboxcleanup operation, a dummy object is created if the kv-store is inaccessible during the daemon bootup. The dummy object is used for local processing of sandbox/endpoint cleanup operation. But unfortunately, since the persist flag was not set, the Skip() functionality kicked-in when sandbox was written back to the store and global endpoint was skipped to be tracked. During a subsequent cleanup operation, sandbox was removed and the global endpoint was left stale in the kv-store. The fix is to set the persist flag in the dummy object and that handles the sandbox and endpoint states appropriately and endpoint object is properly cleaned up when the KVStore becomes available. Signed-off-by: Madhu Venugopal <madhu@docker.com>
This commit is contained in:
parent
63cc2ecf78
commit
f2c5ff41de
1 changed files with 1 additions and 1 deletions
|
@ -213,7 +213,7 @@ func (c *controller) sandboxCleanup() {
|
|||
var ep *endpoint
|
||||
if err != nil {
|
||||
logrus.Errorf("getNetworkFromStore for nid %s failed while trying to build sandbox for cleanup: %v", eps.Nid, err)
|
||||
n = &network{id: eps.Nid, ctrlr: c, drvOnce: &sync.Once{}}
|
||||
n = &network{id: eps.Nid, ctrlr: c, drvOnce: &sync.Once{}, persist: true}
|
||||
ep = &endpoint{id: eps.Eid, network: n, sandboxID: sbs.ID}
|
||||
} else {
|
||||
ep, err = n.getEndpointFromStore(eps.Eid)
|
||||
|
|
Loading…
Add table
Reference in a new issue