Skip to content

Commit b214b1e

Browse files
authored
Merge pull request #753 from mattcary/test-version
Use --test-version correctly with kubetest2
2 parents 3bc7660 + ef5275e commit b214b1e

File tree

2 files changed

+24
-11
lines changed

2 files changed

+24
-11
lines changed

test/k8s-integration/cluster.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,16 @@ func clusterUpGCE(k8sDir, gceZone string, numNodes int, imageType string) error
9898
return err
9999
}
100100

101+
// The default master size with few nodes is too small; the tests must hit the API server
102+
// more than usual. The main issue seems to be memory, to reduce GC times that stall the
103+
// api server. For defaults, get-master-size in k/k/cluster/gce/config-common.sh.
104+
if numNodes < 20 {
105+
err = os.Setenv("MASTER_SIZE", "n1-standard-4")
106+
if err != nil {
107+
return err
108+
}
109+
}
110+
101111
err = os.Setenv("KUBE_GCE_ZONE", gceZone)
102112
if err != nil {
103113
return err
@@ -112,8 +122,6 @@ func clusterUpGCE(k8sDir, gceZone string, numNodes int, imageType string) error
112122
}
113123

114124
func setImageTypeEnvs(imageType string) error {
115-
//const image = "ubuntu-1804-bionic-v20191211"
116-
//const imageProject = "ubuntu-os-cloud"
117125
switch strings.ToLower(imageType) {
118126
case "cos":
119127
case "gci": // GCI/COS is default type and does not need env vars set

test/k8s-integration/main.go

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,9 @@ func handle() error {
281281
testParams.k8sSourceDir = *localK8sDir
282282
}
283283

284-
// If test version is set, then download and build Kubernetes to run K8s tests
285-
// Otherwise, either kube version is set (which implies GCE) or a local K8s dir is being used
286-
if len(*testVersion) != 0 && *testVersion != *kubeVersion {
284+
// If using kubetest and test version is set, then download and build Kubernetes to run K8s tests
285+
// Otherwise, either kube version is set (which implies GCE) or a local K8s dir is being used.
286+
if !*useKubeTest2 && len(*testVersion) != 0 && *testVersion != *kubeVersion {
287287
testParams.k8sSourceDir = filepath.Join(testParams.testParentDir, "kubernetes")
288288
err := downloadKubernetesSource(testParams.pkgDir, testParams.testParentDir, *testVersion)
289289
if err != nil {
@@ -600,21 +600,23 @@ func runMigrationTests(testParams *testParameters) error {
600600
func runCSITests(testParams *testParameters, storageClassFile string, reportPrefix string) error {
601601
testDriverConfigFile, err := generateDriverConfigFile(testParams, storageClassFile)
602602
if err != nil {
603-
return err
603+
return fmt.Errorf("failed to generated driver config: %w", err)
604604
}
605605
testConfigArg := fmt.Sprintf("--storage.testdriver=%s", testDriverConfigFile)
606606
return runTestsWithConfig(testParams, testConfigArg, reportPrefix)
607607
}
608608

609609
func runTestsWithConfig(testParams *testParameters, testConfigArg, reportPrefix string) error {
610-
err := os.Chdir(testParams.k8sSourceDir)
611-
if err != nil {
612-
return err
610+
if !*useKubeTest2 && len(testParams.k8sSourceDir) > 0 {
611+
err := os.Chdir(testParams.k8sSourceDir)
612+
if err != nil {
613+
return fmt.Errorf("Failed to chdir to k8sSourceDir %s: %w", testParams.k8sSourceDir, err)
614+
}
613615
}
614616

615617
kubeconfig, err := getKubeConfig()
616618
if err != nil {
617-
return err
619+
return fmt.Errorf("Failed to get kubeconfig: %w", err)
618620
}
619621
os.Setenv("KUBECONFIG", kubeconfig)
620622

@@ -625,7 +627,7 @@ func runTestsWithConfig(testParams *testParameters, testConfigArg, reportPrefix
625627
if len(reportPrefix) > 0 {
626628
kubetestDumpDir = filepath.Join(artifactsDir, reportPrefix)
627629
if err := os.MkdirAll(kubetestDumpDir, 0755); err != nil {
628-
return err
630+
return fmt.Errorf("failed to make dump dir %s: %w", kubetestDumpDir, err)
629631
}
630632
} else {
631633
kubetestDumpDir = artifactsDir
@@ -656,6 +658,9 @@ func runTestsWithConfig(testParams *testParameters, testConfigArg, reportPrefix
656658
kubeTest2Args = append(kubeTest2Args, fmt.Sprintf("--log_dir=%s", kubetestDumpDir))
657659
}
658660
kubeTest2Args = append(kubeTest2Args, "--")
661+
if len(*testVersion) != 0 && *testVersion != "master" {
662+
kubeTest2Args = append(kubeTest2Args, fmt.Sprintf("--test-package-version=v%s", *testVersion))
663+
}
659664
kubeTest2Args = append(kubeTest2Args, fmt.Sprintf("--focus-regex=%s", testParams.testFocus))
660665
kubeTest2Args = append(kubeTest2Args, fmt.Sprintf("--skip-regex=%s", testParams.testSkip))
661666
// kubetest uses 25 as default value for ginkgo parallelism (--nodes).

0 commit comments

Comments
 (0)