diff --git a/cli/delete.go b/cli/delete.go index cb74539027..2db13821e8 100644 --- a/cli/delete.go +++ b/cli/delete.go @@ -71,6 +71,10 @@ func delete(ctx context.Context, containerID string, force bool) error { // Checks the MUST and MUST NOT from OCI runtime specification status, sandboxID, err := getExistingContainerInfo(ctx, containerID) if err != nil { + if force { + kataLog.Warnf("Failed to get container, force will not fail: %s", err) + return nil + } return err } diff --git a/cli/delete_test.go b/cli/delete_test.go index e3cde76f71..51fc553bb9 100644 --- a/cli/delete_test.go +++ b/cli/delete_test.go @@ -65,6 +65,10 @@ func TestDeleteInvalidContainer(t *testing.T) { err = delete(context.Background(), testContainerID, false) assert.Error(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) {