Skip to content

Commit 4c46bb8

Browse files
authored
Merge pull request #679 from verult/disable-gke-deployment
disable gke deployment for clusters with installation by default if GKE deployment is not requested
2 parents 87bb2bb + 090ad76 commit 4c46bb8

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

test/k8s-integration/cluster.go

+22-1
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,25 @@ func clusterUpGKE(gceZone, gceRegion string, numNodes int, imageType string, use
182182
}
183183

184184
cmd = exec.Command("gcloud", cmdParams...)
185-
err = runCommand("Staring E2E Cluster on GKE", cmd)
185+
err = runCommand("Starting E2E Cluster on GKE", cmd)
186186
if err != nil {
187187
return fmt.Errorf("failed to bring up kubernetes e2e cluster on gke: %v", err)
188188
}
189189

190+
// Because gcloud cannot disable addons on cluster create, the deployment has
191+
// to be disabled on update.
192+
clusterVersion := mustGetKubeClusterVersion()
193+
if !useManagedDriver && isGKEDeploymentInstalledByDefault(clusterVersion) {
194+
cmd = exec.Command(
195+
"gcloud", "beta", "container", "clusters", "update",
196+
*gkeTestClusterName, locationArg, locationVal, "--quiet",
197+
"--update-addons", "GcePersistentDiskCsiDriver=DISABLED")
198+
err = runCommand("Updating E2E Cluster on GKE to disable driver deployment", cmd)
199+
if err != nil {
200+
return fmt.Errorf("failed to update kubernetes e2e cluster on gke: %v", err)
201+
}
202+
}
203+
190204
return nil
191205
}
192206

@@ -379,3 +393,10 @@ func getKubeClient() (kubernetes.Interface, error) {
379393
}
380394
return kubeClient, nil
381395
}
396+
397+
func isGKEDeploymentInstalledByDefault(clusterVersion string) bool {
398+
cv := mustParseVersion(clusterVersion)
399+
return cv.atLeast(mustParseVersion("1.18.10-gke.2101")) &&
400+
cv.lessThan(mustParseVersion("1.19")) ||
401+
cv.atLeast(mustParseVersion("1.19.3-gke.2100"))
402+
}

test/k8s-integration/version.go

+6
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ func parseVersion(vs string) (*version, error) {
105105
return &v, nil
106106
}
107107

108+
// mustParseVersion parses a GKE cluster version.
108109
func mustParseVersion(version string) *version {
109110
v, err := parseVersion(version)
110111
if err != nil {
@@ -134,3 +135,8 @@ func (v *version) compare(right *version) int {
134135
func (v *version) lessThan(right *version) bool {
135136
return v.compare(right) < 0
136137
}
138+
139+
// Compare versions if left is greater than or equal to right.
140+
func (v *version) atLeast(right *version) bool {
141+
return v.compare(right) >= 0
142+
}

0 commit comments

Comments
 (0)