diff --git a/test/e2e/storage/csi_mock_volume.go b/test/e2e/storage/csi_mock_volume.go index cb6d0e1a783..88e7375af87 100644 --- a/test/e2e/storage/csi_mock_volume.go +++ b/test/e2e/storage/csi_mock_volume.go @@ -226,7 +226,7 @@ var _ = utils.SIGDescribe("CSI mock volume", func() { } err := utilerrors.NewAggregate(errs) - Expect(err).NotTo(HaveOccurred(), "while cleaning up after test") + framework.ExpectNoError(err, "while cleaning up after test") } // The CSIDriverRegistry feature gate is needed for this test in Kubernetes 1.12. @@ -360,7 +360,7 @@ var _ = utils.SIGDescribe("CSI mock volume", func() { attachKey := v1.ResourceName(volumeutil.GetCSIAttachLimitKey(m.provisioner)) nodeAttachLimit, err := checkNodeForLimits(nodeName, attachKey, m.cs) - Expect(err).NotTo(HaveOccurred(), "while fetching node %v", err) + framework.ExpectNoError(err, "while fetching node %v", err) Expect(nodeAttachLimit).To(Equal(2)) @@ -379,7 +379,7 @@ var _ = utils.SIGDescribe("CSI mock volume", func() { _, _, pod3 := createPod() Expect(pod3).NotTo(BeNil(), "while creating third pod") err = waitForMaxVolumeCondition(pod3, m.cs) - Expect(err).NotTo(HaveOccurred(), "while waiting for max volume condition on pod : %+v", pod3) + framework.ExpectNoError(err, "while waiting for max volume condition on pod : %+v", pod3) }) }) @@ -440,7 +440,7 @@ var _ = utils.SIGDescribe("CSI mock volume", func() { By("Expanding current pvc") newSize := resource.MustParse("6Gi") pvc, err = expandPVCSize(pvc, newSize, m.cs) - Expect(err).NotTo(HaveOccurred(), "While updating pvc for more size") + framework.ExpectNoError(err, "While updating pvc for more size") Expect(pvc).NotTo(BeNil()) pvcSize := pvc.Spec.Resources.Requests[v1.ResourceStorage] @@ -455,12 +455,12 @@ var _ = utils.SIGDescribe("CSI mock volume", func() { By("Waiting for persistent volume resize to finish") err = waitForControllerVolumeResize(pvc, m.cs, csiResizeWaitPeriod) - Expect(err).NotTo(HaveOccurred(), "While waiting for CSI PV resize to finish") + framework.ExpectNoError(err, "While waiting for CSI PV resize to finish") checkPVCSize := func() { By("Waiting for PVC resize to finish") pvc, err = waitForFSResize(pvc, m.cs) - Expect(err).NotTo(HaveOccurred(), "while waiting for PVC resize to finish") + framework.ExpectNoError(err, "while waiting for PVC resize to finish") pvcConditions := pvc.Status.Conditions Expect(len(pvcConditions)).To(Equal(0), "pvc should not have conditions") @@ -472,7 +472,7 @@ var _ = utils.SIGDescribe("CSI mock volume", func() { } else { By("Checking for conditions on pvc") pvc, err = m.cs.CoreV1().PersistentVolumeClaims(ns).Get(pvc.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred(), "While fetching pvc after controller resize") + framework.ExpectNoError(err, "While fetching pvc after controller resize") inProgressConditions := pvc.Status.Conditions if len(inProgressConditions) > 0 { @@ -481,12 +481,12 @@ var _ = utils.SIGDescribe("CSI mock volume", func() { By("Deleting the previously created pod") err = framework.DeletePodWithWait(f, m.cs, pod) - Expect(err).NotTo(HaveOccurred(), "while deleting pod for resizing") + framework.ExpectNoError(err, "while deleting pod for resizing") By("Creating a new pod with same volume") pod2, err := createPodWithPVC(pvc) Expect(pod2).NotTo(BeNil(), "while creating pod for csi resizing") - Expect(err).NotTo(HaveOccurred(), "while recreating pod for resizing") + framework.ExpectNoError(err, "while recreating pod for resizing") checkPVCSize() } @@ -531,7 +531,7 @@ var _ = utils.SIGDescribe("CSI mock volume", func() { By("Expanding current pvc") newSize := resource.MustParse("6Gi") pvc, err = expandPVCSize(pvc, newSize, m.cs) - Expect(err).NotTo(HaveOccurred(), "While updating pvc for more size") + framework.ExpectNoError(err, "While updating pvc for more size") Expect(pvc).NotTo(BeNil()) pvcSize := pvc.Spec.Resources.Requests[v1.ResourceStorage] @@ -541,11 +541,11 @@ var _ = utils.SIGDescribe("CSI mock volume", func() { By("Waiting for persistent volume resize to finish") err = waitForControllerVolumeResize(pvc, m.cs, csiResizeWaitPeriod) - Expect(err).NotTo(HaveOccurred(), "While waiting for PV resize to finish") + framework.ExpectNoError(err, "While waiting for PV resize to finish") By("Waiting for PVC resize to finish") pvc, err = waitForFSResize(pvc, m.cs) - Expect(err).NotTo(HaveOccurred(), "while waiting for PVC to finish") + framework.ExpectNoError(err, "while waiting for PVC to finish") pvcConditions := pvc.Status.Conditions Expect(len(pvcConditions)).To(Equal(0), "pvc should not have conditions") @@ -613,7 +613,7 @@ func startPausePod(cs clientset.Interface, t testsuites.StorageClassTest, node f pvcClaims := []*v1.PersistentVolumeClaim{claim} _, err = framework.WaitForPVClaimBoundPhase(cs, pvcClaims, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred(), "Failed waiting for PVC to be bound %v", err) + framework.ExpectNoError(err, "Failed waiting for PVC to be bound %v", err) pod := &v1.Pod{ ObjectMeta: metav1.ObjectMeta{ diff --git a/test/e2e/storage/drivers/in_tree.go b/test/e2e/storage/drivers/in_tree.go index d56d47a62b2..2debd039b6c 100644 --- a/test/e2e/storage/drivers/in_tree.go +++ b/test/e2e/storage/drivers/in_tree.go @@ -1044,7 +1044,7 @@ func (c *cinderDriver) CreateVolume(config *testsuites.PerTestConfig, volType te output, err := exec.Command("cinder", "create", "--display-name="+volumeName, "1").CombinedOutput() outputString := string(output[:]) framework.Logf("cinder output:\n%s", outputString) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Parse 'id'' from stdout. Expected format: // | attachments | [] | @@ -1220,7 +1220,7 @@ func (g *gcePdDriver) CreateVolume(config *testsuites.PerTestConfig, volType tes } By("creating a test gce pd volume") vname, err := framework.CreatePDWithRetry() - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return &gcePdVolume{ volumeName: vname, } @@ -1341,7 +1341,7 @@ func (v *vSphereDriver) CreateVolume(config *testsuites.PerTestConfig, volType t vspheretest.Bootstrap(f) nodeInfo := vspheretest.GetReadySchedulableRandomNodeInfo() volumePath, err := nodeInfo.VSphere.CreateVolume(&vspheretest.VolumeOptions{}, nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return &vSphereVolume{ volumePath: volumePath, nodeInfo: nodeInfo, @@ -1460,7 +1460,7 @@ func (a *azureDriver) PrepareTest(f *framework.Framework) (*testsuites.PerTestCo func (a *azureDriver) CreateVolume(config *testsuites.PerTestConfig, volType testpatterns.TestVolType) testsuites.TestVolume { By("creating a test azure disk volume") volumeName, err := framework.CreatePDWithRetry() - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return &azureVolume{ volumeName: volumeName, } @@ -1573,7 +1573,7 @@ func (a *awsDriver) CreateVolume(config *testsuites.PerTestConfig, volType testp By("creating a test aws volume") var err error a.volumeName, err = framework.CreatePDWithRetry() - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err)) } DeleteVolume() { @@ -1687,9 +1687,9 @@ func (l *localDriver) PrepareTest(f *framework.Framework) (*testsuites.PerTestCo filesystemType := "fs" ssdCmd := fmt.Sprintf("ls -1 /mnt/disks/by-uuid/google-local-ssds-%s-%s/ | wc -l", ssdInterface, filesystemType) res, err := l.hostExec.IssueCommandWithResult(ssdCmd, l.node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) num, err := strconv.Atoi(strings.TrimSpace(res)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) if num < 1 { framework.Skipf("Requires at least 1 %s %s localSSD ", ssdInterface, filesystemType) } diff --git a/test/e2e/storage/external/external.go b/test/e2e/storage/external/external.go index 952eefffd8d..7263c344527 100644 --- a/test/e2e/storage/external/external.go +++ b/test/e2e/storage/external/external.go @@ -233,11 +233,11 @@ func (d *driverDefinition) GetDynamicProvisionStorageClass(config *testsuites.Pe } items, err := f.LoadFromManifests(d.StorageClass.FromFile) - gomega.Expect(err).NotTo(gomega.HaveOccurred(), "load storage class from %s", d.StorageClass.FromFile) + framework.ExpectNoError(err, "load storage class from %s", d.StorageClass.FromFile) gomega.Expect(len(items)).To(gomega.Equal(1), "exactly one item from %s", d.StorageClass.FromFile) err = f.PatchItems(items...) - gomega.Expect(err).NotTo(gomega.HaveOccurred(), "patch items") + framework.ExpectNoError(err, "patch items") sc, ok := items[0].(*storagev1.StorageClass) gomega.Expect(ok).To(gomega.BeTrue(), "storage class from %s", d.StorageClass.FromFile) diff --git a/test/e2e/storage/testsuites/base.go b/test/e2e/storage/testsuites/base.go index 696cd9cbf0c..433e92d3a19 100644 --- a/test/e2e/storage/testsuites/base.go +++ b/test/e2e/storage/testsuites/base.go @@ -23,7 +23,6 @@ import ( "time" . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" v1 "k8s.io/api/core/v1" storagev1 "k8s.io/api/storage/v1" @@ -201,7 +200,7 @@ func createGenericVolumeTestResource(driver TestDriver, config *PerTestConfig, p By("creating a StorageClass " + r.sc.Name) var err error r.sc, err = cs.StorageV1().StorageClasses().Create(r.sc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) if r.sc != nil { r.volSource, r.pv, r.pvc = createVolumeSourceWithPVCPVFromDynamicProvisionSC( @@ -289,10 +288,10 @@ func createVolumeSourceWithPVCPV( framework.Logf("Creating PVC and PV") pv, pvc, err := framework.CreatePVCPV(f.ClientSet, pvConfig, pvcConfig, f.Namespace.Name, false) - Expect(err).NotTo(HaveOccurred(), "PVC, PV creation failed") + framework.ExpectNoError(err, "PVC, PV creation failed") err = framework.WaitOnPVandPVC(f.ClientSet, f.Namespace.Name, pv, pvc) - Expect(err).NotTo(HaveOccurred(), "PVC, PV failed to bind") + framework.ExpectNoError(err, "PVC, PV failed to bind") volSource := &v1.VolumeSource{ PersistentVolumeClaim: &v1.PersistentVolumeClaimVolumeSource{ @@ -323,20 +322,20 @@ func createVolumeSourceWithPVCPVFromDynamicProvisionSC( var err error pvc, err = cs.CoreV1().PersistentVolumeClaims(ns).Create(pvc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) if !isDelayedBinding(sc) { err = framework.WaitForPersistentVolumeClaimPhase(v1.ClaimBound, cs, pvc.Namespace, pvc.Name, framework.Poll, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } pvc, err = cs.CoreV1().PersistentVolumeClaims(pvc.Namespace).Get(pvc.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) var pv *v1.PersistentVolume if !isDelayedBinding(sc) { pv, err = cs.CoreV1().PersistentVolumes().Get(pvc.Spec.VolumeName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } volSource := &v1.VolumeSource{ @@ -380,7 +379,7 @@ func getClaim(claimSize string, ns string) *v1.PersistentVolumeClaim { func deleteStorageClass(cs clientset.Interface, className string) { err := cs.StorageV1().StorageClasses().Delete(className, nil) if err != nil && !apierrs.IsNotFound(err) { - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } } diff --git a/test/e2e/storage/testsuites/multivolume.go b/test/e2e/storage/testsuites/multivolume.go index 5caaebb09f7..5ced33cfe8b 100644 --- a/test/e2e/storage/testsuites/multivolume.go +++ b/test/e2e/storage/testsuites/multivolume.go @@ -21,7 +21,6 @@ import ( "time" . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -326,7 +325,7 @@ func testAccessMultipleVolumes(f *framework.Framework, cs clientset.Interface, n defer func() { framework.ExpectNoError(framework.DeletePodWithWait(f, cs, pod)) }() - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) byteLen := 64 for i, pvc := range pvcs { @@ -349,7 +348,7 @@ func testAccessMultipleVolumes(f *framework.Framework, cs clientset.Interface, n } pod, err = cs.CoreV1().Pods(pod.Namespace).Get(pod.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred(), "get pod") + framework.ExpectNoError(err, "get pod") return pod.Spec.NodeName } @@ -400,10 +399,10 @@ func TestConcurrentAccessToSingleVolume(f *framework.Framework, cs clientset.Int defer func() { framework.ExpectNoError(framework.DeletePodWithWait(f, cs, pod)) }() - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) pod, err = cs.CoreV1().Pods(pod.Namespace).Get(pod.Name, metav1.GetOptions{}) pods = append(pods, pod) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("get pod%d", index)) + framework.ExpectNoError(err, fmt.Sprintf("get pod%d", index)) actualNodeName := pod.Spec.NodeName // Set affinity depending on requiresSameNode diff --git a/test/e2e/storage/testsuites/provisioning.go b/test/e2e/storage/testsuites/provisioning.go index bba40b1b1f5..e2cbc24ffd0 100644 --- a/test/e2e/storage/testsuites/provisioning.go +++ b/test/e2e/storage/testsuites/provisioning.go @@ -236,7 +236,7 @@ func (t StorageClassTest) TestDynamicProvisioning() *v1.PersistentVolume { // TODO: make class creation optional and remove the IsAlreadyExists exception Expect(err == nil || apierrs.IsAlreadyExists(err)).To(Equal(true)) class, err = client.StorageV1().StorageClasses().Get(class.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.Logf("deleting storage class %s", class.Name) framework.ExpectNoError(client.StorageV1().StorageClasses().Delete(class.Name, nil)) @@ -245,7 +245,7 @@ func (t StorageClassTest) TestDynamicProvisioning() *v1.PersistentVolume { By("creating a claim") claim, err = client.CoreV1().PersistentVolumeClaims(claim.Namespace).Create(claim) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.Logf("deleting claim %q/%q", claim.Namespace, claim.Name) // typically this claim has already been deleted @@ -283,11 +283,11 @@ func (t StorageClassTest) TestDynamicProvisioning() *v1.PersistentVolume { // checkProvisioning verifies that the claim is bound and has the correct properities func (t StorageClassTest) checkProvisioning(client clientset.Interface, claim *v1.PersistentVolumeClaim, class *storagev1.StorageClass) *v1.PersistentVolume { err := framework.WaitForPersistentVolumeClaimPhase(v1.ClaimBound, client, claim.Namespace, claim.Name, framework.Poll, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("checking the claim") pv, err := framework.GetBoundPV(client, claim) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Check sizes expectedCapacity := resource.MustParse(t.ExpectedSize) @@ -353,14 +353,14 @@ func PVWriteReadSingleNodeCheck(client clientset.Interface, claim *v1.Persistent }() framework.ExpectNoError(framework.WaitForPodSuccessInNamespaceSlow(client, pod.Name, pod.Namespace)) runningPod, err := client.CoreV1().Pods(pod.Namespace).Get(pod.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred(), "get pod") + framework.ExpectNoError(err, "get pod") actualNodeName := runningPod.Spec.NodeName StopPod(client, pod) pod = nil // Don't stop twice. // Get a new copy of the PV volume, err := framework.GetBoundPV(client, claim) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By(fmt.Sprintf("checking the created volume has the correct mount options, is readable and retains data on the same node %q", actualNodeName)) command = "grep 'hello world' /mnt/test/data" @@ -406,7 +406,7 @@ func PVMultiNodeCheck(client clientset.Interface, claim *v1.PersistentVolumeClai pod = StartInPodWithVolume(client, claim.Namespace, claim.Name, "pvc-writer-node1", command, node) framework.ExpectNoError(framework.WaitForPodSuccessInNamespaceSlow(client, pod.Name, pod.Namespace)) runningPod, err := client.CoreV1().Pods(pod.Namespace).Get(pod.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred(), "get pod") + framework.ExpectNoError(err, "get pod") actualNodeName := runningPod.Spec.NodeName StopPod(client, pod) pod = nil // Don't stop twice. @@ -422,7 +422,7 @@ func PVMultiNodeCheck(client clientset.Interface, claim *v1.PersistentVolumeClai pod = StartInPodWithVolume(client, claim.Namespace, claim.Name, "pvc-reader-node2", command, secondNode) framework.ExpectNoError(framework.WaitForPodSuccessInNamespaceSlow(client, pod.Name, pod.Namespace)) runningPod, err = client.CoreV1().Pods(pod.Namespace).Get(pod.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred(), "get pod") + framework.ExpectNoError(err, "get pod") Expect(runningPod.Spec.NodeName).NotTo(Equal(actualNodeName), "second pod should have run on a different node") StopPod(client, pod) pod = nil @@ -443,7 +443,7 @@ func (t StorageClassTest) TestBindingWaitForFirstConsumerMultiPVC(claims []*v1.P By("creating a storage class " + t.Class.Name) class, err := t.Client.StorageV1().StorageClasses().Create(t.Class) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer deleteStorageClass(t.Client, class.Name) By("creating claims") @@ -453,7 +453,7 @@ func (t StorageClassTest) TestBindingWaitForFirstConsumerMultiPVC(claims []*v1.P c, err := t.Client.CoreV1().PersistentVolumeClaims(claim.Namespace).Create(claim) claimNames = append(claimNames, c.Name) createdClaims = append(createdClaims, c) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } defer func() { var errors map[string]error @@ -484,7 +484,7 @@ func (t StorageClassTest) TestBindingWaitForFirstConsumerMultiPVC(claims []*v1.P } else { pod, err = framework.CreatePod(t.Client, namespace, nil /* nodeSelector */, createdClaims, true /* isPrivileged */, "" /* command */) } - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.DeletePodOrFail(t.Client, pod.Namespace, pod.Name) framework.WaitForPodToDisappear(t.Client, pod.Namespace, pod.Name, labels.Everything(), framework.Poll, framework.PodDeleteTimeout) @@ -497,20 +497,20 @@ func (t StorageClassTest) TestBindingWaitForFirstConsumerMultiPVC(claims []*v1.P // collect node details node, err := t.Client.CoreV1().Nodes().Get(pod.Spec.NodeName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("re-checking the claims to see they binded") var pvs []*v1.PersistentVolume for _, claim := range createdClaims { // Get new copy of the claim claim, err = t.Client.CoreV1().PersistentVolumeClaims(claim.Namespace).Get(claim.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // make sure claim did bind err = framework.WaitForPersistentVolumeClaimPhase(v1.ClaimBound, t.Client, claim.Namespace, claim.Name, framework.Poll, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) pv, err := t.Client.CoreV1().PersistentVolumes().Get(claim.Spec.VolumeName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) pvs = append(pvs, pv) } Expect(len(pvs)).To(Equal(len(createdClaims))) @@ -594,7 +594,7 @@ func verifyPVCsPending(client clientset.Interface, pvcs []*v1.PersistentVolumeCl for _, claim := range pvcs { // Get new copy of the claim claim, err := client.CoreV1().PersistentVolumeClaims(claim.Namespace).Get(claim.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) Expect(claim.Status.Phase).To(Equal(v1.ClaimPending)) } } @@ -611,19 +611,19 @@ func prepareDataSourceForProvisioning( if class != nil { By("[Initialize dataSource]creating a StorageClass " + class.Name) _, err = client.StorageV1().StorageClasses().Create(class) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } By("[Initialize dataSource]creating a initClaim") updatedClaim, err := client.CoreV1().PersistentVolumeClaims(initClaim.Namespace).Create(initClaim) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) err = framework.WaitForPersistentVolumeClaimPhase(v1.ClaimBound, client, updatedClaim.Namespace, updatedClaim.Name, framework.Poll, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("[Initialize dataSource]checking the initClaim") // Get new copy of the initClaim _, err = client.CoreV1().PersistentVolumeClaims(updatedClaim.Namespace).Get(updatedClaim.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // write namespace to the /mnt/test (= the volume). By("[Initialize dataSource]write data to volume") @@ -636,15 +636,15 @@ func prepareDataSourceForProvisioning( By("[Initialize dataSource]creating a snapshot") snapshot := getSnapshot(updatedClaim.Name, updatedClaim.Namespace, snapshotClass.GetName()) snapshot, err = dynamicClient.Resource(snapshotGVR).Namespace(updatedClaim.Namespace).Create(snapshot, metav1.CreateOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) WaitForSnapshotReady(dynamicClient, snapshot.GetNamespace(), snapshot.GetName(), framework.Poll, framework.SnapshotCreateTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("[Initialize dataSource]checking the snapshot") // Get new copy of the snapshot snapshot, err = dynamicClient.Resource(snapshotGVR).Namespace(snapshot.GetNamespace()).Get(snapshot.GetName(), metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) group := "snapshot.storage.k8s.io" dataSourceRef := &v1.TypedLocalObjectReference{ APIGroup: &group, diff --git a/test/e2e/storage/testsuites/snapshottable.go b/test/e2e/storage/testsuites/snapshottable.go index 64507514500..e40bf65cf2e 100644 --- a/test/e2e/storage/testsuites/snapshottable.go +++ b/test/e2e/storage/testsuites/snapshottable.go @@ -123,7 +123,7 @@ func (s *snapshottableTestSuite) defineTests(driver TestDriver, pattern testpatt By("creating a StorageClass " + class.Name) class, err := cs.StorageV1().StorageClasses().Create(class) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.Logf("deleting storage class %s", class.Name) framework.ExpectNoError(cs.StorageV1().StorageClasses().Delete(class.Name, nil)) @@ -131,7 +131,7 @@ func (s *snapshottableTestSuite) defineTests(driver TestDriver, pattern testpatt By("creating a claim") pvc, err = cs.CoreV1().PersistentVolumeClaims(pvc.Namespace).Create(pvc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.Logf("deleting claim %q/%q", pvc.Namespace, pvc.Name) // typically this claim has already been deleted @@ -141,20 +141,20 @@ func (s *snapshottableTestSuite) defineTests(driver TestDriver, pattern testpatt } }() err = framework.WaitForPersistentVolumeClaimPhase(v1.ClaimBound, cs, pvc.Namespace, pvc.Name, framework.Poll, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("checking the claim") // Get new copy of the claim pvc, err = cs.CoreV1().PersistentVolumeClaims(pvc.Namespace).Get(pvc.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Get the bound PV pv, err := cs.CoreV1().PersistentVolumes().Get(pvc.Spec.VolumeName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("creating a SnapshotClass") vsc, err = dc.Resource(snapshotClassGVR).Create(vsc, metav1.CreateOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.Logf("deleting SnapshotClass %s", vsc.GetName()) framework.ExpectNoError(dc.Resource(snapshotClassGVR).Delete(vsc.GetName(), nil)) @@ -164,7 +164,7 @@ func (s *snapshottableTestSuite) defineTests(driver TestDriver, pattern testpatt snapshot := getSnapshot(pvc.Name, pvc.Namespace, vsc.GetName()) snapshot, err = dc.Resource(snapshotGVR).Namespace(snapshot.GetNamespace()).Create(snapshot, metav1.CreateOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.Logf("deleting snapshot %q/%q", snapshot.GetNamespace(), snapshot.GetName()) // typically this snapshot has already been deleted @@ -174,18 +174,18 @@ func (s *snapshottableTestSuite) defineTests(driver TestDriver, pattern testpatt } }() err = WaitForSnapshotReady(dc, snapshot.GetNamespace(), snapshot.GetName(), framework.Poll, framework.SnapshotCreateTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("checking the snapshot") // Get new copy of the snapshot snapshot, err = dc.Resource(snapshotGVR).Namespace(snapshot.GetNamespace()).Get(snapshot.GetName(), metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Get the bound snapshotContent snapshotSpec := snapshot.Object["spec"].(map[string]interface{}) snapshotContentName := snapshotSpec["snapshotContentName"].(string) snapshotContent, err := dc.Resource(snapshotContentGVR).Get(snapshotContentName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) snapshotContentSpec := snapshotContent.Object["spec"].(map[string]interface{}) volumeSnapshotRef := snapshotContentSpec["volumeSnapshotRef"].(map[string]interface{}) diff --git a/test/e2e/storage/testsuites/subpath.go b/test/e2e/storage/testsuites/subpath.go index 674e98a79e0..b4b682abcd6 100644 --- a/test/e2e/storage/testsuites/subpath.go +++ b/test/e2e/storage/testsuites/subpath.go @@ -439,7 +439,7 @@ func TestBasicSubpathFile(f *framework.Framework, contents string, pod *v1.Pod, By(fmt.Sprintf("Deleting pod %s", pod.Name)) err := framework.DeletePodWithWait(f, f.ClientSet, pod) - Expect(err).NotTo(HaveOccurred(), "while deleting pod") + framework.ExpectNoError(err, "while deleting pod") } func generateSuffixForPodName(s string) string { @@ -699,7 +699,7 @@ func testReadFile(f *framework.Framework, file string, pod *v1.Pod, containerInd By(fmt.Sprintf("Deleting pod %s", pod.Name)) err := framework.DeletePodWithWait(f, f.ClientSet, pod) - Expect(err).NotTo(HaveOccurred(), "while deleting pod") + framework.ExpectNoError(err, "while deleting pod") } func testPodFailSubpath(f *framework.Framework, pod *v1.Pod, allowContainerTerminationError bool) { @@ -716,7 +716,7 @@ func testPodFailSubpathError(f *framework.Framework, pod *v1.Pod, errorMsg strin }() By("Checking for subpath error in container status") err = waitForPodSubpathError(f, pod, allowContainerTerminationError) - Expect(err).NotTo(HaveOccurred(), "while waiting for subpath failure") + framework.ExpectNoError(err, "while waiting for subpath failure") } func findSubpathContainerName(pod *v1.Pod) string { diff --git a/test/e2e/storage/testsuites/volume_io.go b/test/e2e/storage/testsuites/volume_io.go index 7f6227a258c..bbd34727eba 100644 --- a/test/e2e/storage/testsuites/volume_io.go +++ b/test/e2e/storage/testsuites/volume_io.go @@ -30,7 +30,6 @@ import ( "time" . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" clientset "k8s.io/client-go/kubernetes" @@ -133,7 +132,7 @@ func (t *volumeIOTestSuite) defineTests(driver TestDriver, pattern testpatterns. FSGroup: fsGroup, } err := testVolumeIO(f, cs, convertTestConfig(l.config), *l.resource.volSource, &podSec, testFile, fileSizes) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) }) } diff --git a/test/e2e/storage/testsuites/volumemode.go b/test/e2e/storage/testsuites/volumemode.go index 358717a499a..4b782ce665d 100644 --- a/test/e2e/storage/testsuites/volumemode.go +++ b/test/e2e/storage/testsuites/volumemode.go @@ -168,16 +168,16 @@ func (t *volumeModeTestSuite) defineTests(driver TestDriver, pattern testpattern By("Creating sc") l.sc, err = l.cs.StorageV1().StorageClasses().Create(l.sc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Creating pv and pvc") l.pv, err = l.cs.CoreV1().PersistentVolumes().Create(l.pv) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Prebind pv l.pvc.Spec.VolumeName = l.pv.Name l.pvc, err = l.cs.CoreV1().PersistentVolumeClaims(l.ns.Name).Create(l.pvc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) framework.ExpectNoError(framework.WaitOnPVandPVC(l.cs, l.ns.Name, l.pv, l.pvc)) @@ -199,16 +199,16 @@ func (t *volumeModeTestSuite) defineTests(driver TestDriver, pattern testpattern By("Creating sc") l.sc, err = l.cs.StorageV1().StorageClasses().Create(l.sc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Creating pv and pvc") l.pv, err = l.cs.CoreV1().PersistentVolumes().Create(l.pv) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Prebind pv l.pvc.Spec.VolumeName = l.pv.Name l.pvc, err = l.cs.CoreV1().PersistentVolumeClaims(l.ns.Name).Create(l.pvc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) framework.ExpectNoError(framework.WaitOnPVandPVC(l.cs, l.ns.Name, l.pv, l.pvc)) @@ -219,7 +219,7 @@ func (t *volumeModeTestSuite) defineTests(driver TestDriver, pattern testpattern defer func() { framework.ExpectNoError(framework.DeletePodWithWait(f, l.cs, pod)) }() - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Checking if persistent volume exists as expected volume mode") utils.CheckVolumeModeOfPath(pod, pattern.VolMode, "/mnt/volume1") @@ -239,11 +239,11 @@ func (t *volumeModeTestSuite) defineTests(driver TestDriver, pattern testpattern By("Creating sc") l.sc, err = l.cs.StorageV1().StorageClasses().Create(l.sc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Creating pv and pvc") l.pvc, err = l.cs.CoreV1().PersistentVolumeClaims(l.ns.Name).Create(l.pvc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) err = framework.WaitForPersistentVolumeClaimPhase(v1.ClaimBound, l.cs, l.pvc.Namespace, l.pvc.Name, framework.Poll, framework.ClaimProvisionTimeout) Expect(err).To(HaveOccurred()) @@ -257,20 +257,20 @@ func (t *volumeModeTestSuite) defineTests(driver TestDriver, pattern testpattern By("Creating sc") l.sc, err = l.cs.StorageV1().StorageClasses().Create(l.sc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Creating pv and pvc") l.pvc, err = l.cs.CoreV1().PersistentVolumeClaims(l.ns.Name).Create(l.pvc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) err = framework.WaitForPersistentVolumeClaimPhase(v1.ClaimBound, l.cs, l.pvc.Namespace, l.pvc.Name, framework.Poll, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) l.pvc, err = l.cs.CoreV1().PersistentVolumeClaims(l.pvc.Namespace).Get(l.pvc.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) l.pv, err = l.cs.CoreV1().PersistentVolumes().Get(l.pvc.Spec.VolumeName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Creating pod") pod, err := framework.CreateSecPodWithNodeSelection(l.cs, l.ns.Name, []*v1.PersistentVolumeClaim{l.pvc}, @@ -279,7 +279,7 @@ func (t *volumeModeTestSuite) defineTests(driver TestDriver, pattern testpattern defer func() { framework.ExpectNoError(framework.DeletePodWithWait(f, l.cs, pod)) }() - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Checking if persistent volume exists as expected volume mode") utils.CheckVolumeModeOfPath(pod, pattern.VolMode, "/mnt/volume1") diff --git a/test/e2e/storage/testsuites/volumes.go b/test/e2e/storage/testsuites/volumes.go index 5ffadae835e..3149be6f051 100644 --- a/test/e2e/storage/testsuites/volumes.go +++ b/test/e2e/storage/testsuites/volumes.go @@ -25,7 +25,6 @@ import ( "fmt" . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -226,5 +225,5 @@ func testScriptInPod( By(fmt.Sprintf("Deleting pod %s", pod.Name)) err := framework.DeletePodWithWait(f, f.ClientSet, pod) - Expect(err).NotTo(HaveOccurred(), "while deleting pod") + framework.ExpectNoError(err, "while deleting pod") } diff --git a/test/e2e/storage/utils/local.go b/test/e2e/storage/utils/local.go index 5281b1ab08f..6f9c4d1130f 100644 --- a/test/e2e/storage/utils/local.go +++ b/test/e2e/storage/utils/local.go @@ -26,7 +26,6 @@ import ( "strings" . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" @@ -102,7 +101,7 @@ func (l *ltrMgr) setupLocalVolumeTmpfs(node *v1.Node, parameters map[string]stri hostDir := l.getTestDir() By(fmt.Sprintf("Creating tmpfs mount point on node %q at path %q", node.Name, hostDir)) err := l.hostExec.IssueCommand(fmt.Sprintf("mkdir -p %q && sudo mount -t tmpfs -o size=10m tmpfs-%q %q", hostDir, hostDir, hostDir), node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return &LocalTestResource{ Node: node, Path: hostDir, @@ -112,11 +111,11 @@ func (l *ltrMgr) setupLocalVolumeTmpfs(node *v1.Node, parameters map[string]stri func (l *ltrMgr) cleanupLocalVolumeTmpfs(ltr *LocalTestResource) { By(fmt.Sprintf("Unmount tmpfs mount point on node %q at path %q", ltr.Node.Name, ltr.Path)) err := l.hostExec.IssueCommand(fmt.Sprintf("sudo umount %q", ltr.Path), ltr.Node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Removing the test directory") err = l.hostExec.IssueCommand(fmt.Sprintf("rm -r %s", ltr.Path), ltr.Node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } // createAndSetupLoopDevice creates an empty file and associates a loop devie with it. @@ -131,14 +130,14 @@ func (l *ltrMgr) createAndSetupLoopDevice(dir string, node *v1.Node, size int) { ddCmd := fmt.Sprintf("dd if=/dev/zero of=%s/file bs=4096 count=%d", dir, count) losetupCmd := fmt.Sprintf("sudo losetup -f %s/file", dir) err := l.hostExec.IssueCommand(fmt.Sprintf("%s && %s && %s", mkdirCmd, ddCmd, losetupCmd), node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } // findLoopDevice finds loop device path by its associated storage directory. func (l *ltrMgr) findLoopDevice(dir string, node *v1.Node) string { cmd := fmt.Sprintf("E2E_LOOP_DEV=$(sudo losetup | grep %s/file | awk '{ print $1 }') 2>&1 > /dev/null && echo ${E2E_LOOP_DEV}", dir) loopDevResult, err := l.hostExec.IssueCommandWithResult(cmd, node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return strings.TrimSpace(loopDevResult) } @@ -159,7 +158,7 @@ func (l *ltrMgr) teardownLoopDevice(dir string, node *v1.Node) { By(fmt.Sprintf("Tear down block device %q on node %q at path %s/file", loopDev, node.Name, dir)) losetupDeleteCmd := fmt.Sprintf("sudo losetup -d %s", loopDev) err := l.hostExec.IssueCommand(losetupDeleteCmd, node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return } @@ -168,7 +167,7 @@ func (l *ltrMgr) cleanupLocalVolumeBlock(ltr *LocalTestResource) { By(fmt.Sprintf("Removing the test directory %s", ltr.loopDir)) removeCmd := fmt.Sprintf("rm -r %s", ltr.loopDir) err := l.hostExec.IssueCommand(removeCmd, ltr.Node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } func (l *ltrMgr) setupLocalVolumeBlockFS(node *v1.Node, parameters map[string]string) *LocalTestResource { @@ -178,7 +177,7 @@ func (l *ltrMgr) setupLocalVolumeBlockFS(node *v1.Node, parameters map[string]st // Format and mount at loopDir and give others rwx for read/write testing cmd := fmt.Sprintf("sudo mkfs -t ext4 %s && sudo mount -t ext4 %s %s && sudo chmod o+rwx %s", loopDev, loopDev, loopDir, loopDir) err := l.hostExec.IssueCommand(cmd, node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return &LocalTestResource{ Node: node, Path: loopDir, @@ -189,7 +188,7 @@ func (l *ltrMgr) setupLocalVolumeBlockFS(node *v1.Node, parameters map[string]st func (l *ltrMgr) cleanupLocalVolumeBlockFS(ltr *LocalTestResource) { umountCmd := fmt.Sprintf("sudo umount %s", ltr.Path) err := l.hostExec.IssueCommand(umountCmd, ltr.Node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) l.cleanupLocalVolumeBlock(ltr) } @@ -197,7 +196,7 @@ func (l *ltrMgr) setupLocalVolumeDirectory(node *v1.Node, parameters map[string] hostDir := l.getTestDir() mkdirCmd := fmt.Sprintf("mkdir -p %s", hostDir) err := l.hostExec.IssueCommand(mkdirCmd, node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return &LocalTestResource{ Node: node, Path: hostDir, @@ -208,7 +207,7 @@ func (l *ltrMgr) cleanupLocalVolumeDirectory(ltr *LocalTestResource) { By("Removing the test directory") removeCmd := fmt.Sprintf("rm -r %s", ltr.Path) err := l.hostExec.IssueCommand(removeCmd, ltr.Node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } func (l *ltrMgr) setupLocalVolumeDirectoryLink(node *v1.Node, parameters map[string]string) *LocalTestResource { @@ -216,7 +215,7 @@ func (l *ltrMgr) setupLocalVolumeDirectoryLink(node *v1.Node, parameters map[str hostDirBackend := hostDir + "-backend" cmd := fmt.Sprintf("mkdir %s && sudo ln -s %s %s", hostDirBackend, hostDirBackend, hostDir) err := l.hostExec.IssueCommand(cmd, node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return &LocalTestResource{ Node: node, Path: hostDir, @@ -229,14 +228,14 @@ func (l *ltrMgr) cleanupLocalVolumeDirectoryLink(ltr *LocalTestResource) { hostDirBackend := hostDir + "-backend" removeCmd := fmt.Sprintf("sudo rm -r %s && rm -r %s", hostDir, hostDirBackend) err := l.hostExec.IssueCommand(removeCmd, ltr.Node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } func (l *ltrMgr) setupLocalVolumeDirectoryBindMounted(node *v1.Node, parameters map[string]string) *LocalTestResource { hostDir := l.getTestDir() cmd := fmt.Sprintf("mkdir %s && sudo mount --bind %s %s", hostDir, hostDir, hostDir) err := l.hostExec.IssueCommand(cmd, node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return &LocalTestResource{ Node: node, Path: hostDir, @@ -248,7 +247,7 @@ func (l *ltrMgr) cleanupLocalVolumeDirectoryBindMounted(ltr *LocalTestResource) hostDir := ltr.Path removeCmd := fmt.Sprintf("sudo umount %s && rm -r %s", hostDir, hostDir) err := l.hostExec.IssueCommand(removeCmd, ltr.Node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } func (l *ltrMgr) setupLocalVolumeDirectoryLinkBindMounted(node *v1.Node, parameters map[string]string) *LocalTestResource { @@ -256,7 +255,7 @@ func (l *ltrMgr) setupLocalVolumeDirectoryLinkBindMounted(node *v1.Node, paramet hostDirBackend := hostDir + "-backend" cmd := fmt.Sprintf("mkdir %s && sudo mount --bind %s %s && sudo ln -s %s %s", hostDirBackend, hostDirBackend, hostDirBackend, hostDirBackend, hostDir) err := l.hostExec.IssueCommand(cmd, node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return &LocalTestResource{ Node: node, Path: hostDir, @@ -269,12 +268,12 @@ func (l *ltrMgr) cleanupLocalVolumeDirectoryLinkBindMounted(ltr *LocalTestResour hostDirBackend := hostDir + "-backend" removeCmd := fmt.Sprintf("sudo rm %s && sudo umount %s && rm -r %s", hostDir, hostDirBackend, hostDirBackend) err := l.hostExec.IssueCommand(removeCmd, ltr.Node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } func (l *ltrMgr) setupLocalVolumeGCELocalSSD(node *v1.Node, parameters map[string]string) *LocalTestResource { res, err := l.hostExec.IssueCommandWithResult("ls /mnt/disks/by-uuid/google-local-ssds-scsi-fs/", node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) dirName := strings.Fields(res)[0] hostDir := "/mnt/disks/by-uuid/google-local-ssds-scsi-fs/" + dirName return &LocalTestResource{ @@ -287,7 +286,7 @@ func (l *ltrMgr) cleanupLocalVolumeGCELocalSSD(ltr *LocalTestResource) { // This filesystem is attached in cluster initialization, we clean all files to make it reusable. removeCmd := fmt.Sprintf("find '%s' -mindepth 1 -maxdepth 1 -print0 | xargs -r -0 rm -rf", ltr.Path) err := l.hostExec.IssueCommand(removeCmd, ltr.Node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } func (l *ltrMgr) Create(node *v1.Node, volumeType LocalVolumeType, parameters map[string]string) *LocalTestResource { diff --git a/test/e2e/storage/utils/utils.go b/test/e2e/storage/utils/utils.go index 709ccdbf735..8edf5b27a3c 100644 --- a/test/e2e/storage/utils/utils.go +++ b/test/e2e/storage/utils/utils.go @@ -63,11 +63,11 @@ func VerifyExecInPodSucceed(pod *v1.Pod, bashExec string) { if err != nil { if err, ok := err.(uexec.CodeExitError); ok { exitCode := err.ExitStatus() - Expect(err).NotTo(HaveOccurred(), + framework.ExpectNoError(err, "%q should succeed, but failed with exit code %d and error message %q", bashExec, exitCode, err) } else { - Expect(err).NotTo(HaveOccurred(), + framework.ExpectNoError(err, "%q should succeed, but failed with error message %q", bashExec, err) } @@ -84,7 +84,7 @@ func VerifyExecInPodFail(pod *v1.Pod, bashExec string, exitCode int) { "%q should fail with exit code %d, but failed with exit code %d and error message %q", bashExec, exitCode, actualExitCode, err) } else { - Expect(err).NotTo(HaveOccurred(), + framework.ExpectNoError(err, "%q should fail with exit code %d, but failed with error message %q", bashExec, exitCode, err) } @@ -105,19 +105,19 @@ func KubeletCommand(kOp KubeletOpt, c clientset.Interface, pod *v1.Pod) { kubeletPid := "" nodeIP, err := framework.GetHostExternalAddress(c, pod) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) nodeIP = nodeIP + ":22" framework.Logf("Checking if sudo command is present") sshResult, err := framework.SSH("sudo --version", nodeIP, framework.TestContext.Provider) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("SSH to Node %q errored.", pod.Spec.NodeName)) + framework.ExpectNoError(err, fmt.Sprintf("SSH to Node %q errored.", pod.Spec.NodeName)) if !strings.Contains(sshResult.Stderr, "command not found") { sudoPresent = true } framework.Logf("Checking if systemctl command is present") sshResult, err = framework.SSH("systemctl --version", nodeIP, framework.TestContext.Provider) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("SSH to Node %q errored.", pod.Spec.NodeName)) + framework.ExpectNoError(err, fmt.Sprintf("SSH to Node %q errored.", pod.Spec.NodeName)) if !strings.Contains(sshResult.Stderr, "command not found") { command = fmt.Sprintf("systemctl %s kubelet", string(kOp)) systemctlPresent = true @@ -134,7 +134,7 @@ func KubeletCommand(kOp KubeletOpt, c clientset.Interface, pod *v1.Pod) { framework.Logf("Attempting `%s`", command) sshResult, err = framework.SSH(command, nodeIP, framework.TestContext.Provider) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("SSH to Node %q errored.", pod.Spec.NodeName)) + framework.ExpectNoError(err, fmt.Sprintf("SSH to Node %q errored.", pod.Spec.NodeName)) framework.LogSSHResult(sshResult) Expect(sshResult.Code).To(BeZero(), "Failed to [%s] kubelet:\n%#v", string(kOp), sshResult) @@ -178,7 +178,7 @@ func getKubeletMainPid(nodeIP string, sudoPresent bool, systemctlPresent bool) s } framework.Logf("Attempting `%s`", command) sshResult, err := framework.SSH(command, nodeIP, framework.TestContext.Provider) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("SSH to Node %q errored.", nodeIP)) + framework.ExpectNoError(err, fmt.Sprintf("SSH to Node %q errored.", nodeIP)) framework.LogSSHResult(sshResult) Expect(sshResult.Code).To(BeZero(), "Failed to get kubelet PID") Expect(sshResult.Stdout).NotTo(BeEmpty(), "Kubelet Main PID should not be Empty") @@ -191,7 +191,7 @@ func TestKubeletRestartsAndRestoresMount(c clientset.Interface, f *framework.Fra file := "/mnt/_SUCCESS" out, err := PodExec(clientPod, fmt.Sprintf("touch %s", file)) framework.Logf(out) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Restarting kubelet") KubeletCommand(KRestart, c, clientPod) @@ -199,7 +199,7 @@ func TestKubeletRestartsAndRestoresMount(c clientset.Interface, f *framework.Fra By("Testing that written file is accessible.") out, err = PodExec(clientPod, fmt.Sprintf("cat %s", file)) framework.Logf(out) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) framework.Logf("Volume mount detected on pod %s and written file %s is readable post-restart.", clientPod.Name, file) } @@ -207,20 +207,20 @@ func TestKubeletRestartsAndRestoresMount(c clientset.Interface, f *framework.Fra // forceDelete is true indicating whether the pod is forcefully deleted. func TestVolumeUnmountsFromDeletedPodWithForceOption(c clientset.Interface, f *framework.Framework, clientPod *v1.Pod, forceDelete bool, checkSubpath bool) { nodeIP, err := framework.GetHostExternalAddress(c, clientPod) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) nodeIP = nodeIP + ":22" By("Expecting the volume mount to be found.") result, err := framework.SSH(fmt.Sprintf("mount | grep %s | grep -v volume-subpaths", clientPod.UID), nodeIP, framework.TestContext.Provider) framework.LogSSHResult(result) - Expect(err).NotTo(HaveOccurred(), "Encountered SSH error.") + framework.ExpectNoError(err, "Encountered SSH error.") Expect(result.Code).To(BeZero(), fmt.Sprintf("Expected grep exit code of 0, got %d", result.Code)) if checkSubpath { By("Expecting the volume subpath mount to be found.") result, err := framework.SSH(fmt.Sprintf("cat /proc/self/mountinfo | grep %s | grep volume-subpaths", clientPod.UID), nodeIP, framework.TestContext.Provider) framework.LogSSHResult(result) - Expect(err).NotTo(HaveOccurred(), "Encountered SSH error.") + framework.ExpectNoError(err, "Encountered SSH error.") Expect(result.Code).To(BeZero(), fmt.Sprintf("Expected grep exit code of 0, got %d", result.Code)) } @@ -237,13 +237,13 @@ func TestVolumeUnmountsFromDeletedPodWithForceOption(c clientset.Interface, f *f } else { err = c.CoreV1().Pods(clientPod.Namespace).Delete(clientPod.Name, &metav1.DeleteOptions{}) } - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Starting the kubelet and waiting for pod to delete.") KubeletCommand(KStart, c, clientPod) err = f.WaitForPodNotFound(clientPod.Name, framework.PodDeleteTimeout) if err != nil { - Expect(err).NotTo(HaveOccurred(), "Expected pod to be not found.") + framework.ExpectNoError(err, "Expected pod to be not found.") } if forceDelete { @@ -255,7 +255,7 @@ func TestVolumeUnmountsFromDeletedPodWithForceOption(c clientset.Interface, f *f By("Expecting the volume mount not to be found.") result, err = framework.SSH(fmt.Sprintf("mount | grep %s | grep -v volume-subpaths", clientPod.UID), nodeIP, framework.TestContext.Provider) framework.LogSSHResult(result) - Expect(err).NotTo(HaveOccurred(), "Encountered SSH error.") + framework.ExpectNoError(err, "Encountered SSH error.") Expect(result.Stdout).To(BeEmpty(), "Expected grep stdout to be empty (i.e. no mount found).") framework.Logf("Volume unmounted on node %s", clientPod.Spec.NodeName) @@ -263,7 +263,7 @@ func TestVolumeUnmountsFromDeletedPodWithForceOption(c clientset.Interface, f *f By("Expecting the volume subpath mount not to be found.") result, err = framework.SSH(fmt.Sprintf("cat /proc/self/mountinfo | grep %s | grep volume-subpaths", clientPod.UID), nodeIP, framework.TestContext.Provider) framework.LogSSHResult(result) - Expect(err).NotTo(HaveOccurred(), "Encountered SSH error.") + framework.ExpectNoError(err, "Encountered SSH error.") Expect(result.Stdout).To(BeEmpty(), "Expected grep stdout to be empty (i.e. no subpath mount found).") framework.Logf("Subpath volume unmounted on node %s", clientPod.Spec.NodeName) } diff --git a/test/e2e/storage/volume_provisioning.go b/test/e2e/storage/volume_provisioning.go index 379dae70c2b..609e9c4b172 100644 --- a/test/e2e/storage/volume_provisioning.go +++ b/test/e2e/storage/volume_provisioning.go @@ -278,7 +278,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { Expect(volume).NotTo(BeNil(), "get bound PV") err := checkGCEPD(volume, "pd-ssd") - Expect(err).NotTo(HaveOccurred(), "checkGCEPD pd-ssd") + framework.ExpectNoError(err, "checkGCEPD pd-ssd") }, }, { @@ -295,7 +295,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { Expect(volume).NotTo(BeNil(), "get bound PV") err := checkGCEPD(volume, "pd-standard") - Expect(err).NotTo(HaveOccurred(), "checkGCEPD pd-standard") + framework.ExpectNoError(err, "checkGCEPD pd-standard") }, }, // AWS @@ -314,7 +314,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { Expect(volume).NotTo(BeNil(), "get bound PV") err := checkAWSEBS(volume, "gp2", false) - Expect(err).NotTo(HaveOccurred(), "checkAWSEBS gp2") + framework.ExpectNoError(err, "checkAWSEBS gp2") }, }, { @@ -332,7 +332,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { Expect(volume).NotTo(BeNil(), "get bound PV") err := checkAWSEBS(volume, "io1", false) - Expect(err).NotTo(HaveOccurred(), "checkAWSEBS io1") + framework.ExpectNoError(err, "checkAWSEBS io1") }, }, { @@ -349,7 +349,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { Expect(volume).NotTo(BeNil(), "get bound PV") err := checkAWSEBS(volume, "sc1", false) - Expect(err).NotTo(HaveOccurred(), "checkAWSEBS sc1") + framework.ExpectNoError(err, "checkAWSEBS sc1") }, }, { @@ -366,7 +366,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { Expect(volume).NotTo(BeNil(), "get bound PV") err := checkAWSEBS(volume, "st1", false) - Expect(err).NotTo(HaveOccurred(), "checkAWSEBS st1") + framework.ExpectNoError(err, "checkAWSEBS st1") }, }, { @@ -383,7 +383,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { Expect(volume).NotTo(BeNil(), "get bound PV") err := checkAWSEBS(volume, "gp2", true) - Expect(err).NotTo(HaveOccurred(), "checkAWSEBS gp2 encrypted") + framework.ExpectNoError(err, "checkAWSEBS gp2 encrypted") }, }, // OpenStack generic tests (works on all OpenStack deployments) @@ -467,7 +467,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { class := newBetaStorageClass(*betaTest, "beta") // we need to create the class manually, testDynamicProvisioning does not accept beta class class, err := c.StorageV1beta1().StorageClasses().Create(class) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer deleteStorageClass(c, class.Name) betaTest.Client = c @@ -496,7 +496,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { Expect(volume).NotTo(BeNil(), "get bound PV") err := checkGCEPD(volume, "pd-standard") - Expect(err).NotTo(HaveOccurred(), "checkGCEPD") + framework.ExpectNoError(err, "checkGCEPD") }, } test.Class = newStorageClass(test, ns, "reclaimpolicy") @@ -526,15 +526,15 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { managedZones := sets.NewString() // subset of allZones gceCloud, err := gce.GetGCECloud() - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Get all k8s managed zones (same as zones with nodes in them for test) managedZones, err = gceCloud.GetAllZonesFromCloudProvider() - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Get a list of all zones in the project zones, err := gceCloud.ComputeServices().GA.Zones.List(framework.TestContext.CloudConfig.ProjectID).Do() - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) for _, z := range zones.Items { allZones.Insert(z.Name) } @@ -557,14 +557,14 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { } sc := newStorageClass(test, ns, suffix) sc, err = c.StorageV1().StorageClasses().Create(sc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer deleteStorageClass(c, sc.Name) By("Creating a claim and expecting it to timeout") pvc := newClaim(test, ns, suffix) pvc.Spec.StorageClassName = &sc.Name pvc, err = c.CoreV1().PersistentVolumeClaims(ns).Create(pvc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.ExpectNoError(framework.DeletePersistentVolumeClaim(c, pvc.Name, ns), "Failed to delete PVC ", pvc.Name) }() @@ -594,7 +594,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { class := newStorageClass(test, ns, "race") class, err := c.StorageV1().StorageClasses().Create(class) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer deleteStorageClass(c, class.Name) // To increase chance of detection, attempt multiple iterations @@ -603,13 +603,13 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { claim := newClaim(test, ns, suffix) claim.Spec.StorageClassName = &class.Name tmpClaim, err := framework.CreatePVC(c, ns, claim) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) framework.ExpectNoError(framework.DeletePersistentVolumeClaim(c, tmpClaim.Name, ns)) } By(fmt.Sprintf("Checking for residual PersistentVolumes associated with StorageClass %s", class.Name)) residualPVs, err = waitForProvisionedVolumesDeleted(c, class.Name) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Cleanup the test resources before breaking defer deleteProvisionedVolumesAndDisks(c, residualPVs) @@ -695,7 +695,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { By("waiting for the PV to get deleted") err = framework.WaitForPersistentVolumeDeleted(c, pv.Name, 5*time.Second, framework.PVDeletingTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) }) }) @@ -786,7 +786,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { By("creating a claim with default storageclass and expecting it to timeout") claim := newClaim(test, ns, "default") claim, err := c.CoreV1().PersistentVolumeClaims(ns).Create(claim) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.ExpectNoError(framework.DeletePersistentVolumeClaim(c, claim.Name, ns)) }() @@ -796,7 +796,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { Expect(err).To(HaveOccurred()) framework.Logf(err.Error()) claim, err = c.CoreV1().PersistentVolumeClaims(ns).Get(claim.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) Expect(claim.Status.Phase).To(Equal(v1.ClaimPending)) }) @@ -817,7 +817,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { By("creating a claim with default storageclass and expecting it to timeout") claim := newClaim(test, ns, "default") claim, err := c.CoreV1().PersistentVolumeClaims(ns).Create(claim) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.ExpectNoError(framework.DeletePersistentVolumeClaim(c, claim.Name, ns)) }() @@ -827,7 +827,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { Expect(err).To(HaveOccurred()) framework.Logf(err.Error()) claim, err = c.CoreV1().PersistentVolumeClaims(ns).Get(claim.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) Expect(claim.Status.Phase).To(Equal(v1.ClaimPending)) }) }) @@ -872,7 +872,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { suffix := fmt.Sprintf("invalid-aws") class := newStorageClass(test, ns, suffix) class, err := c.StorageV1().StorageClasses().Create(class) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.Logf("deleting storage class %s", class.Name) framework.ExpectNoError(c.StorageV1().StorageClasses().Delete(class.Name, nil)) @@ -882,7 +882,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { claim := newClaim(test, ns, suffix) claim.Spec.StorageClassName = &class.Name claim, err = c.CoreV1().PersistentVolumeClaims(claim.Namespace).Create(claim) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { framework.Logf("deleting claim %q/%q", claim.Namespace, claim.Name) err = c.CoreV1().PersistentVolumeClaims(claim.Namespace).Delete(claim.Name, nil) @@ -897,7 +897,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { // ClaimProvisionTimeout in the very same loop. err = wait.Poll(time.Second, framework.ClaimProvisionTimeout, func() (bool, error) { events, err := c.CoreV1().Events(claim.Namespace).List(metav1.ListOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) for _, event := range events.Items { if strings.Contains(event.Message, "failed to create encrypted volume: the volume disappeared after creation, most likely due to inaccessible KMS encryption key") { return true, nil @@ -919,7 +919,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() { framework.Logf("The test missed event about failed provisioning, but checked that no volume was provisioned for %v", framework.ClaimProvisionTimeout) err = nil } - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) }) }) Describe("DynamicProvisioner delayed binding [Slow]", func() { @@ -995,13 +995,13 @@ func getDefaultStorageClassName(c clientset.Interface) string { func verifyDefaultStorageClass(c clientset.Interface, scName string, expectedDefault bool) { sc, err := c.StorageV1().StorageClasses().Get(scName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) Expect(storageutil.IsDefaultAnnotation(sc.ObjectMeta)).To(Equal(expectedDefault)) } func updateDefaultStorageClass(c clientset.Interface, scName string, defaultStr string) { sc, err := c.StorageV1().StorageClasses().Get(scName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) if defaultStr == "" { delete(sc.Annotations, storageutil.BetaIsDefaultStorageClassAnnotation) @@ -1015,7 +1015,7 @@ func updateDefaultStorageClass(c clientset.Interface, scName string, defaultStr } sc, err = c.StorageV1().StorageClasses().Update(sc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) expectedDefault := false if defaultStr == "true" { @@ -1223,7 +1223,7 @@ func waitForProvisionedVolumesDeleted(c clientset.Interface, scName string) ([]* func deleteStorageClass(c clientset.Interface, className string) { err := c.StorageV1().StorageClasses().Delete(className, nil) if err != nil && !apierrs.IsNotFound(err) { - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } } diff --git a/test/e2e/storage/vsphere/persistent_volumes-vsphere.go b/test/e2e/storage/vsphere/persistent_volumes-vsphere.go index 9075e9eefc8..693577667f6 100644 --- a/test/e2e/storage/vsphere/persistent_volumes-vsphere.go +++ b/test/e2e/storage/vsphere/persistent_volumes-vsphere.go @@ -76,7 +76,7 @@ var _ = utils.SIGDescribe("PersistentVolumes:vsphere", func() { if volumePath == "" { volumePath, err = nodeInfo.VSphere.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) pvConfig = framework.PersistentVolumeConfig{ NamePrefix: "vspherepv-", Labels: volLabel, @@ -96,17 +96,17 @@ var _ = utils.SIGDescribe("PersistentVolumes:vsphere", func() { } By("Creating the PV and PVC") pv, pvc, err = framework.CreatePVPVC(c, pvConfig, pvcConfig, ns, false) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) framework.ExpectNoError(framework.WaitOnPVandPVC(c, ns, pv, pvc)) By("Creating the Client Pod") clientPod, err = framework.CreateClientPod(c, ns, pvc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) node = clientPod.Spec.NodeName By("Verify disk should be attached to the node") isAttached, err := diskIsAttached(volumePath, node) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) Expect(isAttached).To(BeTrue(), "disk is not attached with the node") }) @@ -207,10 +207,10 @@ var _ = utils.SIGDescribe("PersistentVolumes:vsphere", func() { It("should test that deleting the Namespace of a PVC and Pod causes the successful detach of vsphere volume", func() { By("Deleting the Namespace") err := c.CoreV1().Namespaces().Delete(ns, nil) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) err = framework.WaitForNamespacesDeleted(c, []string{ns}, 3*time.Minute) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Verifying Persistent Disk detaches") waitForVSphereDiskToDetach(volumePath, node) diff --git a/test/e2e/storage/vsphere/pv_reclaimpolicy.go b/test/e2e/storage/vsphere/pv_reclaimpolicy.go index 3a1ca210152..e940115e312 100644 --- a/test/e2e/storage/vsphere/pv_reclaimpolicy.go +++ b/test/e2e/storage/vsphere/pv_reclaimpolicy.go @@ -76,14 +76,14 @@ var _ = utils.SIGDescribe("PersistentVolumes [Feature:ReclaimPolicy]", func() { It("should delete persistent volume when reclaimPolicy set to delete and associated claim is deleted", func() { var err error volumePath, pv, pvc, err = testSetupVSpherePersistentVolumeReclaim(c, nodeInfo, ns, v1.PersistentVolumeReclaimDelete) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) deletePVCAfterBind(c, ns, pvc, pv) pvc = nil By("verify pv is deleted") err = framework.WaitForPersistentVolumeDeleted(c, pv.Name, 3*time.Second, 300*time.Second) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) pv = nil volumePath = "" @@ -105,13 +105,13 @@ var _ = utils.SIGDescribe("PersistentVolumes [Feature:ReclaimPolicy]", func() { var err error volumePath, pv, pvc, err = testSetupVSpherePersistentVolumeReclaim(c, nodeInfo, ns, v1.PersistentVolumeReclaimDelete) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Wait for PV and PVC to Bind framework.ExpectNoError(framework.WaitOnPVandPVC(c, ns, pv, pvc)) By("Creating the Pod") pod, err := framework.CreateClientPod(c, ns, pvc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Deleting the Claim") framework.ExpectNoError(framework.DeletePersistentVolumeClaim(c, pvc.Name, ns), "Failed to delete PVC ", pvc.Name) @@ -119,7 +119,7 @@ var _ = utils.SIGDescribe("PersistentVolumes [Feature:ReclaimPolicy]", func() { // Verify PV is Present, after PVC is deleted and PV status should be Failed. pv, err := c.CoreV1().PersistentVolumes().Get(pv.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) Expect(framework.WaitForPersistentVolumePhase(v1.VolumeFailed, c, pv.Name, 1*time.Second, 60*time.Second)).NotTo(HaveOccurred()) By("Verify the volume is attached to the node") @@ -166,7 +166,7 @@ var _ = utils.SIGDescribe("PersistentVolumes [Feature:ReclaimPolicy]", func() { var volumeFileContent = "hello from vsphere cloud provider, Random Content is :" + strconv.FormatInt(time.Now().UnixNano(), 10) volumePath, pv, pvc, err = testSetupVSpherePersistentVolumeReclaim(c, nodeInfo, ns, v1.PersistentVolumeReclaimRetain) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) writeContentToVSpherePV(c, pvc, volumeFileContent) @@ -177,18 +177,18 @@ var _ = utils.SIGDescribe("PersistentVolumes [Feature:ReclaimPolicy]", func() { By("Verify PV is retained") framework.Logf("Waiting for PV %v to become Released", pv.Name) err = framework.WaitForPersistentVolumePhase(v1.VolumeReleased, c, pv.Name, 3*time.Second, 300*time.Second) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) framework.ExpectNoError(framework.DeletePersistentVolume(c, pv.Name), "Failed to delete PV ", pv.Name) By("Creating the PV for same volume path") pv = getVSpherePersistentVolumeSpec(volumePath, v1.PersistentVolumeReclaimRetain, nil) pv, err = c.CoreV1().PersistentVolumes().Create(pv) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("creating the pvc") pvc = getVSpherePersistentVolumeClaimSpec(ns, nil) pvc, err = c.CoreV1().PersistentVolumeClaims(ns).Create(pvc) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("wait for the pv and pvc to bind") framework.ExpectNoError(framework.WaitOnPVandPVC(c, ns, pv, pvc)) @@ -223,7 +223,7 @@ func testCleanupVSpherePersistentVolumeReclaim(c clientset.Interface, nodeInfo * By("running testCleanupVSpherePersistentVolumeReclaim") if len(volumePath) > 0 { err := nodeInfo.VSphere.DeleteVolume(volumePath, nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } if pv != nil { framework.ExpectNoError(framework.DeletePersistentVolume(c, pv.Name), "Failed to delete PV ", pv.Name) @@ -244,6 +244,6 @@ func deletePVCAfterBind(c clientset.Interface, ns string, pvc *v1.PersistentVolu framework.ExpectNoError(framework.DeletePersistentVolumeClaim(c, pvc.Name, ns), "Failed to delete PVC ", pvc.Name) pvc, err = c.CoreV1().PersistentVolumeClaims(ns).Get(pvc.Name, metav1.GetOptions{}) if !apierrs.IsNotFound(err) { - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } } diff --git a/test/e2e/storage/vsphere/pvc_label_selector.go b/test/e2e/storage/vsphere/pvc_label_selector.go index ee04643a98a..9226cac96d1 100644 --- a/test/e2e/storage/vsphere/pvc_label_selector.go +++ b/test/e2e/storage/vsphere/pvc_label_selector.go @@ -20,7 +20,6 @@ import ( "time" . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" "k8s.io/api/core/v1" clientset "k8s.io/client-go/kubernetes" "k8s.io/kubernetes/test/e2e/framework" @@ -81,21 +80,21 @@ var _ = utils.SIGDescribe("PersistentVolumes [Feature:LabelSelector]", func() { }) It("should bind volume with claim for given label", func() { volumePath, pv_ssd, pvc_ssd, pvc_vvol, err = testSetupVSpherePVClabelselector(c, nodeInfo, ns, ssdlabels, vvollabels) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("wait for the pvc_ssd to bind with pv_ssd") framework.ExpectNoError(framework.WaitOnPVandPVC(c, ns, pv_ssd, pvc_ssd)) By("Verify status of pvc_vvol is pending") err = framework.WaitForPersistentVolumeClaimPhase(v1.ClaimPending, c, ns, pvc_vvol.Name, 3*time.Second, 300*time.Second) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("delete pvc_ssd") framework.ExpectNoError(framework.DeletePersistentVolumeClaim(c, pvc_ssd.Name, ns), "Failed to delete PVC ", pvc_ssd.Name) By("verify pv_ssd is deleted") err = framework.WaitForPersistentVolumeDeleted(c, pv_ssd.Name, 3*time.Second, 300*time.Second) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) volumePath = "" By("delete pvc_vvol") diff --git a/test/e2e/storage/vsphere/vsphere_common.go b/test/e2e/storage/vsphere/vsphere_common.go index 387c4c73db8..b85598f9ab5 100644 --- a/test/e2e/storage/vsphere/vsphere_common.go +++ b/test/e2e/storage/vsphere/vsphere_common.go @@ -17,9 +17,11 @@ limitations under the License. package vsphere import ( - . "github.com/onsi/gomega" "os" "strconv" + + . "github.com/onsi/gomega" + "k8s.io/kubernetes/test/e2e/framework" ) const ( @@ -72,6 +74,6 @@ func GetAndExpectStringEnvVar(varName string) string { func GetAndExpectIntEnvVar(varName string) int { varValue := GetAndExpectStringEnvVar(varName) varIntValue, err := strconv.Atoi(varValue) - Expect(err).NotTo(HaveOccurred(), "Error Parsing "+varName) + framework.ExpectNoError(err, "Error Parsing "+varName) return varIntValue } diff --git a/test/e2e/storage/vsphere/vsphere_scale.go b/test/e2e/storage/vsphere/vsphere_scale.go index 2d9fa42ab62..4959e66a8dc 100644 --- a/test/e2e/storage/vsphere/vsphere_scale.go +++ b/test/e2e/storage/vsphere/vsphere_scale.go @@ -131,7 +131,7 @@ var _ = utils.SIGDescribe("vcp at scale [Feature:vsphere] ", func() { } sc, err = client.StorageV1().StorageClasses().Create(getVSphereStorageClassSpec(scname, scParams, nil)) Expect(sc).NotTo(BeNil(), "Storage class is empty") - Expect(err).NotTo(HaveOccurred(), "Failed to create storage class") + framework.ExpectNoError(err, "Failed to create storage class") defer client.StorageV1().StorageClasses().Delete(scname, nil) scArrays[index] = sc } @@ -156,15 +156,15 @@ var _ = utils.SIGDescribe("vcp at scale [Feature:vsphere] ", func() { pvcClaimList = append(pvcClaimList, getClaimsForPod(&pod, volumesPerPod)...) By("Deleting pod") err = framework.DeletePodWithWait(f, client, &pod) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } By("Waiting for volumes to be detached from the node") err = waitForVSphereDisksToDetach(nodeVolumeMap) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) for _, pvcClaim := range pvcClaimList { err = framework.DeletePersistentVolumeClaim(client, pvcClaim, namespace) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } }) }) @@ -193,19 +193,19 @@ func VolumeCreateAndAttach(client clientset.Interface, namespace string, sc []*s for i := 0; i < volumesPerPod; i++ { By("Creating PVC using the Storage Class") pvclaim, err := framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", sc[index%len(sc)])) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) pvclaims[i] = pvclaim } By("Waiting for claim to be in bound phase") persistentvolumes, err := framework.WaitForPVClaimBoundPhase(client, pvclaims, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Creating pod to attach PV to the node") nodeSelector := nodeSelectorList[nodeSelectorIndex%len(nodeSelectorList)] // Create pod to attach Volume to Node pod, err := framework.CreatePod(client, namespace, map[string]string{nodeSelector.labelKey: nodeSelector.labelValue}, pvclaims, false, "") - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) for _, pv := range persistentvolumes { nodeVolumeMap[pod.Spec.NodeName] = append(nodeVolumeMap[pod.Spec.NodeName], pv.Spec.VsphereVolume.VolumePath) diff --git a/test/e2e/storage/vsphere/vsphere_statefulsets.go b/test/e2e/storage/vsphere/vsphere_statefulsets.go index 8f697ed81e7..59490d4f4f5 100644 --- a/test/e2e/storage/vsphere/vsphere_statefulsets.go +++ b/test/e2e/storage/vsphere/vsphere_statefulsets.go @@ -18,6 +18,7 @@ package vsphere import ( "fmt" + . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" apierrs "k8s.io/apimachinery/pkg/api/errors" @@ -72,7 +73,7 @@ var _ = utils.SIGDescribe("vsphere statefulset", func() { scParameters["diskformat"] = "thin" scSpec := getVSphereStorageClassSpec(storageclassname, scParameters, nil) sc, err := client.StorageV1().StorageClasses().Create(scSpec) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer client.StorageV1().StorageClasses().Delete(sc.Name, nil) By("Creating statefulset") @@ -81,7 +82,7 @@ var _ = utils.SIGDescribe("vsphere statefulset", func() { replicas := *(statefulset.Spec.Replicas) // Waiting for pods status to be Ready statefulsetTester.WaitForStatusReadyReplicas(statefulset, replicas) - Expect(statefulsetTester.CheckMount(statefulset, mountPath)).NotTo(HaveOccurred()) + framework.ExpectNoError(statefulsetTester.CheckMount(statefulset, mountPath)) ssPodsBeforeScaleDown := statefulsetTester.GetPodList(statefulset) Expect(ssPodsBeforeScaleDown.Items).NotTo(BeEmpty(), fmt.Sprintf("Unable to get list of Pods from the Statefulset: %v", statefulset.Name)) Expect(len(ssPodsBeforeScaleDown.Items) == int(replicas)).To(BeTrue(), "Number of Pods in the statefulset should match with number of replicas") @@ -90,7 +91,7 @@ var _ = utils.SIGDescribe("vsphere statefulset", func() { volumesBeforeScaleDown := make(map[string]string) for _, sspod := range ssPodsBeforeScaleDown.Items { _, err := client.CoreV1().Pods(namespace).Get(sspod.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) for _, volumespec := range sspod.Spec.Volumes { if volumespec.PersistentVolumeClaim != nil { volumePath := getvSphereVolumePathFromClaim(client, statefulset.Namespace, volumespec.PersistentVolumeClaim.ClaimName) @@ -101,7 +102,7 @@ var _ = utils.SIGDescribe("vsphere statefulset", func() { By(fmt.Sprintf("Scaling down statefulsets to number of Replica: %v", replicas-1)) _, scaledownErr := statefulsetTester.Scale(statefulset, replicas-1) - Expect(scaledownErr).NotTo(HaveOccurred()) + framework.ExpectNoError(scaledownErr) statefulsetTester.WaitForStatusReadyReplicas(statefulset, replicas-1) // After scale down, verify vsphere volumes are detached from deleted pods @@ -114,7 +115,7 @@ var _ = utils.SIGDescribe("vsphere statefulset", func() { if volumespec.PersistentVolumeClaim != nil { vSpherediskPath := getvSphereVolumePathFromClaim(client, statefulset.Namespace, volumespec.PersistentVolumeClaim.ClaimName) framework.Logf("Waiting for Volume: %q to detach from Node: %q", vSpherediskPath, sspod.Spec.NodeName) - Expect(waitForVSphereDiskToDetach(vSpherediskPath, sspod.Spec.NodeName)).NotTo(HaveOccurred()) + framework.ExpectNoError(waitForVSphereDiskToDetach(vSpherediskPath, sspod.Spec.NodeName)) } } } @@ -122,7 +123,7 @@ var _ = utils.SIGDescribe("vsphere statefulset", func() { By(fmt.Sprintf("Scaling up statefulsets to number of Replica: %v", replicas)) _, scaleupErr := statefulsetTester.Scale(statefulset, replicas) - Expect(scaleupErr).NotTo(HaveOccurred()) + framework.ExpectNoError(scaleupErr) statefulsetTester.WaitForStatusReplicas(statefulset, replicas) statefulsetTester.WaitForStatusReadyReplicas(statefulset, replicas) @@ -134,9 +135,9 @@ var _ = utils.SIGDescribe("vsphere statefulset", func() { By("Verify all volumes are attached to Nodes after Statefulsets is scaled up") for _, sspod := range ssPodsAfterScaleUp.Items { err := framework.WaitForPodsReady(client, statefulset.Namespace, sspod.Name, 0) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) pod, err := client.CoreV1().Pods(namespace).Get(sspod.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) for _, volumespec := range pod.Spec.Volumes { if volumespec.PersistentVolumeClaim != nil { vSpherediskPath := getvSphereVolumePathFromClaim(client, statefulset.Namespace, volumespec.PersistentVolumeClaim.ClaimName) @@ -145,7 +146,7 @@ var _ = utils.SIGDescribe("vsphere statefulset", func() { Expect(volumesBeforeScaleDown[vSpherediskPath] == "").To(BeFalse()) isVolumeAttached, verifyDiskAttachedError := diskIsAttached(vSpherediskPath, sspod.Spec.NodeName) Expect(isVolumeAttached).To(BeTrue()) - Expect(verifyDiskAttachedError).NotTo(HaveOccurred()) + framework.ExpectNoError(verifyDiskAttachedError) } } } diff --git a/test/e2e/storage/vsphere/vsphere_stress.go b/test/e2e/storage/vsphere/vsphere_stress.go index de62b6ed951..87407acb69b 100644 --- a/test/e2e/storage/vsphere/vsphere_stress.go +++ b/test/e2e/storage/vsphere/vsphere_stress.go @@ -69,7 +69,7 @@ var _ = utils.SIGDescribe("vsphere cloud provider stress [Feature:vsphere]", fun Expect(instances > len(scNames)).To(BeTrue(), "VCP_STRESS_INSTANCES should be greater than 3 to utilize all 4 types of storage classes") iterations = GetAndExpectIntEnvVar(VCPStressIterations) - Expect(err).NotTo(HaveOccurred(), "Error Parsing VCP_STRESS_ITERATIONS") + framework.ExpectNoError(err, "Error Parsing VCP_STRESS_ITERATIONS") Expect(iterations > 0).To(BeTrue(), "VCP_STRESS_ITERATIONS should be greater than 0") policyName = GetAndExpectStringEnvVar(SPBMPolicyName) @@ -104,7 +104,7 @@ var _ = utils.SIGDescribe("vsphere cloud provider stress [Feature:vsphere]", fun sc, err = client.StorageV1().StorageClasses().Create(scWithDatastoreSpec) } Expect(sc).NotTo(BeNil()) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer client.StorageV1().StorageClasses().Delete(scname, nil) scArrays[index] = sc } @@ -129,26 +129,26 @@ func PerformVolumeLifeCycleInParallel(f *framework.Framework, client clientset.I logPrefix := fmt.Sprintf("Instance: [%v], Iteration: [%v] :", instanceId, iterationCount+1) By(fmt.Sprintf("%v Creating PVC using the Storage Class: %v", logPrefix, sc.Name)) pvclaim, err := framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "1Gi", sc)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer framework.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace) var pvclaims []*v1.PersistentVolumeClaim pvclaims = append(pvclaims, pvclaim) By(fmt.Sprintf("%v Waiting for claim: %v to be in bound phase", logPrefix, pvclaim.Name)) persistentvolumes, err := framework.WaitForPVClaimBoundPhase(client, pvclaims, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By(fmt.Sprintf("%v Creating Pod using the claim: %v", logPrefix, pvclaim.Name)) // Create pod to attach Volume to Node pod, err := framework.CreatePod(client, namespace, nil, pvclaims, false, "") - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By(fmt.Sprintf("%v Waiting for the Pod: %v to be in the running state", logPrefix, pod.Name)) Expect(f.WaitForPodRunningSlow(pod.Name)).NotTo(HaveOccurred()) // Get the copy of the Pod to know the assigned node name. pod, err = client.CoreV1().Pods(namespace).Get(pod.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By(fmt.Sprintf("%v Verifing the volume: %v is attached to the node VM: %v", logPrefix, persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Spec.NodeName)) isVolumeAttached, verifyDiskAttachedError := diskIsAttached(persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Spec.NodeName) @@ -160,11 +160,11 @@ func PerformVolumeLifeCycleInParallel(f *framework.Framework, client clientset.I By(fmt.Sprintf("%v Deleting pod: %v", logPrefix, pod.Name)) err = framework.DeletePodWithWait(f, client, pod) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By(fmt.Sprintf("%v Waiting for volume: %v to be detached from the node: %v", logPrefix, persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Spec.NodeName)) err = waitForVSphereDiskToDetach(persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Spec.NodeName) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By(fmt.Sprintf("%v Deleting the Claim: %v", logPrefix, pvclaim.Name)) Expect(framework.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace)).NotTo(HaveOccurred()) diff --git a/test/e2e/storage/vsphere/vsphere_utils.go b/test/e2e/storage/vsphere/vsphere_utils.go index 6ab27cb8749..0b92a53cb83 100644 --- a/test/e2e/storage/vsphere/vsphere_utils.go +++ b/test/e2e/storage/vsphere/vsphere_utils.go @@ -383,14 +383,14 @@ func getVSpherePodSpecWithVolumePaths(volumePaths []string, keyValuelabel map[st func verifyFilesExistOnVSphereVolume(namespace string, podName string, filePaths ...string) { for _, filePath := range filePaths { _, err := framework.RunKubectl("exec", fmt.Sprintf("--namespace=%s", namespace), podName, "--", "/bin/ls", filePath) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("failed to verify file: %q on the pod: %q", filePath, podName)) + framework.ExpectNoError(err, fmt.Sprintf("failed to verify file: %q on the pod: %q", filePath, podName)) } } func createEmptyFilesOnVSphereVolume(namespace string, podName string, filePaths []string) { for _, filePath := range filePaths { err := framework.CreateEmptyFileOnPod(namespace, podName, filePath) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } } @@ -401,12 +401,12 @@ func verifyVSphereVolumesAccessible(c clientset.Interface, pod *v1.Pod, persiste for index, pv := range persistentvolumes { // Verify disks are attached to the node isAttached, err := diskIsAttached(pv.Spec.VsphereVolume.VolumePath, nodeName) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) Expect(isAttached).To(BeTrue(), fmt.Sprintf("disk %v is not attached with the node", pv.Spec.VsphereVolume.VolumePath)) // Verify Volumes are accessible filepath := filepath.Join("/mnt/", fmt.Sprintf("volume%v", index+1), "/emptyFile.txt") _, err = framework.LookForStringInPodExec(namespace, pod.Name, []string{"/bin/touch", filepath}, "", time.Minute) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } } @@ -424,7 +424,7 @@ func verifyVolumeCreationOnRightZone(persistentvolumes []*v1.PersistentVolume, n // Get the datastore object reference from the datastore name datastoreRef, err := nodeInfo.VSphere.GetDatastoreRefFromName(ctx, nodeInfo.DataCenterRef, datastoreName) if err != nil { - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } // Find common datastores among the specified zones var datastoreCountMap = make(map[string]int) @@ -446,9 +446,9 @@ func verifyVolumeCreationOnRightZone(persistentvolumes []*v1.PersistentVolume, n // Get vSphere Volume Path from PVC func getvSphereVolumePathFromClaim(client clientset.Interface, namespace string, claimName string) string { pvclaim, err := client.CoreV1().PersistentVolumeClaims(namespace).Get(claimName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) pv, err := client.CoreV1().PersistentVolumes().Get(pvclaim.Spec.VolumeName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return pv.Spec.VsphereVolume.VolumePath } @@ -628,7 +628,7 @@ func getVMXFilePath(vmObject *object.VirtualMachine) (vmxPath string) { var nodeVM mo.VirtualMachine err := vmObject.Properties(ctx, vmObject.Reference(), []string{"config.files"}, &nodeVM) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) Expect(nodeVM.Config).NotTo(BeNil()) vmxPath = nodeVM.Config.Files.VmPathName @@ -660,9 +660,9 @@ func poweroffNodeVM(nodeName string, vm *object.VirtualMachine) { framework.Logf("Powering off node VM %s", nodeName) _, err := vm.PowerOff(ctx) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) err = vm.WaitForPowerState(ctx, vim25types.VirtualMachinePowerStatePoweredOff) - Expect(err).NotTo(HaveOccurred(), "Unable to power off the node") + framework.ExpectNoError(err, "Unable to power off the node") } // poweron nodeVM and confirm the poweron state @@ -674,7 +674,7 @@ func poweronNodeVM(nodeName string, vm *object.VirtualMachine) { vm.PowerOn(ctx) err := vm.WaitForPowerState(ctx, vim25types.VirtualMachinePowerStatePoweredOn) - Expect(err).NotTo(HaveOccurred(), "Unable to power on the node") + framework.ExpectNoError(err, "Unable to power on the node") } // unregister a nodeVM from VC @@ -686,7 +686,7 @@ func unregisterNodeVM(nodeName string, vm *object.VirtualMachine) { framework.Logf("Unregistering node VM %s", nodeName) err := vm.Unregister(ctx) - Expect(err).NotTo(HaveOccurred(), "Unable to unregister the node") + framework.ExpectNoError(err, "Unable to unregister the node") } // register a nodeVM into a VC @@ -700,16 +700,16 @@ func registerNodeVM(nodeName, workingDir, vmxFilePath string, rpool *object.Reso finder := find.NewFinder(nodeInfo.VSphere.Client.Client, false) vmFolder, err := finder.FolderOrDefault(ctx, workingDir) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) registerTask, err := vmFolder.RegisterVM(ctx, vmxFilePath, nodeName, false, rpool, host) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) err = registerTask.Wait(ctx) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) vmPath := filepath.Join(workingDir, nodeName) vm, err := finder.VirtualMachine(ctx, vmPath) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) poweronNodeVM(nodeName, vm) } @@ -812,7 +812,7 @@ func invokeVCenterServiceControl(command, service, host string) error { // Node, else fails. func expectVolumeToBeAttached(nodeName, volumePath string) { isAttached, err := diskIsAttached(volumePath, nodeName) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) Expect(isAttached).To(BeTrue(), fmt.Sprintf("disk: %s is not attached with the node", volumePath)) } @@ -850,7 +850,7 @@ func writeContentToPodFile(namespace, podName, filePath, content string) error { func expectFileContentToMatch(namespace, podName, filePath, content string) { _, err := framework.RunKubectl("exec", fmt.Sprintf("--namespace=%s", namespace), podName, "--", "/bin/sh", "-c", fmt.Sprintf("grep '%s' %s", content, filePath)) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("failed to match content of file: %q on the pod: %q", filePath, podName)) + framework.ExpectNoError(err, fmt.Sprintf("failed to match content of file: %q on the pod: %q", filePath, podName)) } // expectFileContentsToMatch checks if the given contents match the ones present diff --git a/test/e2e/storage/vsphere/vsphere_volume_cluster_ds.go b/test/e2e/storage/vsphere/vsphere_volume_cluster_ds.go index f6c4aa50b9a..a655c9e8598 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_cluster_ds.go +++ b/test/e2e/storage/vsphere/vsphere_volume_cluster_ds.go @@ -76,7 +76,7 @@ var _ = utils.SIGDescribe("Volume Provisioning On Clustered Datastore [Feature:v volumeOptions.Datastore = clusterDatastore volumePath, err := nodeInfo.VSphere.CreateVolume(volumeOptions, nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { By("Deleting the vsphere volume") @@ -87,13 +87,13 @@ var _ = utils.SIGDescribe("Volume Provisioning On Clustered Datastore [Feature:v By("Creating pod") pod, err := client.CoreV1().Pods(namespace).Create(podspec) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Waiting for pod to be ready") Expect(framework.WaitForPodNameRunningInNamespace(client, pod.Name, namespace)).To(Succeed()) // get fresh pod info pod, err = client.CoreV1().Pods(namespace).Get(pod.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) nodeName := pod.Spec.NodeName By("Verifying volume is attached") @@ -101,11 +101,11 @@ var _ = utils.SIGDescribe("Volume Provisioning On Clustered Datastore [Feature:v By("Deleting pod") err = framework.DeletePodWithWait(f, client, pod) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Waiting for volumes to be detached from the node") err = waitForVSphereDiskToDetach(volumePath, nodeName) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) }) /* diff --git a/test/e2e/storage/vsphere/vsphere_volume_datastore.go b/test/e2e/storage/vsphere/vsphere_volume_datastore.go index dfd497fa551..421d1409a4a 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_datastore.go +++ b/test/e2e/storage/vsphere/vsphere_volume_datastore.go @@ -72,7 +72,7 @@ var _ = utils.SIGDescribe("Volume Provisioning on Datastore [Feature:vsphere]", Expect(err).To(HaveOccurred()) errorMsg := `Failed to provision volume with StorageClass \"` + DatastoreSCName + `\": The specified datastore ` + InvalidDatastore + ` is not a shared datastore across node VMs` if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) }) @@ -80,12 +80,12 @@ var _ = utils.SIGDescribe("Volume Provisioning on Datastore [Feature:vsphere]", func invokeInvalidDatastoreTestNeg(client clientset.Interface, namespace string, scParameters map[string]string) error { By("Creating Storage Class With Invalid Datastore") storageclass, err := client.StorageV1().StorageClasses().Create(getVSphereStorageClassSpec(DatastoreSCName, scParameters, nil)) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create storage class with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) defer client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) By("Creating PVC using the Storage Class") pvclaim, err := framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer framework.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace) By("Expect claim to fail provisioning volume") diff --git a/test/e2e/storage/vsphere/vsphere_volume_diskformat.go b/test/e2e/storage/vsphere/vsphere_volume_diskformat.go index 3b4821144d8..4cc120c5361 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_diskformat.go +++ b/test/e2e/storage/vsphere/vsphere_volume_diskformat.go @@ -108,14 +108,14 @@ func invokeTest(f *framework.Framework, client clientset.Interface, namespace st By("Creating Storage Class With DiskFormat") storageClassSpec := getVSphereStorageClassSpec("thinsc", scParameters, nil) storageclass, err := client.StorageV1().StorageClasses().Create(storageClassSpec) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) By("Creating PVC using the Storage Class") pvclaimSpec := getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass) pvclaim, err := client.CoreV1().PersistentVolumeClaims(namespace).Create(pvclaimSpec) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer func() { client.CoreV1().PersistentVolumeClaims(namespace).Delete(pvclaimSpec.Name, nil) @@ -123,15 +123,15 @@ func invokeTest(f *framework.Framework, client clientset.Interface, namespace st By("Waiting for claim to be in bound phase") err = framework.WaitForPersistentVolumeClaimPhase(v1.ClaimBound, client, pvclaim.Namespace, pvclaim.Name, framework.Poll, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Get new copy of the claim pvclaim, err = client.CoreV1().PersistentVolumeClaims(pvclaim.Namespace).Get(pvclaim.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Get the bound PV pv, err := client.CoreV1().PersistentVolumes().Get(pvclaim.Spec.VolumeName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) /* PV is required to be attached to the Node. so that using govmomi API we can grab Disk's Backing Info @@ -141,14 +141,14 @@ func invokeTest(f *framework.Framework, client clientset.Interface, namespace st // Create pod to attach Volume to Node podSpec := getVSpherePodSpecWithClaim(pvclaim.Name, nodeKeyValueLabel, "while true ; do sleep 2 ; done") pod, err := client.CoreV1().Pods(namespace).Create(podSpec) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Waiting for pod to be running") Expect(framework.WaitForPodNameRunningInNamespace(client, pod.Name, namespace)).To(Succeed()) isAttached, err := diskIsAttached(pv.Spec.VsphereVolume.VolumePath, nodeName) Expect(isAttached).To(BeTrue()) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Verify Disk Format") Expect(verifyDiskFormat(client, nodeName, pv.Spec.VsphereVolume.VolumePath, diskFormat)).To(BeTrue(), "DiskFormat Verification Failed") @@ -174,7 +174,7 @@ func verifyDiskFormat(client clientset.Interface, nodeName string, pvVolumePath nodeInfo := TestContext.NodeMapper.GetNodeInfo(nodeName) vm := object.NewVirtualMachine(nodeInfo.VSphere.Client.Client, nodeInfo.VirtualMachineRef) vmDevices, err := vm.Device(ctx) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) disks := vmDevices.SelectByType((*types.VirtualDisk)(nil)) diff --git a/test/e2e/storage/vsphere/vsphere_volume_disksize.go b/test/e2e/storage/vsphere/vsphere_volume_disksize.go index 76e8f835a46..2986daa1609 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_disksize.go +++ b/test/e2e/storage/vsphere/vsphere_volume_disksize.go @@ -70,7 +70,7 @@ var _ = utils.SIGDescribe("Volume Disk Size [Feature:vsphere]", func() { Expect(err).To(HaveOccurred()) errorMsg := `Failed to provision volume with StorageClass \"` + DiskSizeSCName + `\": A specified parameter was not correct` if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) }) @@ -78,12 +78,12 @@ var _ = utils.SIGDescribe("Volume Disk Size [Feature:vsphere]", func() { func invokeInvalidDiskSizeTestNeg(client clientset.Interface, namespace string, scParameters map[string]string, diskSize string) error { By("Creating Storage Class With invalid disk size") storageclass, err := client.StorageV1().StorageClasses().Create(getVSphereStorageClassSpec(DiskSizeSCName, scParameters, nil)) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create storage class with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) defer client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) By("Creating PVC using the Storage Class") pvclaim, err := framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, diskSize, storageclass)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer framework.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace) By("Expect claim to fail provisioning volume") diff --git a/test/e2e/storage/vsphere/vsphere_volume_fstype.go b/test/e2e/storage/vsphere/vsphere_volume_fstype.go index 944db736dbc..6099bead873 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_fstype.go +++ b/test/e2e/storage/vsphere/vsphere_volume_fstype.go @@ -104,7 +104,7 @@ func invokeTestForFstype(f *framework.Framework, client clientset.Interface, nam // Create Pod and verify the persistent volume is accessible pod := createPodAndVerifyVolumeAccessible(client, namespace, pvclaim, persistentvolumes) _, err := framework.LookForStringInPodExec(namespace, pod.Name, []string{"/bin/cat", "/mnt/volume1/fstype"}, expectedContent, time.Minute) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Detach and delete volume detachVolume(f, client, pod, persistentvolumes[0].Spec.VsphereVolume.VolumePath) @@ -147,18 +147,18 @@ func invokeTestForInvalidFstype(f *framework.Framework, client clientset.Interfa func createVolume(client clientset.Interface, namespace string, scParameters map[string]string) (*v1.PersistentVolumeClaim, []*v1.PersistentVolume) { storageclass, err := client.StorageV1().StorageClasses().Create(getVSphereStorageClassSpec("fstype", scParameters, nil)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) By("Creating PVC using the Storage Class") pvclaim, err := client.CoreV1().PersistentVolumeClaims(namespace).Create(getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) var pvclaims []*v1.PersistentVolumeClaim pvclaims = append(pvclaims, pvclaim) By("Waiting for claim to be in bound phase") persistentvolumes, err := framework.WaitForPVClaimBoundPhase(client, pvclaims, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) return pvclaim, persistentvolumes } @@ -168,7 +168,7 @@ func createPodAndVerifyVolumeAccessible(client clientset.Interface, namespace st By("Creating pod to attach PV to the node") // Create pod to attach Volume to Node pod, err := framework.CreatePod(client, namespace, nil, pvclaims, false, ExecCommand) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Asserts: Right disk is attached to the pod By("Verify the volume is accessible and available in the pod") diff --git a/test/e2e/storage/vsphere/vsphere_volume_master_restart.go b/test/e2e/storage/vsphere/vsphere_volume_master_restart.go index 0f8f714cc4e..e437fdf6a99 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_master_restart.go +++ b/test/e2e/storage/vsphere/vsphere_volume_master_restart.go @@ -84,20 +84,20 @@ var _ = utils.SIGDescribe("Volume Attach Verify [Feature:vsphere][Serial][Disrup for i := 0; i < numNodes; i++ { By(fmt.Sprintf("%d: Creating a test vsphere volume", i)) volumePath, err := nodeInfo.VSphere.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) volumePaths = append(volumePaths, volumePath) By(fmt.Sprintf("Creating pod %d on node %v", i, nodeNameList[i])) podspec := getVSpherePodSpecWithVolumePaths([]string{volumePath}, nodeKeyValueLabelList[i], nil) pod, err := client.CoreV1().Pods(namespace).Create(podspec) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer framework.DeletePodWithWait(f, client, pod) By("Waiting for pod to be ready") Expect(framework.WaitForPodNameRunningInNamespace(client, pod.Name, namespace)).To(Succeed()) pod, err = client.CoreV1().Pods(namespace).Get(pod.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) pods = append(pods, pod) @@ -109,11 +109,11 @@ var _ = utils.SIGDescribe("Volume Attach Verify [Feature:vsphere][Serial][Disrup By("Restarting kubelet on master node") masterAddress := framework.GetMasterHost() + ":22" err := framework.RestartKubelet(masterAddress) - Expect(err).NotTo(HaveOccurred(), "Unable to restart kubelet on master node") + framework.ExpectNoError(err, "Unable to restart kubelet on master node") By("Verifying the kubelet on master node is up") err = framework.WaitForKubeletUp(masterAddress) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) for i, pod := range pods { volumePath := volumePaths[i] @@ -124,15 +124,15 @@ var _ = utils.SIGDescribe("Volume Attach Verify [Feature:vsphere][Serial][Disrup By(fmt.Sprintf("Deleting pod on node %s", nodeName)) err = framework.DeletePodWithWait(f, client, pod) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By(fmt.Sprintf("Waiting for volume %s to be detached from the node %s", volumePath, nodeName)) err = waitForVSphereDiskToDetach(volumePath, nodeName) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By(fmt.Sprintf("Deleting volume %s", volumePath)) err = nodeInfo.VSphere.DeleteVolume(volumePath, nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } }) }) diff --git a/test/e2e/storage/vsphere/vsphere_volume_node_delete.go b/test/e2e/storage/vsphere/vsphere_volume_node_delete.go index 3daaadb8984..2b53fd36607 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_node_delete.go +++ b/test/e2e/storage/vsphere/vsphere_volume_node_delete.go @@ -44,7 +44,7 @@ var _ = utils.SIGDescribe("Node Unregister [Feature:vsphere] [Slow] [Disruptive] client = f.ClientSet namespace = f.Namespace.Name framework.ExpectNoError(framework.WaitForAllNodesSchedulable(client, framework.TestContext.NodeSchedulableTimeout)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) workingDir = os.Getenv("VSPHERE_WORKING_DIR") Expect(workingDir).NotTo(BeEmpty()) @@ -69,10 +69,10 @@ var _ = utils.SIGDescribe("Node Unregister [Feature:vsphere] [Slow] [Disruptive] defer cancel() vmHost, err := vmObject.HostSystem(ctx) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) vmPool, err := vmObject.ResourcePool(ctx) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) // Unregister Node VM By("Unregister a node VM") diff --git a/test/e2e/storage/vsphere/vsphere_volume_node_poweroff.go b/test/e2e/storage/vsphere/vsphere_volume_node_poweroff.go index 1dd9bcfb238..733453c0703 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_node_poweroff.go +++ b/test/e2e/storage/vsphere/vsphere_volume_node_poweroff.go @@ -77,36 +77,36 @@ var _ = utils.SIGDescribe("Node Poweroff [Feature:vsphere] [Slow] [Disruptive]", By("Creating a Storage Class") storageClassSpec := getVSphereStorageClassSpec("test-sc", nil, nil) storageclass, err := client.StorageV1().StorageClasses().Create(storageClassSpec) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create storage class with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) defer client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) By("Creating PVC using the Storage Class") pvclaimSpec := getVSphereClaimSpecWithStorageClass(namespace, "1Gi", storageclass) pvclaim, err := framework.CreatePVC(client, namespace, pvclaimSpec) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create PVC with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to create PVC with err: %v", err)) defer framework.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace) By("Waiting for PVC to be in bound phase") pvclaims := []*v1.PersistentVolumeClaim{pvclaim} pvs, err := framework.WaitForPVClaimBoundPhase(client, pvclaims, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to wait until PVC phase set to bound: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to wait until PVC phase set to bound: %v", err)) volumePath := pvs[0].Spec.VsphereVolume.VolumePath By("Creating a Deployment") deployment, err := framework.CreateDeployment(client, int32(1), map[string]string{"test": "app"}, nil, namespace, pvclaims, "") - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create Deployment with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to create Deployment with err: %v", err)) defer client.AppsV1().Deployments(namespace).Delete(deployment.Name, &metav1.DeleteOptions{}) By("Get pod from the deployement") podList, err := framework.GetPodsForDeployment(client, deployment) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to get pod from the deployement with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to get pod from the deployement with err: %v", err)) Expect(podList.Items).NotTo(BeEmpty()) pod := podList.Items[0] node1 := pod.Spec.NodeName By(fmt.Sprintf("Verify disk is attached to the node: %v", node1)) isAttached, err := diskIsAttached(volumePath, node1) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) Expect(isAttached).To(BeTrue(), "Disk is not attached to the node") By(fmt.Sprintf("Power off the node: %v", node1)) @@ -116,28 +116,28 @@ var _ = utils.SIGDescribe("Node Poweroff [Feature:vsphere] [Slow] [Disruptive]", ctx, cancel := context.WithCancel(context.Background()) defer cancel() _, err = vm.PowerOff(ctx) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer vm.PowerOn(ctx) err = vm.WaitForPowerState(ctx, vimtypes.VirtualMachinePowerStatePoweredOff) - Expect(err).NotTo(HaveOccurred(), "Unable to power off the node") + framework.ExpectNoError(err, "Unable to power off the node") // Waiting for the pod to be failed over to a different node node2, err := waitForPodToFailover(client, deployment, node1) - Expect(err).NotTo(HaveOccurred(), "Pod did not fail over to a different node") + framework.ExpectNoError(err, "Pod did not fail over to a different node") By(fmt.Sprintf("Waiting for disk to be attached to the new node: %v", node2)) err = waitForVSphereDiskToAttach(volumePath, node2) - Expect(err).NotTo(HaveOccurred(), "Disk is not attached to the node") + framework.ExpectNoError(err, "Disk is not attached to the node") By(fmt.Sprintf("Waiting for disk to be detached from the previous node: %v", node1)) err = waitForVSphereDiskToDetach(volumePath, node1) - Expect(err).NotTo(HaveOccurred(), "Disk is not detached from the node") + framework.ExpectNoError(err, "Disk is not detached from the node") By(fmt.Sprintf("Power on the previous node: %v", node1)) vm.PowerOn(ctx) err = vm.WaitForPowerState(ctx, vimtypes.VirtualMachinePowerStatePoweredOn) - Expect(err).NotTo(HaveOccurred(), "Unable to power on the node") + framework.ExpectNoError(err, "Unable to power on the node") }) }) diff --git a/test/e2e/storage/vsphere/vsphere_volume_ops_storm.go b/test/e2e/storage/vsphere/vsphere_volume_ops_storm.go index cf24f53d392..4e995ddac47 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_ops_storm.go +++ b/test/e2e/storage/vsphere/vsphere_volume_ops_storm.go @@ -66,7 +66,7 @@ var _ = utils.SIGDescribe("Volume Operations Storm [Feature:vsphere]", func() { Expect(GetReadySchedulableNodeInfos()).NotTo(BeEmpty()) if os.Getenv("VOLUME_OPS_SCALE") != "" { volume_ops_scale, err = strconv.Atoi(os.Getenv("VOLUME_OPS_SCALE")) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } else { volume_ops_scale = DEFAULT_VOLUME_OPS_SCALE } @@ -79,7 +79,7 @@ var _ = utils.SIGDescribe("Volume Operations Storm [Feature:vsphere]", func() { } By("Deleting StorageClass") err = client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) }) It("should create pod with many volumes and verify no attach call fails", func() { @@ -88,23 +88,23 @@ var _ = utils.SIGDescribe("Volume Operations Storm [Feature:vsphere]", func() { scParameters := make(map[string]string) scParameters["diskformat"] = "thin" storageclass, err = client.StorageV1().StorageClasses().Create(getVSphereStorageClassSpec("thinsc", scParameters, nil)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Creating PVCs using the Storage Class") count := 0 for count < volume_ops_scale { pvclaims[count], err = framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) count++ } By("Waiting for all claims to be in bound phase") persistentvolumes, err = framework.WaitForPVClaimBoundPhase(client, pvclaims, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Creating pod to attach PVs to the node") pod, err := framework.CreatePod(client, namespace, nil, pvclaims, false, "") - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Verify all volumes are accessible and available in the pod") verifyVSphereVolumesAccessible(client, pod, persistentvolumes) diff --git a/test/e2e/storage/vsphere/vsphere_volume_perf.go b/test/e2e/storage/vsphere/vsphere_volume_perf.go index 8c998aaa2c9..24665ea3664 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_perf.go +++ b/test/e2e/storage/vsphere/vsphere_volume_perf.go @@ -147,7 +147,7 @@ func getTestStorageClasses(client clientset.Interface, policyName, datastoreName sc, err = client.StorageV1().StorageClasses().Create(scWithDatastoreSpec) } Expect(sc).NotTo(BeNil()) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) scArrays[index] = sc } return scArrays @@ -171,14 +171,14 @@ func invokeVolumeLifeCyclePerformance(f *framework.Framework, client clientset.I for j := 0; j < volumesPerPod; j++ { currsc := sc[((i*numPods)+j)%len(sc)] pvclaim, err := framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", currsc)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) pvclaims = append(pvclaims, pvclaim) } totalpvclaims = append(totalpvclaims, pvclaims) } for _, pvclaims := range totalpvclaims { persistentvolumes, err := framework.WaitForPVClaimBoundPhase(client, pvclaims, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) totalpvs = append(totalpvs, persistentvolumes) } elapsed := time.Since(start) @@ -189,7 +189,7 @@ func invokeVolumeLifeCyclePerformance(f *framework.Framework, client clientset.I for i, pvclaims := range totalpvclaims { nodeSelector := nodeSelectorList[i%len(nodeSelectorList)] pod, err := framework.CreatePod(client, namespace, map[string]string{nodeSelector.labelKey: nodeSelector.labelValue}, pvclaims, false, "") - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) totalpods = append(totalpods, pod) defer framework.DeletePodWithWait(f, client, pod) @@ -205,7 +205,7 @@ func invokeVolumeLifeCyclePerformance(f *framework.Framework, client clientset.I start = time.Now() for _, pod := range totalpods { err := framework.DeletePodWithWait(f, client, pod) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } elapsed = time.Since(start) latency[DetachOp] = elapsed.Seconds() @@ -217,14 +217,14 @@ func invokeVolumeLifeCyclePerformance(f *framework.Framework, client clientset.I } err := waitForVSphereDisksToDetach(nodeVolumeMap) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Deleting the PVCs") start = time.Now() for _, pvclaims := range totalpvclaims { for _, pvc := range pvclaims { err = framework.DeletePersistentVolumeClaim(client, pvc.Name, namespace) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } } elapsed = time.Since(start) diff --git a/test/e2e/storage/vsphere/vsphere_volume_placement.go b/test/e2e/storage/vsphere/vsphere_volume_placement.go index 654ee227145..2c1e152d653 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_placement.go +++ b/test/e2e/storage/vsphere/vsphere_volume_placement.go @@ -61,7 +61,7 @@ var _ = utils.SIGDescribe("Volume Placement", func() { } By("creating vmdk") volumePath, err := vsp.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) volumePaths = append(volumePaths, volumePath) }) @@ -180,7 +180,7 @@ var _ = utils.SIGDescribe("Volume Placement", func() { It("should create and delete pod with multiple volumes from same datastore", func() { By("creating another vmdk") volumePath, err := vsp.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) volumePaths = append(volumePaths, volumePath) By(fmt.Sprintf("Creating pod on the node: %v with volume: %v and volume: %v", node1Name, volumePaths[0], volumePaths[1])) @@ -228,7 +228,7 @@ var _ = utils.SIGDescribe("Volume Placement", func() { volumeOptions.Datastore = GetAndExpectStringEnvVar(SecondSharedDatastore) volumePath, err := vsp.CreateVolume(volumeOptions, nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) volumePaths = append(volumePaths, volumePath) By(fmt.Sprintf("Creating pod on the node: %v with volume :%v and volume: %v", node1Name, volumePaths[0], volumePaths[1])) @@ -295,7 +295,7 @@ var _ = utils.SIGDescribe("Volume Placement", func() { // Create another VMDK Volume By("creating another vmdk") volumePath, err := vsp.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) volumePaths = append(volumePaths, volumePath) testvolumePathsPodB = append(testvolumePathsPodA, volumePath) @@ -358,14 +358,14 @@ func createPodWithVolumeAndNodeSelector(client clientset.Interface, namespace st podspec := getVSpherePodSpecWithVolumePaths(volumePaths, nodeKeyValueLabel, nil) pod, err = client.CoreV1().Pods(namespace).Create(podspec) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Waiting for pod to be ready") Expect(framework.WaitForPodNameRunningInNamespace(client, pod.Name, namespace)).To(Succeed()) By(fmt.Sprintf("Verify volume is attached to the node:%v", nodeName)) for _, volumePath := range volumePaths { isAttached, err := diskIsAttached(volumePath, nodeName) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) Expect(isAttached).To(BeTrue(), "disk:"+volumePath+" is not attached with the node") } return pod diff --git a/test/e2e/storage/vsphere/vsphere_volume_vpxd_restart.go b/test/e2e/storage/vsphere/vsphere_volume_vpxd_restart.go index e30704ab3cb..d20e728ceb2 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_vpxd_restart.go +++ b/test/e2e/storage/vsphere/vsphere_volume_vpxd_restart.go @@ -110,19 +110,19 @@ var _ = utils.SIGDescribe("Verify Volume Attach Through vpxd Restart [Feature:vs for i, node := range nodes { By(fmt.Sprintf("Creating test vsphere volume %d", i)) volumePath, err := node.nodeInfo.VSphere.CreateVolume(&VolumeOptions{}, node.nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) volumePaths = append(volumePaths, volumePath) By(fmt.Sprintf("Creating pod %d on node %v", i, node.name)) podspec := getVSpherePodSpecWithVolumePaths([]string{volumePath}, node.kvLabels, nil) pod, err := client.CoreV1().Pods(namespace).Create(podspec) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By(fmt.Sprintf("Waiting for pod %d to be ready", i)) Expect(framework.WaitForPodNameRunningInNamespace(client, pod.Name, namespace)).To(Succeed()) pod, err = client.CoreV1().Pods(namespace).Get(pod.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) pods = append(pods, pod) nodeName := pod.Spec.NodeName @@ -133,7 +133,7 @@ var _ = utils.SIGDescribe("Verify Volume Attach Through vpxd Restart [Feature:vs filePath := fmt.Sprintf("/mnt/volume1/%v_vpxd_restart_test_%v.txt", namespace, strconv.FormatInt(time.Now().UnixNano(), 10)) randomContent := fmt.Sprintf("Random Content -- %v", strconv.FormatInt(time.Now().UnixNano(), 10)) err = writeContentToPodFile(namespace, pod.Name, filePath, randomContent) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) filePaths = append(filePaths, filePath) fileContents = append(fileContents, randomContent) } @@ -141,14 +141,14 @@ var _ = utils.SIGDescribe("Verify Volume Attach Through vpxd Restart [Feature:vs By("Stopping vpxd on the vCenter host") vcAddress := vcHost + ":22" err := invokeVCenterServiceControl("stop", vpxdServiceName, vcAddress) - Expect(err).NotTo(HaveOccurred(), "Unable to stop vpxd on the vCenter host") + framework.ExpectNoError(err, "Unable to stop vpxd on the vCenter host") expectFilesToBeAccessible(namespace, pods, filePaths) expectFileContentsToMatch(namespace, pods, filePaths, fileContents) By("Starting vpxd on the vCenter host") err = invokeVCenterServiceControl("start", vpxdServiceName, vcAddress) - Expect(err).NotTo(HaveOccurred(), "Unable to start vpxd on the vCenter host") + framework.ExpectNoError(err, "Unable to start vpxd on the vCenter host") expectVolumesToBeAttached(pods, volumePaths) expectFilesToBeAccessible(namespace, pods, filePaths) @@ -161,15 +161,15 @@ var _ = utils.SIGDescribe("Verify Volume Attach Through vpxd Restart [Feature:vs By(fmt.Sprintf("Deleting pod on node %s", nodeName)) err = framework.DeletePodWithWait(f, client, pod) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By(fmt.Sprintf("Waiting for volume %s to be detached from node %s", volumePath, nodeName)) err = waitForVSphereDiskToDetach(volumePath, nodeName) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By(fmt.Sprintf("Deleting volume %s", volumePath)) err = node.nodeInfo.VSphere.DeleteVolume(volumePath, node.nodeInfo.DataCenterRef) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) } } }) diff --git a/test/e2e/storage/vsphere/vsphere_volume_vsan_policy.go b/test/e2e/storage/vsphere/vsphere_volume_vsan_policy.go index af719759cd4..448ae0eac77 100644 --- a/test/e2e/storage/vsphere/vsphere_volume_vsan_policy.go +++ b/test/e2e/storage/vsphere/vsphere_volume_vsan_policy.go @@ -161,7 +161,7 @@ var _ = utils.SIGDescribe("Storage Policy Based Volume Provisioning [Feature:vsp Expect(err).To(HaveOccurred()) errorMsg := "invalid option \\\"objectSpaceReserve\\\" for volume plugin kubernetes.io/vsphere-volume" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -176,7 +176,7 @@ var _ = utils.SIGDescribe("Storage Policy Based Volume Provisioning [Feature:vsp Expect(err).To(HaveOccurred()) errorMsg := "Invalid value for " + Policy_DiskStripes + "." if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -190,7 +190,7 @@ var _ = utils.SIGDescribe("Storage Policy Based Volume Provisioning [Feature:vsp Expect(err).To(HaveOccurred()) errorMsg := "Invalid value for " + Policy_HostFailuresToTolerate + "." if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -207,7 +207,7 @@ var _ = utils.SIGDescribe("Storage Policy Based Volume Provisioning [Feature:vsp errorMsg := "The specified datastore: \\\"" + VmfsDatastore + "\\\" is not a VSAN datastore. " + "The policy parameters will work only with VSAN Datastore." if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -238,7 +238,7 @@ var _ = utils.SIGDescribe("Storage Policy Based Volume Provisioning [Feature:vsp Expect(err).To(HaveOccurred()) errorMsg := "User specified datastore is not compatible with the storagePolicy: \\\"" + tagPolicy + "\\\"" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -251,7 +251,7 @@ var _ = utils.SIGDescribe("Storage Policy Based Volume Provisioning [Feature:vsp Expect(err).To(HaveOccurred()) errorMsg := "no pbm profile found with name: \\\"" + BronzeStoragePolicy + "\\" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -266,7 +266,7 @@ var _ = utils.SIGDescribe("Storage Policy Based Volume Provisioning [Feature:vsp Expect(err).To(HaveOccurred()) errorMsg := "Cannot specify storage policy capabilities along with storage policy name. Please specify only one" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) }) @@ -274,24 +274,24 @@ var _ = utils.SIGDescribe("Storage Policy Based Volume Provisioning [Feature:vsp func invokeValidPolicyTest(f *framework.Framework, client clientset.Interface, namespace string, scParameters map[string]string) { By("Creating Storage Class With storage policy params") storageclass, err := client.StorageV1().StorageClasses().Create(getVSphereStorageClassSpec("storagepolicysc", scParameters, nil)) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create storage class with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) defer client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) By("Creating PVC using the Storage Class") pvclaim, err := framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer framework.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace) var pvclaims []*v1.PersistentVolumeClaim pvclaims = append(pvclaims, pvclaim) By("Waiting for claim to be in bound phase") persistentvolumes, err := framework.WaitForPVClaimBoundPhase(client, pvclaims, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Creating pod to attach PV to the node") // Create pod to attach Volume to Node pod, err := framework.CreatePod(client, namespace, nil, pvclaims, false, "") - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Verify the volume is accessible and available in the pod") verifyVSphereVolumesAccessible(client, pod, persistentvolumes) @@ -306,12 +306,12 @@ func invokeValidPolicyTest(f *framework.Framework, client clientset.Interface, n func invokeInvalidPolicyTestNeg(client clientset.Interface, namespace string, scParameters map[string]string) error { By("Creating Storage Class With storage policy params") storageclass, err := client.StorageV1().StorageClasses().Create(getVSphereStorageClassSpec("storagepolicysc", scParameters, nil)) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create storage class with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) defer client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) By("Creating PVC using the Storage Class") pvclaim, err := framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer framework.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace) By("Waiting for claim to be in bound phase") @@ -325,12 +325,12 @@ func invokeInvalidPolicyTestNeg(client clientset.Interface, namespace string, sc func invokeStaleDummyVMTestWithStoragePolicy(client clientset.Interface, masterNode string, namespace string, clusterName string, scParameters map[string]string) { By("Creating Storage Class With storage policy params") storageclass, err := client.StorageV1().StorageClasses().Create(getVSphereStorageClassSpec("storagepolicysc", scParameters, nil)) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create storage class with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) defer client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) By("Creating PVC using the Storage Class") pvclaim, err := framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) var pvclaims []*v1.PersistentVolumeClaim pvclaims = append(pvclaims, pvclaim) @@ -339,7 +339,7 @@ func invokeStaleDummyVMTestWithStoragePolicy(client clientset.Interface, masterN Expect(err).To(HaveOccurred()) updatedClaim, err := client.CoreV1().PersistentVolumeClaims(namespace).Get(pvclaim.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) vmName := clusterName + "-dynamic-pvc-" + string(updatedClaim.UID) framework.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace) // Wait for 6 minutes to let the vSphere Cloud Provider clean up routine delete the dummy VM diff --git a/test/e2e/storage/vsphere/vsphere_zone_support.go b/test/e2e/storage/vsphere/vsphere_zone_support.go index 5ad8cf1b49c..7ecdc36df6a 100644 --- a/test/e2e/storage/vsphere/vsphere_zone_support.go +++ b/test/e2e/storage/vsphere/vsphere_zone_support.go @@ -134,7 +134,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { Expect(err).To(HaveOccurred()) errorMsg := "Failed to find a shared datastore matching zone [" + zoneD + "]" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -165,7 +165,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { err := verifyPVCCreationFails(client, namespace, scParameters, zones) errorMsg := "The specified datastore " + scParameters[Datastore] + " does not match the provided zones : [" + zoneC + "]" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -183,7 +183,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { err := verifyPVCCreationFails(client, namespace, scParameters, zones) errorMsg := "No compatible datastores found that satisfy the storage policy requirements" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -203,7 +203,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { err := verifyPVCCreationFails(client, namespace, scParameters, zones) errorMsg := "User specified datastore is not compatible with the storagePolicy: \\\"" + nonCompatPolicy + "\\\"." if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -215,7 +215,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { err := verifyPVCCreationFails(client, namespace, scParameters, zones) errorMsg := "The specified datastore " + scParameters[Datastore] + " does not match the provided zones : [" + zoneC + "]" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -224,7 +224,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { err := verifyPVCCreationFails(client, namespace, nil, nil) errorMsg := "No shared datastores found in the Kubernetes cluster" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -234,7 +234,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { err := verifyPVCCreationFails(client, namespace, scParameters, nil) errorMsg := "No shared datastores found in the Kubernetes cluster" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -244,7 +244,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { err := verifyPVCCreationFails(client, namespace, scParameters, nil) errorMsg := "No shared datastores found in the Kubernetes cluster" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -255,7 +255,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { err := verifyPVCCreationFails(client, namespace, scParameters, nil) errorMsg := "No shared datastores found in the Kubernetes cluster" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -265,7 +265,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { err := verifyPVCCreationFails(client, namespace, nil, zones) errorMsg := "Failed to find a shared datastore matching zone [" + zoneC + "]" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -276,7 +276,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { err := verifyPVCCreationFails(client, namespace, nil, zones) errorMsg := "Failed to find a shared datastore matching zone [" + zoneA + " " + zoneC + "]" if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -287,7 +287,7 @@ var _ = utils.SIGDescribe("Zone Support", func() { err := verifyPVCCreationFails(client, namespace, scParameters, zones) errorMsg := "Invalid value for " + Policy_HostFailuresToTolerate + "." if !strings.Contains(err.Error(), errorMsg) { - Expect(err).NotTo(HaveOccurred(), errorMsg) + framework.ExpectNoError(err, errorMsg) } }) @@ -303,23 +303,23 @@ var _ = utils.SIGDescribe("Zone Support", func() { func verifyPVCAndPodCreationSucceeds(client clientset.Interface, namespace string, scParameters map[string]string, zones []string) { storageclass, err := client.StorageV1().StorageClasses().Create(getVSphereStorageClassSpec("zone-sc", scParameters, zones)) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create storage class with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) defer client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) By("Creating PVC using the Storage Class") pvclaim, err := framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer framework.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace) var pvclaims []*v1.PersistentVolumeClaim pvclaims = append(pvclaims, pvclaim) By("Waiting for claim to be in bound phase") persistentvolumes, err := framework.WaitForPVClaimBoundPhase(client, pvclaims, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Creating pod to attach PV to the node") pod, err := framework.CreatePod(client, namespace, nil, pvclaims, false, "") - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Verify persistent volume was created on the right zone") verifyVolumeCreationOnRightZone(persistentvolumes, pod.Spec.NodeName, zones) @@ -336,12 +336,12 @@ func verifyPVCAndPodCreationSucceeds(client clientset.Interface, namespace strin func verifyPVCCreationFails(client clientset.Interface, namespace string, scParameters map[string]string, zones []string) error { storageclass, err := client.StorageV1().StorageClasses().Create(getVSphereStorageClassSpec("zone-sc", scParameters, zones)) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create storage class with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) defer client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) By("Creating PVC using the Storage Class") pvclaim, err := framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer framework.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace) var pvclaims []*v1.PersistentVolumeClaim @@ -358,19 +358,19 @@ func verifyPVCCreationFails(client clientset.Interface, namespace string, scPara func verifyPVZoneLabels(client clientset.Interface, namespace string, scParameters map[string]string, zones []string) { storageclass, err := client.StorageV1().StorageClasses().Create(getVSphereStorageClassSpec("zone-sc", nil, zones)) - Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create storage class with err: %v", err)) + framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) defer client.StorageV1().StorageClasses().Delete(storageclass.Name, nil) By("Creating PVC using the storage class") pvclaim, err := framework.CreatePVC(client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) defer framework.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace) var pvclaims []*v1.PersistentVolumeClaim pvclaims = append(pvclaims, pvclaim) By("Waiting for claim to be in bound phase") persistentvolumes, err := framework.WaitForPVClaimBoundPhase(client, pvclaims, framework.ClaimProvisionTimeout) - Expect(err).NotTo(HaveOccurred()) + framework.ExpectNoError(err) By("Verify zone information is present in the volume labels") for _, pv := range persistentvolumes {