Skip to content

Commit 950ed79

Browse files
committed
fixed e2e test vsphere_volume_datastore.go
1 parent 86096ad commit 950ed79

File tree

2 files changed

+36
-5
lines changed

2 files changed

+36
-5
lines changed

test/e2e/storage/vsphere/vsphere_common.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ import (
2424
"k8s.io/kubernetes/test/e2e/framework"
2525
)
2626

27+
// VSphereCSIMigrationEnabled is the environment variables to help
28+
// determine test verification flow.
29+
const VSphereCSIMigrationEnabled = "VSPHERE_CSI_MIGRATION_ENABLED"
30+
2731
// environment variables related to datastore parameters
2832
const (
2933
SPBMPolicyName = "VSPHERE_SPBM_POLICY_NAME"
@@ -111,3 +115,15 @@ func GetAndExpectIntEnvVar(varName string) int {
111115
framework.ExpectNoError(err, "Error Parsing "+varName)
112116
return varIntValue
113117
}
118+
119+
// GetAndExpectBoolEnvVar returns the bool value of an environment variable
120+
// if environment variable is not set return false
121+
func GetAndExpectBoolEnvVar(varName string) bool {
122+
varValue := os.Getenv(varName)
123+
if varValue == "" {
124+
return false
125+
}
126+
varBoolValue, err := strconv.ParseBool(varValue)
127+
framework.ExpectNoError(err, "Error Parsing "+varName)
128+
return varBoolValue
129+
}

test/e2e/storage/vsphere/vsphere_volume_datastore.go

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
v1 "k8s.io/api/core/v1"
2727
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2828
clientset "k8s.io/client-go/kubernetes"
29+
2930
"k8s.io/kubernetes/test/e2e/framework"
3031
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
3132
e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
@@ -51,9 +52,10 @@ const (
5152
var _ = utils.SIGDescribe("Volume Provisioning on Datastore [Feature:vsphere]", func() {
5253
f := framework.NewDefaultFramework("volume-datastore")
5354
var (
54-
client clientset.Interface
55-
namespace string
56-
scParameters map[string]string
55+
client clientset.Interface
56+
namespace string
57+
scParameters map[string]string
58+
vSphereCSIMigrationEnabled bool
5759
)
5860
ginkgo.BeforeEach(func() {
5961
e2eskipper.SkipUnlessProviderIs("vsphere")
@@ -63,6 +65,7 @@ var _ = utils.SIGDescribe("Volume Provisioning on Datastore [Feature:vsphere]",
6365
scParameters = make(map[string]string)
6466
_, err := e2enode.GetRandomReadySchedulableNode(f.ClientSet)
6567
framework.ExpectNoError(err)
68+
vSphereCSIMigrationEnabled = GetAndExpectBoolEnvVar(VSphereCSIMigrationEnabled)
6669
})
6770

6871
ginkgo.It("verify dynamically provisioned pv using storageclass fails on an invalid datastore", func() {
@@ -71,7 +74,12 @@ var _ = utils.SIGDescribe("Volume Provisioning on Datastore [Feature:vsphere]",
7174
scParameters[DiskFormat] = ThinDisk
7275
err := invokeInvalidDatastoreTestNeg(client, namespace, scParameters)
7376
framework.ExpectError(err)
74-
errorMsg := `Failed to provision volume with StorageClass \"` + datastoreSCName + `\": Datastore '` + invalidDatastore + `' not found`
77+
var errorMsg string
78+
if !vSphereCSIMigrationEnabled {
79+
errorMsg = `Failed to provision volume with StorageClass \"` + datastoreSCName + `\": Datastore '` + invalidDatastore + `' not found`
80+
} else {
81+
errorMsg = `failed to find datastoreURL for datastore name: \"` + invalidDatastore + `\"`
82+
}
7583
if !strings.Contains(err.Error(), errorMsg) {
7684
framework.ExpectNoError(err, errorMsg)
7785
}
@@ -95,5 +103,12 @@ func invokeInvalidDatastoreTestNeg(client clientset.Interface, namespace string,
95103

96104
eventList, err := client.CoreV1().Events(pvclaim.Namespace).List(context.TODO(), metav1.ListOptions{})
97105
framework.ExpectNoError(err)
98-
return fmt.Errorf("Failure message: %+q", eventList.Items[0].Message)
106+
107+
var eventErrorMessages string
108+
for _, event := range eventList.Items {
109+
if event.Type != v1.EventTypeNormal {
110+
eventErrorMessages = eventErrorMessages + event.Message + ";"
111+
}
112+
}
113+
return fmt.Errorf("event messages: %+q", eventErrorMessages)
99114
}

0 commit comments

Comments
 (0)