Skip to content

Commit b56d0ac

Browse files
authored
Merge pull request kubernetes#94653 from jsafrane/tolerate-missing-objects
Tolerate NotFound errors when deleting snapshots
2 parents 92d8429 + 7df879e commit b56d0ac

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

test/e2e/storage/testsuites/snapshottable.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ func DeleteAndWaitSnapshot(dc dynamic.Interface, ns string, snapshotName string,
335335
var err error
336336
ginkgo.By("deleting the snapshot")
337337
err = dc.Resource(SnapshotGVR).Namespace(ns).Delete(context.TODO(), snapshotName, metav1.DeleteOptions{})
338-
if err != nil {
338+
if err != nil && !apierrors.IsNotFound(err) {
339339
return err
340340
}
341341

@@ -427,13 +427,19 @@ func CreateSnapshotResource(sDriver SnapshottableTestDriver, config *PerTestConf
427427
// We exploit this to create a snapshot resource from which we can create a preprovisioned snapshot
428428
ginkgo.By("deleting the snapshot and snapshot content")
429429
err = dc.Resource(SnapshotGVR).Namespace(r.Vs.GetNamespace()).Delete(context.TODO(), r.Vs.GetName(), metav1.DeleteOptions{})
430+
if apierrors.IsNotFound(err) {
431+
err = nil
432+
}
430433
framework.ExpectNoError(err)
431434

432435
ginkgo.By("checking the Snapshot has been deleted")
433436
err = utils.WaitForNamespacedGVRDeletion(dc, SnapshotGVR, r.Vs.GetName(), r.Vs.GetNamespace(), framework.Poll, framework.SnapshotDeleteTimeout)
434437
framework.ExpectNoError(err)
435438

436439
err = dc.Resource(SnapshotContentGVR).Delete(context.TODO(), r.Vscontent.GetName(), metav1.DeleteOptions{})
440+
if apierrors.IsNotFound(err) {
441+
err = nil
442+
}
437443
framework.ExpectNoError(err)
438444

439445
ginkgo.By("checking the Snapshot content has been deleted")
@@ -498,13 +504,22 @@ func (sr *SnapshotResource) CleanupResource() error {
498504
framework.ExpectNoError(err)
499505
}
500506
err = dc.Resource(SnapshotGVR).Namespace(sr.Vs.GetNamespace()).Delete(context.TODO(), sr.Vs.GetName(), metav1.DeleteOptions{})
507+
if apierrors.IsNotFound(err) {
508+
err = nil
509+
}
501510
framework.ExpectNoError(err)
511+
502512
err = utils.WaitForGVRDeletion(dc, SnapshotContentGVR, boundVsContent.GetName(), framework.Poll, framework.SnapshotDeleteTimeout)
503513
framework.ExpectNoError(err)
514+
504515
case apierrors.IsNotFound(err):
505516
// the volume snapshot is not bound to snapshot content yet
506517
err = dc.Resource(SnapshotGVR).Namespace(sr.Vs.GetNamespace()).Delete(context.TODO(), sr.Vs.GetName(), metav1.DeleteOptions{})
518+
if apierrors.IsNotFound(err) {
519+
err = nil
520+
}
507521
framework.ExpectNoError(err)
522+
508523
err = utils.WaitForNamespacedGVRDeletion(dc, SnapshotGVR, sr.Vs.GetName(), sr.Vs.GetNamespace(), framework.Poll, framework.SnapshotDeleteTimeout)
509524
framework.ExpectNoError(err)
510525
default:
@@ -531,6 +546,9 @@ func (sr *SnapshotResource) CleanupResource() error {
531546
framework.ExpectNoError(err)
532547
}
533548
err = dc.Resource(SnapshotContentGVR).Delete(context.TODO(), sr.Vscontent.GetName(), metav1.DeleteOptions{})
549+
if apierrors.IsNotFound(err) {
550+
err = nil
551+
}
534552
framework.ExpectNoError(err)
535553

536554
err = utils.WaitForGVRDeletion(dc, SnapshotContentGVR, sr.Vscontent.GetName(), framework.Poll, framework.SnapshotDeleteTimeout)

0 commit comments

Comments
 (0)