67
67
// Test flags
68
68
migrationTest = flag .Bool ("migration-test" , false , "sets the flag on the e2e binary signalling migration" )
69
69
testFocus = flag .String ("test-focus" , "" , "test focus for Kubernetes e2e" )
70
+
71
+ useKubeTest2 = flag .Bool ("use-kubetest2" , false , "use kubetest2 to run e2e tests" )
70
72
)
71
73
72
74
const (
@@ -89,6 +91,7 @@ type testParameters struct {
89
91
testSkip string
90
92
snapshotClassFile string
91
93
cloudProviderArgs []string
94
+ cloudProviderArgsK2 []string
92
95
deploymentStrategy string
93
96
outputDir string
94
97
allowedNotReadyNodes int
@@ -436,10 +439,20 @@ func handle() error {
436
439
437
440
switch testParams .deploymentStrategy {
438
441
case "gke" :
439
- testParams .cloudProviderArgs , err = getGKEKubeTestArgs (* gceZone , * gceRegion , testParams .imageType )
440
- if err != nil {
442
+ // Build params for both kubetest and kubetest2 for debugging.
443
+ testParams .cloudProviderArgs , err = getGKEKubeTestArgs (* gceZone , * gceRegion , testParams .imageType , false /* useKubeTest2 */ )
444
+ if err != nil && ! * useKubeTest2 {
441
445
return fmt .Errorf ("failed to build GKE kubetest args: %v" , err )
442
446
}
447
+ testParams .cloudProviderArgsK2 , err = getGKEKubeTestArgs (* gceZone , * gceRegion , testParams .imageType , true /* useKubeTest2 */ )
448
+ if err != nil && * useKubeTest2 {
449
+ return fmt .Errorf ("failed to build GKE kubetest2 args: %v" , err )
450
+ }
451
+ case "gce" :
452
+ testParams .cloudProviderArgsK2 = []string {
453
+ "--legacy-mode" ,
454
+ fmt .Sprintf ("--repo-root=%s" , * localK8sDir ),
455
+ }
443
456
}
444
457
445
458
// Kubernetes version of GKE deployments are expected to be of the pattern x.y.z-gke.k,
@@ -634,12 +647,32 @@ func runTestsWithConfig(testParams *testParameters, testConfigArg, reportPrefix
634
647
"--check-version-skew=false" ,
635
648
fmt .Sprintf ("--test_args=%s" , testArgs ),
636
649
}
650
+
651
+ kubeTest2Args := []string {
652
+ * deploymentStrat ,
653
+ "--test=ginkgo" ,
654
+ }
655
+ kubeTest2Args = append (kubeTest2Args , testParams .cloudProviderArgsK2 ... )
656
+ if kubetestDumpDir != "" {
657
+ kubeTest2Args = append (kubeTest2Args , fmt .Sprintf ("--log_dir=%s" , kubetestDumpDir ))
658
+ }
659
+ kubeTest2Args = append (kubeTest2Args , "--" )
660
+ kubeTest2Args = append (kubeTest2Args , fmt .Sprintf ("--focus-regex=%s" , testParams .testFocus ))
661
+ kubeTest2Args = append (kubeTest2Args , fmt .Sprintf ("--skip-regex=%s" , testParams .testSkip ))
662
+ // kubetest uses 25 as default value for ginkgo parallelism (--nodes).
663
+ kubeTest2Args = append (kubeTest2Args , "--parallel=25" )
664
+ kubeTest2Args = append (kubeTest2Args , fmt .Sprintf ("--test-args=%s %s" , testConfigArg , reportArg ))
665
+
637
666
if kubetestDumpDir != "" {
638
667
kubeTestArgs = append (kubeTestArgs , fmt .Sprintf ("--dump=%s" , kubetestDumpDir ))
639
668
}
640
669
kubeTestArgs = append (kubeTestArgs , testParams .cloudProviderArgs ... )
641
670
642
- err = runCommand ("Running Tests" , exec .Command ("kubetest" , kubeTestArgs ... ))
671
+ if * useKubeTest2 {
672
+ err = runCommand ("Running Tests" , exec .Command ("kubetest2" , kubeTest2Args ... ))
673
+ } else {
674
+ err = runCommand ("Running Tests" , exec .Command ("kubetest" , kubeTestArgs ... ))
675
+ }
643
676
if err != nil {
644
677
return fmt .Errorf ("failed to run tests on e2e cluster: %v" , err )
645
678
}
0 commit comments