Commit 86c71472 authored by Jose A. Rivera's avatar Jose A. Rivera

CSIDriverRegistry e2e: Wait for CSIDriver creation

parent 81bc0e5e
......@@ -199,6 +199,7 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
Context("CSI attach test using mock driver [Feature:CSIDriverRegistry]", func() {
var (
err error
driver testsuites.TestDriver
)
......@@ -238,6 +239,8 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
defer driver.CleanupDriver()
if test.deployDriverCRD {
err = waitForCSIDriver(csics, driver)
framework.ExpectNoError(err, "Failed to get CSIDriver: %v", err)
defer destroyCSIDriver(csics, driver)
}
......@@ -273,7 +276,7 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
return
}
err := framework.WaitForPodNameRunningInNamespace(cs, pod.Name, pod.Namespace)
err = framework.WaitForPodNameRunningInNamespace(cs, pod.Name, pod.Namespace)
framework.ExpectNoError(err, "Failed to start pod: %v", err)
By("Checking if VolumeAttachment was created for the pod")
......@@ -299,6 +302,7 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
Context("CSI workload information using mock driver [Feature:CSIDriverRegistry]", func() {
var (
err error
driver testsuites.TestDriver
podInfoV1 = "v1"
podInfoUnknown = "unknown"
......@@ -355,6 +359,8 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
defer driver.CleanupDriver()
if test.deployDriverCRD {
err = waitForCSIDriver(csics, driver)
framework.ExpectNoError(err, "Failed to get CSIDriver: %v", err)
defer destroyCSIDriver(csics, driver)
}
......@@ -393,7 +399,7 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
if pod == nil {
return
}
err := framework.WaitForPodNameRunningInNamespace(cs, pod.Name, pod.Namespace)
err = framework.WaitForPodNameRunningInNamespace(cs, pod.Name, pod.Namespace)
framework.ExpectNoError(err, "Failed to start pod: %v", err)
By("Checking CSI driver logs")
// The driver is deployed as a statefulset with stable pod names
......@@ -459,6 +465,20 @@ func testTopologyNegative(cs clientset.Interface, suffix, namespace string, dela
}
}
func waitForCSIDriver(csics csiclient.Interface, driver testsuites.TestDriver) error {
timeout := 2 * time.Minute
driverName := testsuites.GetUniqueDriverName(driver)
framework.Logf("waiting up to %v for CSIDriver %q", timeout, driverName)
for start := time.Now(); time.Since(start) < timeout; time.Sleep(framework.Poll) {
_, err := csics.CsiV1alpha1().CSIDrivers().Get(driverName, metav1.GetOptions{})
if !errors.IsNotFound(err) {
return err
}
}
return fmt.Errorf("gave up after waiting %v for CSIDriver %q.", timeout, driverName)
}
func destroyCSIDriver(csics csiclient.Interface, driver testsuites.TestDriver) {
driverName := testsuites.GetUniqueDriverName(driver)
driverGet, err := csics.CsiV1alpha1().CSIDrivers().Get(driverName, metav1.GetOptions{})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment