@@ -34,13 +34,15 @@ var (
34
34
teardownDriver = flag .Bool ("teardown-driver" , true , "teardown the driver after the e2e test" )
35
35
bringupCluster = flag .Bool ("bringup-cluster" , true , "build kubernetes and bringup a cluster" )
36
36
gceZone = flag .String ("gce-zone" , "" , "zone that the gce k8s cluster is created/found in" )
37
+ gceRegion = flag .String ("gce-region" , "" , "region that gke regional cluster should be created in" )
37
38
kubeVersion = flag .String ("kube-version" , "" , "version of Kubernetes to download and use for the cluster" )
38
39
testVersion = flag .String ("test-version" , "" , "version of Kubernetes to download and use for tests" )
39
40
kubeFeatureGates = flag .String ("kube-feature-gates" , "" , "feature gates to set on new kubernetes cluster" )
40
41
localK8sDir = flag .String ("local-k8s-dir" , "" , "local prebuilt kubernetes/kubernetes directory to use for cluster and test binaries" )
41
- deploymentStrat = flag .String ("deployment-strategy" , "" , "choose between deploying on gce or gke" )
42
+ deploymentStrat = flag .String ("deployment-strategy" , "gce " , "choose between deploying on gce or gke" )
42
43
gkeClusterVer = flag .String ("gke-cluster-version" , "" , "version of Kubernetes master and node for gke" )
43
44
numNodes = flag .Int ("num-nodes" , - 1 , "the number of nodes in the test cluster" )
45
+
44
46
// Test infrastructure flags
45
47
boskosResourceType = flag .String ("boskos-resource-type" , "gce-project" , "name of the boskos resource type to reserve" )
46
48
storageClassFile = flag .String ("storageclass-file" , "" , "name of storageclass yaml file to use for test relative to test/k8s-integration/config" )
@@ -78,7 +80,12 @@ func main() {
78
80
ensureVariable (saFile , true , "service-account-file is a required flag" )
79
81
ensureVariable (deployOverlayName , true , "deploy-overlay-name is a required flag" )
80
82
ensureVariable (testFocus , true , "test-focus is a required flag" )
81
- ensureVariable (gceZone , true , "gce-zone is a required flag" )
83
+
84
+ if len (* gceRegion ) != 0 {
85
+ ensureVariable (gceZone , false , "gce-zone and gce-region cannot both be set" )
86
+ } else {
87
+ ensureVariable (gceZone , true , "One of gce-zone or gce-region must be set" )
88
+ }
82
89
83
90
if * migrationTest {
84
91
ensureVariable (storageClassFile , false , "storage-class-file and migration-test cannot both be set" )
@@ -90,12 +97,6 @@ func main() {
90
97
ensureVariable (kubeFeatureGates , false , "kube-feature-gates set but not bringing up new cluster" )
91
98
}
92
99
93
- if * bringupCluster || * teardownCluster {
94
- ensureVariable (deploymentStrat , true , "Must set the deployment strategy if bringing up or down cluster." )
95
- } else {
96
- ensureVariable (deploymentStrat , false , "Cannot set the deployment strategy if not bringing up or down cluster." )
97
- }
98
-
99
100
if * deploymentStrat == "gke" {
100
101
ensureFlag (migrationTest , false , "Cannot set deployment strategy to 'gke' for migration tests." )
101
102
ensureVariable (kubeVersion , false , "Cannot set kube-version when using deployment strategy 'gke'. Use gke-cluster-version." )
@@ -104,6 +105,9 @@ func main() {
104
105
if len (* localK8sDir ) == 0 {
105
106
ensureVariable (testVersion , true , "Must set either test-version or local k8s dir when using deployment strategy 'gke'." )
106
107
}
108
+ } else if * deploymentStrat == "gce" {
109
+ ensureVariable (gceRegion , false , "regional clusters not supported for 'gce' deployment" )
110
+ ensureVariable (gceZone , true , "gce-zone required for 'gce' deployment" )
107
111
}
108
112
109
113
if len (* localK8sDir ) != 0 {
@@ -229,20 +233,14 @@ func handle() error {
229
233
testDir = k8sDir
230
234
}
231
235
232
- var cloudProviderArgs []string
233
-
234
236
// Create a cluster either through GKE or GCE
235
237
if * bringupCluster {
236
238
var err error = nil
237
239
switch * deploymentStrat {
238
240
case "gce" :
239
241
err = clusterUpGCE (k8sDir , * gceZone , * numNodes )
240
242
case "gke" :
241
- err = clusterUpGKE (* gceZone , * numNodes )
242
- cloudProviderArgs , err = getGKEKubeTestArgs ()
243
- if err != nil {
244
- return fmt .Errorf ("failed to build GKE kubetest args: %v" , err )
245
- }
243
+ err = clusterUpGKE (* gceZone , * gceRegion , * numNodes )
246
244
default :
247
245
err = fmt .Errorf ("deployment-strategy must be set to 'gce' or 'gke', but is: %s" , * deploymentStrat )
248
246
}
@@ -261,7 +259,7 @@ func handle() error {
261
259
klog .Errorf ("failed to cluster down: %v" , err )
262
260
}
263
261
case "gke" :
264
- err := clusterDownGKE (* gceZone )
262
+ err := clusterDownGKE (* gceZone , * gceRegion )
265
263
if err != nil {
266
264
klog .Errorf ("failed to cluster down: %v" , err )
267
265
}
@@ -285,6 +283,15 @@ func handle() error {
285
283
return fmt .Errorf ("failed to install CSI Driver: %v" , err )
286
284
}
287
285
286
+ var cloudProviderArgs []string
287
+ switch * deploymentStrat {
288
+ case "gke" :
289
+ cloudProviderArgs , err = getGKEKubeTestArgs (* gceZone , * gceRegion )
290
+ if err != nil {
291
+ return fmt .Errorf ("failed to build GKE kubetest args: %v" , err )
292
+ }
293
+ }
294
+
288
295
// Run the tests using the testDir kubernetes
289
296
if len (* storageClassFile ) != 0 {
290
297
err = runCSITests (pkgDir , testDir , * testFocus , * storageClassFile , cloudProviderArgs )
@@ -348,6 +355,7 @@ func runTestsWithConfig(testDir, testFocus, testConfigArg string, cloudProviderA
348
355
kubeTestArgs := []string {
349
356
"--test" ,
350
357
"--ginkgo-parallel" ,
358
+ "--check-version-skew=false" ,
351
359
fmt .Sprintf ("--test_args=%s" , testArgs ),
352
360
}
353
361
0 commit comments