mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-20 02:11:09 +00:00
fixed e2e test vsphere_volume_datastore.go
This commit is contained in:
parent
86096addb1
commit
950ed79e41
@ -24,6 +24,10 @@ import (
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
)
|
||||
|
||||
// VSphereCSIMigrationEnabled is the environment variables to help
|
||||
// determine test verification flow.
|
||||
const VSphereCSIMigrationEnabled = "VSPHERE_CSI_MIGRATION_ENABLED"
|
||||
|
||||
// environment variables related to datastore parameters
|
||||
const (
|
||||
SPBMPolicyName = "VSPHERE_SPBM_POLICY_NAME"
|
||||
@ -111,3 +115,15 @@ func GetAndExpectIntEnvVar(varName string) int {
|
||||
framework.ExpectNoError(err, "Error Parsing "+varName)
|
||||
return varIntValue
|
||||
}
|
||||
|
||||
// GetAndExpectBoolEnvVar returns the bool value of an environment variable
|
||||
// if environment variable is not set return false
|
||||
func GetAndExpectBoolEnvVar(varName string) bool {
|
||||
varValue := os.Getenv(varName)
|
||||
if varValue == "" {
|
||||
return false
|
||||
}
|
||||
varBoolValue, err := strconv.ParseBool(varValue)
|
||||
framework.ExpectNoError(err, "Error Parsing "+varName)
|
||||
return varBoolValue
|
||||
}
|
||||
|
@ -26,6 +26,7 @@ import (
|
||||
v1 "k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
|
||||
e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
|
||||
@ -51,9 +52,10 @@ const (
|
||||
var _ = utils.SIGDescribe("Volume Provisioning on Datastore [Feature:vsphere]", func() {
|
||||
f := framework.NewDefaultFramework("volume-datastore")
|
||||
var (
|
||||
client clientset.Interface
|
||||
namespace string
|
||||
scParameters map[string]string
|
||||
client clientset.Interface
|
||||
namespace string
|
||||
scParameters map[string]string
|
||||
vSphereCSIMigrationEnabled bool
|
||||
)
|
||||
ginkgo.BeforeEach(func() {
|
||||
e2eskipper.SkipUnlessProviderIs("vsphere")
|
||||
@ -63,6 +65,7 @@ var _ = utils.SIGDescribe("Volume Provisioning on Datastore [Feature:vsphere]",
|
||||
scParameters = make(map[string]string)
|
||||
_, err := e2enode.GetRandomReadySchedulableNode(f.ClientSet)
|
||||
framework.ExpectNoError(err)
|
||||
vSphereCSIMigrationEnabled = GetAndExpectBoolEnvVar(VSphereCSIMigrationEnabled)
|
||||
})
|
||||
|
||||
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]",
|
||||
scParameters[DiskFormat] = ThinDisk
|
||||
err := invokeInvalidDatastoreTestNeg(client, namespace, scParameters)
|
||||
framework.ExpectError(err)
|
||||
errorMsg := `Failed to provision volume with StorageClass \"` + datastoreSCName + `\": Datastore '` + invalidDatastore + `' not found`
|
||||
var errorMsg string
|
||||
if !vSphereCSIMigrationEnabled {
|
||||
errorMsg = `Failed to provision volume with StorageClass \"` + datastoreSCName + `\": Datastore '` + invalidDatastore + `' not found`
|
||||
} else {
|
||||
errorMsg = `failed to find datastoreURL for datastore name: \"` + invalidDatastore + `\"`
|
||||
}
|
||||
if !strings.Contains(err.Error(), errorMsg) {
|
||||
framework.ExpectNoError(err, errorMsg)
|
||||
}
|
||||
@ -95,5 +103,12 @@ func invokeInvalidDatastoreTestNeg(client clientset.Interface, namespace string,
|
||||
|
||||
eventList, err := client.CoreV1().Events(pvclaim.Namespace).List(context.TODO(), metav1.ListOptions{})
|
||||
framework.ExpectNoError(err)
|
||||
return fmt.Errorf("Failure message: %+q", eventList.Items[0].Message)
|
||||
|
||||
var eventErrorMessages string
|
||||
for _, event := range eventList.Items {
|
||||
if event.Type != v1.EventTypeNormal {
|
||||
eventErrorMessages = eventErrorMessages + event.Message + ";"
|
||||
}
|
||||
}
|
||||
return fmt.Errorf("event messages: %+q", eventErrorMessages)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user