Change:
[X] test approval issue : [X] test pr : 26 May 2023 [x] two weeks soak end date : 9 June 2023 [x] test promotion pr : [x] remove endpoint from [x] End of release 1.28 Release: Remove duplicate Conformance test the do not cover Patch, Replace, DeleteCollection. According to following APIsnoop query, there are still 3 CSIDriver endpoints that are not tested for Conformance. Using a number of existing e2e test practices a new has been created to address these 3 endpoints. The e2e logs for this test are listed below. This query shows the following csiDriver endpoints are hit within a short period of running this e2e test. If a test with these calls gets merged, test coverage will go up by 3 points This test is also created with the goal of conformance promotion. /sig testing /sig architecture /area conformance
/triage accepted
/reopen
Reopened this issue. <detailsIn response to : /reopen Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
/reopen For end of release 1.28 Release: Remove duplicate Conformance test the do not cover Patch, Replace, DeleteCollection.
Reopened this issue. <detailsIn response to : /reopen For end of release 1.28 Release: Remove duplicate Conformance test the do not cover Patch, Replace, DeleteCollection. Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details

Discussion:
patch, and delete operations. release: v1.26 file: test/e2e/storage/csi_inline.go <del> - testname: CSIInlineVolumes should support ephemeral CSIDrivers codename: '[sig-storage] CSIInlineVolumes should support ephemeral VolumeLifecycleMode in CSIDriver API [Conformance]' description: CSIDriver resources with ephemeral VolumeLifecycleMode should support create, get, list, and delete operations. release: v1.26 file: test/e2e/storage/csi_inline.go </del> - testname: CSIStorageCapacity API codename: '[sig-storage] CSIStorageCapacity  should support CSIStorageCapacities API operations [Conformance]'

/* Release: v1.26 <del> Testname: CSIInlineVolumes should support ephemeral CSIDrivers Description: CSIDriver resources with ephemeral VolumeLifecycleMode should support create, get, list, and delete operations. */ framework.ConformanceIt("should support ephemeral VolumeLifecycleMode in CSIDriver API", func(ctx context.Context) { // Create client client := f.ClientSet.StorageV1().CSIDrivers() defaultFSGroupPolicy := storagev1.ReadWriteOnceWithFSTypeFSGroupPolicy // Driver that supports only Ephemeral driver1 := &storagev1.CSIDriver{ ObjectMeta: metav1.ObjectMeta{ Name: "inline-driver-" + string(uuid.NewUUID()), Labels: map[string]string{ "test": f.UniqueName, }, }, Spec: storagev1.CSIDriverSpec{ VolumeLifecycleModes: []storagev1.VolumeLifecycleMode{storagev1.VolumeLifecycleEphemeral}, FSGroupPolicy:        &defaultFSGroupPolicy, }, } // Driver that supports both Ephemeral and Persistent driver2 := &storagev1.CSIDriver{ ObjectMeta: metav1.ObjectMeta{ Name: "inline-driver-" + string(uuid.NewUUID()), Labels: map[string]string{ "test": f.UniqueName, }, }, Spec: storagev1.CSIDriverSpec{ VolumeLifecycleModes: []storagev1.VolumeLifecycleMode{ storagev1.VolumeLifecyclePersistent, storagev1.VolumeLifecycleEphemeral, }, FSGroupPolicy: &defaultFSGroupPolicy, }, } ginkgo.By("creating") createdDriver1, err := client.Create(ctx, driver1, metav1.CreateOptions{}) framework.ExpectNoError(err) createdDriver2, err := client.Create(ctx, driver2, metav1.CreateOptions{}) framework.ExpectNoError(err) _, err = client.Create(ctx, driver1, metav1.CreateOptions{}) if !apierrors.IsAlreadyExists(err) { framework.Failf("expected 409, got %#v", err) } ginkgo.By("getting") retrievedDriver1, err := client.Get(ctx, createdDriver1.Name, metav1.GetOptions{}) framework.ExpectNoError(err) framework.ExpectEqual(retrievedDriver1.UID, createdDriver1.UID) retrievedDriver2, err := client.Get(ctx, createdDriver2.Name, metav1.GetOptions{}) framework.ExpectNoError(err) framework.ExpectEqual(retrievedDriver2.UID, createdDriver2.UID) ginkgo.By("listing") driverList, err := client.List(ctx, metav1.ListOptions{LabelSelector: "test=" + f.UniqueName}) framework.ExpectNoError(err) framework.ExpectEqual(len(driverList.Items), 2, "filtered list should have 2 items, got: %s", driverList) ginkgo.By("deleting") for _, driver := range driverList.Items { err := client.Delete(ctx, driver.Name, metav1.DeleteOptions{}) framework.ExpectNoError(err) retrievedDriver, err := client.Get(ctx, 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) } } }) /* Release: v1.26 </del> Testname: CSIInlineVolumes should support Pods with inline volumes Description: Pod resources with CSIVolumeSource should support create, get, list, patch, and delete operations.