@@ -51,10 +51,11 @@ var (
51
51
inProw = flag .Bool ("run-in-prow" , false , "is the test running in PROW" )
52
52
53
53
// Driver flags
54
- stagingImage = flag .String ("staging-image" , "" , "name of image to stage to" )
55
- saFile = flag .String ("service-account-file" , "" , "path of service account file" )
56
- deployOverlayName = flag .String ("deploy-overlay-name" , "" , "which kustomize overlay to deploy the driver with" )
57
- doDriverBuild = flag .Bool ("do-driver-build" , true , "building the driver from source" )
54
+ stagingImage = flag .String ("staging-image" , "" , "name of image to stage to" )
55
+ saFile = flag .String ("service-account-file" , "" , "path of service account file" )
56
+ deployOverlayName = flag .String ("deploy-overlay-name" , "" , "which kustomize overlay to deploy the driver with" )
57
+ doDriverBuild = flag .Bool ("do-driver-build" , true , "building the driver from source" )
58
+ useGKEManagedDriver = flag .Bool ("use-gke-managed-driver" , false , "use GKE managed PD CSI driver for the tests" )
58
59
59
60
// Test flags
60
61
migrationTest = flag .Bool ("migration-test" , false , "sets the flag on the e2e binary signalling migration" )
@@ -75,12 +76,21 @@ func init() {
75
76
func main () {
76
77
flag .Parse ()
77
78
78
- if ! * inProw {
79
+ if ! * inProw && ! * useGKEManagedDriver {
79
80
ensureVariable (stagingImage , true , "staging-image is a required flag, please specify the name of image to stage to" )
80
81
}
81
82
83
+ if * useGKEManagedDriver {
84
+ ensureVariableVal (deploymentStrat , "gke" , "deployment strategy must be GKE for using managed driver" )
85
+ ensureFlag (doDriverBuild , false , "driver build flag will be ignored when using GKE managed driver" )
86
+ ensureFlag (teardownDriver , false , "driver teardown flag will be ignored when using GKE managed driver" )
87
+ }
88
+
82
89
ensureVariable (saFile , true , "service-account-file is a required flag" )
83
- ensureVariable (deployOverlayName , true , "deploy-overlay-name is a required flag" )
90
+ if ! * useGKEManagedDriver {
91
+ ensureVariable (deployOverlayName , true , "deploy-overlay-name is a required flag" )
92
+ }
93
+
84
94
ensureVariable (testFocus , true , "test-focus is a required flag" )
85
95
ensureVariable (imageType , true , "image type is a required flag. Available options include 'cos' and 'ubuntu'" )
86
96
@@ -243,7 +253,7 @@ func handle() error {
243
253
case "gce" :
244
254
err = clusterUpGCE (k8sDir , * gceZone , * numNodes , * imageType )
245
255
case "gke" :
246
- err = clusterUpGKE (* gceZone , * gceRegion , * numNodes , * imageType )
256
+ err = clusterUpGKE (* gceZone , * gceRegion , * numNodes , * imageType , * useGKEManagedDriver )
247
257
default :
248
258
err = fmt .Errorf ("deployment-strategy must be set to 'gce' or 'gke', but is: %s" , * deploymentStrat )
249
259
}
@@ -272,21 +282,24 @@ func handle() error {
272
282
}()
273
283
}
274
284
275
- // Install the driver and defer its teardown
276
- err := installDriver (goPath , pkgDir , * stagingImage , stagingVersion , * deployOverlayName , * doDriverBuild )
277
- if * teardownDriver {
278
- defer func () {
279
- // TODO (#140): collect driver logs
280
- if teardownErr := deleteDriver (goPath , pkgDir , * deployOverlayName ); teardownErr != nil {
281
- klog .Errorf ("failed to delete driver: %v" , teardownErr )
282
- }
283
- }()
284
- }
285
- if err != nil {
286
- return fmt .Errorf ("failed to install CSI Driver: %v" , err )
285
+ if ! * useGKEManagedDriver {
286
+ // Install the driver and defer its teardown
287
+ err := installDriver (goPath , pkgDir , * stagingImage , stagingVersion , * deployOverlayName , * doDriverBuild )
288
+ if * teardownDriver {
289
+ defer func () {
290
+ // TODO (#140): collect driver logs
291
+ if teardownErr := deleteDriver (goPath , pkgDir , * deployOverlayName ); teardownErr != nil {
292
+ klog .Errorf ("failed to delete driver: %v" , teardownErr )
293
+ }
294
+ }()
295
+ }
296
+ if err != nil {
297
+ return fmt .Errorf ("failed to install CSI Driver: %v" , err )
298
+ }
287
299
}
288
300
289
301
var cloudProviderArgs []string
302
+ var err error
290
303
switch * deploymentStrat {
291
304
case "gke" :
292
305
cloudProviderArgs , err = getGKEKubeTestArgs (* gceZone , * gceRegion , * imageType )
0 commit comments