mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-19 01:40:13 +00:00
130 lines
4.4 KiB
Go
130 lines
4.4 KiB
Go
/*
|
|
Copyright 2017 The Kubernetes Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
package vsphere
|
|
|
|
import (
|
|
"os"
|
|
"strconv"
|
|
|
|
"github.com/onsi/gomega"
|
|
"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"
|
|
StorageClassDatastoreName = "VSPHERE_DATASTORE"
|
|
SecondSharedDatastore = "VSPHERE_SECOND_SHARED_DATASTORE"
|
|
KubernetesClusterName = "VSPHERE_KUBERNETES_CLUSTER"
|
|
SPBMTagPolicy = "VSPHERE_SPBM_TAG_POLICY"
|
|
VCPClusterDatastore = "CLUSTER_DATASTORE"
|
|
SPBMPolicyDataStoreCluster = "VSPHERE_SPBM_POLICY_DS_CLUSTER"
|
|
)
|
|
|
|
// environment variables used for scaling tests
|
|
const (
|
|
VCPScaleVolumeCount = "VCP_SCALE_VOLUME_COUNT"
|
|
VCPScaleVolumesPerPod = "VCP_SCALE_VOLUME_PER_POD"
|
|
VCPScaleInstances = "VCP_SCALE_INSTANCES"
|
|
)
|
|
|
|
// environment variables used for stress tests
|
|
const (
|
|
VCPStressInstances = "VCP_STRESS_INSTANCES"
|
|
VCPStressIterations = "VCP_STRESS_ITERATIONS"
|
|
)
|
|
|
|
// environment variables used for performance tests
|
|
const (
|
|
VCPPerfVolumeCount = "VCP_PERF_VOLUME_COUNT"
|
|
VCPPerfVolumesPerPod = "VCP_PERF_VOLUME_PER_POD"
|
|
VCPPerfIterations = "VCP_PERF_ITERATIONS"
|
|
)
|
|
|
|
// environment variables used for zone tests
|
|
const (
|
|
VCPZoneVsanDatastore1 = "VCP_ZONE_VSANDATASTORE1"
|
|
VCPZoneVsanDatastore2 = "VCP_ZONE_VSANDATASTORE2"
|
|
VCPZoneLocalDatastore = "VCP_ZONE_LOCALDATASTORE"
|
|
VCPZoneCompatPolicyName = "VCP_ZONE_COMPATPOLICY_NAME"
|
|
VCPZoneNonCompatPolicyName = "VCP_ZONE_NONCOMPATPOLICY_NAME"
|
|
VCPZoneA = "VCP_ZONE_A"
|
|
VCPZoneB = "VCP_ZONE_B"
|
|
VCPZoneC = "VCP_ZONE_C"
|
|
VCPZoneD = "VCP_ZONE_D"
|
|
VCPInvalidZone = "VCP_INVALID_ZONE"
|
|
)
|
|
|
|
// storage class parameters
|
|
const (
|
|
Datastore = "datastore"
|
|
PolicyDiskStripes = "diskStripes"
|
|
PolicyHostFailuresToTolerate = "hostFailuresToTolerate"
|
|
PolicyCacheReservation = "cacheReservation"
|
|
PolicyObjectSpaceReservation = "objectSpaceReservation"
|
|
PolicyIopsLimit = "iopsLimit"
|
|
DiskFormat = "diskformat"
|
|
SpbmStoragePolicy = "storagepolicyname"
|
|
)
|
|
|
|
// test values for storage class parameters
|
|
const (
|
|
ThinDisk = "thin"
|
|
BronzeStoragePolicy = "bronze"
|
|
HostFailuresToTolerateCapabilityVal = "0"
|
|
CacheReservationCapabilityVal = "20"
|
|
DiskStripesCapabilityVal = "1"
|
|
ObjectSpaceReservationCapabilityVal = "30"
|
|
IopsLimitCapabilityVal = "100"
|
|
StripeWidthCapabilityVal = "2"
|
|
DiskStripesCapabilityInvalidVal = "14"
|
|
HostFailuresToTolerateCapabilityInvalidVal = "4"
|
|
)
|
|
|
|
// GetAndExpectStringEnvVar returns the string value of an environment variable or fails if
|
|
// the variable is not set
|
|
func GetAndExpectStringEnvVar(varName string) string {
|
|
varValue := os.Getenv(varName)
|
|
gomega.Expect(varValue).NotTo(gomega.BeEmpty(), "ENV "+varName+" is not set")
|
|
return varValue
|
|
}
|
|
|
|
// GetAndExpectIntEnvVar returns the integer value of an environment variable or fails if
|
|
// the variable is not set
|
|
func GetAndExpectIntEnvVar(varName string) int {
|
|
varValue := GetAndExpectStringEnvVar(varName)
|
|
varIntValue, err := strconv.Atoi(varValue)
|
|
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
|
|
}
|