@@ -26,6 +26,7 @@ import (
26
26
v1 "k8s.io/api/core/v1"
27
27
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
28
28
clientset "k8s.io/client-go/kubernetes"
29
+
29
30
"k8s.io/kubernetes/test/e2e/framework"
30
31
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
31
32
e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
@@ -51,9 +52,10 @@ const (
51
52
var _ = utils .SIGDescribe ("Volume Provisioning on Datastore [Feature:vsphere]" , func () {
52
53
f := framework .NewDefaultFramework ("volume-datastore" )
53
54
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
57
59
)
58
60
ginkgo .BeforeEach (func () {
59
61
e2eskipper .SkipUnlessProviderIs ("vsphere" )
@@ -63,6 +65,7 @@ var _ = utils.SIGDescribe("Volume Provisioning on Datastore [Feature:vsphere]",
63
65
scParameters = make (map [string ]string )
64
66
_ , err := e2enode .GetRandomReadySchedulableNode (f .ClientSet )
65
67
framework .ExpectNoError (err )
68
+ vSphereCSIMigrationEnabled = GetAndExpectBoolEnvVar (VSphereCSIMigrationEnabled )
66
69
})
67
70
68
71
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]",
71
74
scParameters [DiskFormat ] = ThinDisk
72
75
err := invokeInvalidDatastoreTestNeg (client , namespace , scParameters )
73
76
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
+ }
75
83
if ! strings .Contains (err .Error (), errorMsg ) {
76
84
framework .ExpectNoError (err , errorMsg )
77
85
}
@@ -95,5 +103,12 @@ func invokeInvalidDatastoreTestNeg(client clientset.Interface, namespace string,
95
103
96
104
eventList , err := client .CoreV1 ().Events (pvclaim .Namespace ).List (context .TODO (), metav1.ListOptions {})
97
105
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 )
99
114
}
0 commit comments