mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-02 02:02:24 +00:00
delete: force: Do not fail on non exiting container
When a container does not exist, runc does not fail. Lets mimic this behavior, sometimes kuberentes will try to force delete containers that could not be created and gets confused if delete --force fails. Fixes: #1219 Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
This commit is contained in:
parent
d3c63e66e3
commit
c78d6b057e
@ -71,6 +71,10 @@ func delete(ctx context.Context, containerID string, force bool) error {
|
|||||||
// Checks the MUST and MUST NOT from OCI runtime specification
|
// Checks the MUST and MUST NOT from OCI runtime specification
|
||||||
status, sandboxID, err := getExistingContainerInfo(ctx, containerID)
|
status, sandboxID, err := getExistingContainerInfo(ctx, containerID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if force {
|
||||||
|
kataLog.Warnf("Failed to get container, force will not fail: %s", err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,6 +65,10 @@ func TestDeleteInvalidContainer(t *testing.T) {
|
|||||||
err = delete(context.Background(), testContainerID, false)
|
err = delete(context.Background(), testContainerID, false)
|
||||||
assert.Error(err)
|
assert.Error(err)
|
||||||
assert.False(vcmock.IsMockError(err))
|
assert.False(vcmock.IsMockError(err))
|
||||||
|
|
||||||
|
// Force to delete missing container
|
||||||
|
err = delete(context.Background(), "non-existing-test", true)
|
||||||
|
assert.NoError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDeleteMissingContainerTypeAnnotation(t *testing.T) {
|
func TestDeleteMissingContainerTypeAnnotation(t *testing.T) {
|
||||||
|
Loading…
Reference in New Issue
Block a user