mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #34274 from aaronlehmann/container-name-delete-fix
container: Fix Delete on nonexistent container
This commit is contained in:
commit
2f8a3afcf3
2 changed files with 11 additions and 3 deletions
|
@ -168,9 +168,9 @@ func (db *memDB) Delete(c *Container) error {
|
||||||
txn.Delete(memdbNamesTable, nameAssociation{name: name})
|
txn.Delete(memdbNamesTable, nameAssociation{name: name})
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := txn.Delete(memdbContainersTable, NewBaseContainer(c.ID, c.Root)); err != nil {
|
// Ignore error - the container may not actually exist in the
|
||||||
return err
|
// db, but we still need to clean up associated names.
|
||||||
}
|
txn.Delete(memdbContainersTable, NewBaseContainer(c.ID, c.Root))
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -150,4 +150,12 @@ func TestNames(t *testing.T) {
|
||||||
|
|
||||||
view = db.Snapshot()
|
view = db.Snapshot()
|
||||||
assert.Equal(t, map[string][]string{"containerid1": {"name1", "name3", "name4"}, "containerid4": {"name2"}}, view.GetAllNames())
|
assert.Equal(t, map[string][]string{"containerid1": {"name1", "name3", "name4"}, "containerid4": {"name2"}}, view.GetAllNames())
|
||||||
|
|
||||||
|
// Release containerid1's names with Delete even though no container exists
|
||||||
|
assert.NoError(t, db.Delete(&Container{ID: "containerid1"}))
|
||||||
|
|
||||||
|
// Reusing one of those names should work
|
||||||
|
assert.NoError(t, db.ReserveName("name1", "containerid4"))
|
||||||
|
view = db.Snapshot()
|
||||||
|
assert.Equal(t, map[string][]string{"containerid4": {"name1", "name2"}}, view.GetAllNames())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue