Skip to content

Commit 43aa132

Browse files
committed
set cntlr sandbox before cleaning endpoints in ungraceful restart case
Signed-off-by: Madhu Venugopal <madhu@docker.com>
1 parent 5fc6ba5 commit 43aa132

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

sandbox.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ func (sb *sandbox) populateNetworkResources(ep *endpoint) error {
479479
for _, gwep := range sb.getConnectedEndpoints() {
480480
if len(gwep.Gateway()) > 0 {
481481
if gwep != ep {
482-
return nil
482+
break
483483
}
484484
if err := sb.updateGateway(gwep); err != nil {
485485
return err

sandbox_store.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -197,28 +197,28 @@ func (c *controller) sandboxCleanup() {
197197
continue
198198
}
199199

200+
c.Lock()
201+
c.sandboxes[sb.id] = sb
202+
c.Unlock()
203+
200204
for _, eps := range sbs.Eps {
201205
n, err := c.getNetworkFromStore(eps.Nid)
202206
var ep *endpoint
203207
if err != nil {
204208
logrus.Errorf("getNetworkFromStore for nid %s failed while trying to build sandbox for cleanup: %v", eps.Nid, err)
205209
n = &network{id: eps.Nid, ctrlr: c, drvOnce: &sync.Once{}}
206-
ep = &endpoint{id: eps.Eid, network: n}
210+
ep = &endpoint{id: eps.Eid, network: n, sandboxID: sbs.ID}
207211
} else {
208212
ep, err = n.getEndpointFromStore(eps.Eid)
209213
if err != nil {
210214
logrus.Errorf("getEndpointFromStore for eid %s failed while trying to build sandbox for cleanup: %v", eps.Eid, err)
211-
ep = &endpoint{id: eps.Eid, network: n}
215+
ep = &endpoint{id: eps.Eid, network: n, sandboxID: sbs.ID}
212216
}
213217
}
214218

215219
heap.Push(&sb.endpoints, ep)
216220
}
217221

218-
c.Lock()
219-
c.sandboxes[sb.id] = sb
220-
c.Unlock()
221-
222222
if err := sb.Delete(); err != nil {
223223
logrus.Errorf("failed to delete sandbox %s while trying to cleanup: %v", sb.id, err)
224224
}

0 commit comments

Comments
 (0)