Skip to content

Commit

Permalink
Fix flaky CSIInlineVolumes e2e test (issue 111740)
Browse files Browse the repository at this point in the history
  • Loading branch information
dobsonj committed Aug 8, 2022
1 parent 759785e commit 645f667
Showing 1 changed file with 23 additions and 15 deletions.
38 changes: 23 additions & 15 deletions test/e2e/storage/csi_inline.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ var _ = utils.SIGDescribe("CSIInlineVolumes", func() {
driver1 := &storagev1.CSIDriver{
ObjectMeta: metav1.ObjectMeta{
Name: "inline-driver-" + string(uuid.NewUUID()),
Labels: map[string]string{
"test": f.UniqueName,
},
},

Spec: storagev1.CSIDriverSpec{
Expand All @@ -59,6 +62,9 @@ var _ = utils.SIGDescribe("CSIInlineVolumes", func() {
driver2 := &storagev1.CSIDriver{
ObjectMeta: metav1.ObjectMeta{
Name: "inline-driver-" + string(uuid.NewUUID()),
Labels: map[string]string{
"test": f.UniqueName,
},
},

Spec: storagev1.CSIDriverSpec{
Expand All @@ -70,12 +76,6 @@ var _ = utils.SIGDescribe("CSIInlineVolumes", func() {
},
}

ginkgo.By("listing existing drivers")
driverList, err := client.List(context.TODO(), metav1.ListOptions{})
framework.ExpectNoError(err)
numDriversBefore := len(driverList.Items)
numDriversAfter := numDriversBefore + 2

ginkgo.By("creating")
createdDriver1, err := client.Create(context.TODO(), driver1, metav1.CreateOptions{})
framework.ExpectNoError(err)
Expand All @@ -95,18 +95,26 @@ var _ = utils.SIGDescribe("CSIInlineVolumes", func() {
framework.ExpectEqual(retrievedDriver2.UID, createdDriver2.UID)

ginkgo.By("listing")
driverList, err = client.List(context.TODO(), metav1.ListOptions{})
driverList, err := client.List(context.TODO(), metav1.ListOptions{LabelSelector: "test=" + f.UniqueName})
framework.ExpectNoError(err)
framework.ExpectEqual(len(driverList.Items), numDriversAfter, "list should have %d items, got: %s", numDriversAfter, driverList)
framework.ExpectEqual(len(driverList.Items), 2, "filtered list should have 2 items, got: %s", driverList)

ginkgo.By("deleting")
err = client.Delete(context.TODO(), createdDriver1.Name, metav1.DeleteOptions{})
framework.ExpectNoError(err)
err = client.Delete(context.TODO(), createdDriver2.Name, metav1.DeleteOptions{})
framework.ExpectNoError(err)
driverList, err = client.List(context.TODO(), metav1.ListOptions{})
framework.ExpectNoError(err)
framework.ExpectEqual(len(driverList.Items), numDriversBefore, "list should have %d items, got: %s", numDriversBefore, driverList)
for _, driver := range driverList.Items {
err := client.Delete(context.TODO(), driver.Name, metav1.DeleteOptions{})
framework.ExpectNoError(err)
retrievedDriver, err := client.Get(context.TODO(), driver.Name, metav1.GetOptions{})
switch {
case apierrors.IsNotFound(err):
// Okay, normal case.
case err != nil:
framework.Failf("expected 404, got %#v", err)
case retrievedDriver.DeletionTimestamp != nil:
// Okay, normal case.
default:
framework.Failf("CSIDriver should have been deleted or have DeletionTimestamp, but instead got: %s", retrievedDriver)
}
}
})

// TODO: promote to framework.ConformanceIt
Expand Down

0 comments on commit 645f667

Please sign in to comment.