Skip to content

Commit 80c19e4

Browse files
author
Kenichi Omichi
committed
Move MasterUpgrade() out from e2e framework
MasterUpgrade() is called only from cloud/gcp/cluster_upgrade.go. And the function depends on GCP, so it is nice to move this function from e2e framework.
1 parent f9ad7db commit 80c19e4

File tree

2 files changed

+49
-47
lines changed

2 files changed

+49
-47
lines changed

test/e2e/cloud/gcp/cluster_upgrade.go

Lines changed: 49 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ var (
5252
upgradeImage = e2econfig.Flags.String("upgrade-image", "", "Image to upgrade to (e.g. 'container_vm' or 'gci') if doing an upgrade test.")
5353
)
5454

55+
const etcdImage = "3.4.9-1"
56+
5557
var upgradeTests = []upgrades.Test{
5658
&upgrades.ServiceUpgradeTest{},
5759
&upgrades.SecretUpgradeTest{},
@@ -87,6 +89,44 @@ var kubeProxyDowngradeTests = []upgrades.Test{
8789
&upgrades.ServiceUpgradeTest{},
8890
}
8991

92+
// masterUpgrade upgrades master node on GCE/GKE.
93+
func masterUpgrade(f *framework.Framework, v string) error {
94+
switch framework.TestContext.Provider {
95+
case "gce":
96+
return masterUpgradeGCE(v, false)
97+
case "gke":
98+
return framework.MasterUpgradeGKE(f.Namespace.Name, v)
99+
default:
100+
return fmt.Errorf("masterUpgrade() is not implemented for provider %s", framework.TestContext.Provider)
101+
}
102+
}
103+
104+
// masterUpgradeGCEWithKubeProxyDaemonSet upgrades master node on GCE with enabling/disabling the daemon set of kube-proxy.
105+
// TODO(mrhohn): Remove this function when kube-proxy is run as a DaemonSet by default.
106+
func masterUpgradeGCEWithKubeProxyDaemonSet(v string, enableKubeProxyDaemonSet bool) error {
107+
return masterUpgradeGCE(v, enableKubeProxyDaemonSet)
108+
}
109+
110+
// TODO(mrhohn): Remove 'enableKubeProxyDaemonSet' when kube-proxy is run as a DaemonSet by default.
111+
func masterUpgradeGCE(rawV string, enableKubeProxyDaemonSet bool) error {
112+
env := append(os.Environ(), fmt.Sprintf("KUBE_PROXY_DAEMONSET=%v", enableKubeProxyDaemonSet))
113+
// TODO: Remove these variables when they're no longer needed for downgrades.
114+
if framework.TestContext.EtcdUpgradeVersion != "" && framework.TestContext.EtcdUpgradeStorage != "" {
115+
env = append(env,
116+
"TEST_ETCD_VERSION="+framework.TestContext.EtcdUpgradeVersion,
117+
"STORAGE_BACKEND="+framework.TestContext.EtcdUpgradeStorage,
118+
"TEST_ETCD_IMAGE="+etcdImage)
119+
} else {
120+
// In e2e tests, we skip the confirmation prompt about
121+
// implicit etcd upgrades to simulate the user entering "y".
122+
env = append(env, "TEST_ALLOW_IMPLICIT_ETCD_UPGRADE=true")
123+
}
124+
125+
v := "v" + rawV
126+
_, _, err := framework.RunCmdEnv(env, framework.GCEUpgradeScript(), "-M", v)
127+
return err
128+
}
129+
90130
var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() {
91131
f := framework.NewDefaultFramework("cluster-upgrade")
92132

@@ -109,7 +149,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() {
109149
start := time.Now()
110150
defer finalizeUpgradeTest(start, masterUpgradeTest)
111151
target := upgCtx.Versions[1].Version.String()
112-
framework.ExpectNoError(framework.MasterUpgrade(f, target))
152+
framework.ExpectNoError(masterUpgrade(f, target))
113153
framework.ExpectNoError(checkMasterVersion(f.ClientSet, target))
114154
}
115155
runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgrades.MasterUpgrade, upgradeFunc)
@@ -150,7 +190,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() {
150190
start := time.Now()
151191
defer finalizeUpgradeTest(start, clusterUpgradeTest)
152192
target := upgCtx.Versions[1].Version.String()
153-
framework.ExpectNoError(framework.MasterUpgrade(f, target))
193+
framework.ExpectNoError(masterUpgrade(f, target))
154194
framework.ExpectNoError(checkMasterVersion(f.ClientSet, target))
155195
framework.ExpectNoError(nodeUpgrade(f, target, *upgradeImage))
156196
framework.ExpectNoError(checkNodesVersions(f.ClientSet, target))
@@ -183,7 +223,7 @@ var _ = SIGDescribe("Downgrade [Feature:Downgrade]", func() {
183223
target := upgCtx.Versions[1].Version.String()
184224
framework.ExpectNoError(nodeUpgrade(f, target, *upgradeImage))
185225
framework.ExpectNoError(checkNodesVersions(f.ClientSet, target))
186-
framework.ExpectNoError(framework.MasterUpgrade(f, target))
226+
framework.ExpectNoError(masterUpgrade(f, target))
187227
framework.ExpectNoError(checkMasterVersion(f.ClientSet, target))
188228
}
189229
runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc)
@@ -231,7 +271,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() {
231271
start := time.Now()
232272
defer finalizeUpgradeTest(start, gpuUpgradeTest)
233273
target := upgCtx.Versions[1].Version.String()
234-
framework.ExpectNoError(framework.MasterUpgrade(f, target))
274+
framework.ExpectNoError(masterUpgrade(f, target))
235275
framework.ExpectNoError(checkMasterVersion(f.ClientSet, target))
236276
}
237277
runUpgradeSuite(f, gpuUpgradeTests, testFrameworks, testSuite, upgrades.MasterUpgrade, upgradeFunc)
@@ -249,7 +289,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() {
249289
start := time.Now()
250290
defer finalizeUpgradeTest(start, gpuUpgradeTest)
251291
target := upgCtx.Versions[1].Version.String()
252-
framework.ExpectNoError(framework.MasterUpgrade(f, target))
292+
framework.ExpectNoError(masterUpgrade(f, target))
253293
framework.ExpectNoError(checkMasterVersion(f.ClientSet, target))
254294
framework.ExpectNoError(nodeUpgrade(f, target, *upgradeImage))
255295
framework.ExpectNoError(checkNodesVersions(f.ClientSet, target))
@@ -271,7 +311,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() {
271311
target := upgCtx.Versions[1].Version.String()
272312
framework.ExpectNoError(nodeUpgrade(f, target, *upgradeImage))
273313
framework.ExpectNoError(checkNodesVersions(f.ClientSet, target))
274-
framework.ExpectNoError(framework.MasterUpgrade(f, target))
314+
framework.ExpectNoError(masterUpgrade(f, target))
275315
framework.ExpectNoError(checkMasterVersion(f.ClientSet, target))
276316
}
277317
runUpgradeSuite(f, gpuUpgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc)
@@ -297,7 +337,7 @@ var _ = ginkgo.Describe("[sig-apps] stateful Upgrade [Feature:StatefulUpgrade]",
297337
start := time.Now()
298338
defer finalizeUpgradeTest(start, statefulUpgradeTest)
299339
target := upgCtx.Versions[1].Version.String()
300-
framework.ExpectNoError(framework.MasterUpgrade(f, target))
340+
framework.ExpectNoError(masterUpgrade(f, target))
301341
framework.ExpectNoError(checkMasterVersion(f.ClientSet, target))
302342
framework.ExpectNoError(nodeUpgrade(f, target, *upgradeImage))
303343
framework.ExpectNoError(checkNodesVersions(f.ClientSet, target))
@@ -332,7 +372,7 @@ var _ = SIGDescribe("kube-proxy migration [Feature:KubeProxyDaemonSetMigration]"
332372
start := time.Now()
333373
defer finalizeUpgradeTest(start, kubeProxyUpgradeTest)
334374
target := upgCtx.Versions[1].Version.String()
335-
framework.ExpectNoError(framework.MasterUpgradeGCEWithKubeProxyDaemonSet(target, true))
375+
framework.ExpectNoError(masterUpgradeGCEWithKubeProxyDaemonSet(target, true))
336376
framework.ExpectNoError(checkMasterVersion(f.ClientSet, target))
337377
framework.ExpectNoError(nodeUpgradeGCEWithKubeProxyDaemonSet(f, target, *upgradeImage, true))
338378
framework.ExpectNoError(checkNodesVersions(f.ClientSet, target))
@@ -362,7 +402,7 @@ var _ = SIGDescribe("kube-proxy migration [Feature:KubeProxyDaemonSetMigration]"
362402
target := upgCtx.Versions[1].Version.String()
363403
framework.ExpectNoError(nodeUpgradeGCEWithKubeProxyDaemonSet(f, target, *upgradeImage, false))
364404
framework.ExpectNoError(checkNodesVersions(f.ClientSet, target))
365-
framework.ExpectNoError(framework.MasterUpgradeGCEWithKubeProxyDaemonSet(target, false))
405+
framework.ExpectNoError(masterUpgradeGCEWithKubeProxyDaemonSet(target, false))
366406
framework.ExpectNoError(checkMasterVersion(f.ClientSet, target))
367407
}
368408
runUpgradeSuite(f, kubeProxyDowngradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc)

test/e2e/framework/nodes_util.go

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,6 @@ func EtcdUpgrade(targetStorage, targetVersion string) error {
4646
}
4747
}
4848

49-
// MasterUpgrade upgrades master node on GCE/GKE.
50-
func MasterUpgrade(f *Framework, v string) error {
51-
switch TestContext.Provider {
52-
case "gce":
53-
return masterUpgradeGCE(v, false)
54-
case "gke":
55-
return MasterUpgradeGKE(f.Namespace.Name, v)
56-
default:
57-
return fmt.Errorf("MasterUpgrade() is not implemented for provider %s", TestContext.Provider)
58-
}
59-
}
60-
6149
func etcdUpgradeGCE(targetStorage, targetVersion string) error {
6250
env := append(
6351
os.Environ(),
@@ -69,32 +57,6 @@ func etcdUpgradeGCE(targetStorage, targetVersion string) error {
6957
return err
7058
}
7159

72-
// MasterUpgradeGCEWithKubeProxyDaemonSet upgrades master node on GCE with enabling/disabling the daemon set of kube-proxy.
73-
// TODO(mrhohn): Remove this function when kube-proxy is run as a DaemonSet by default.
74-
func MasterUpgradeGCEWithKubeProxyDaemonSet(v string, enableKubeProxyDaemonSet bool) error {
75-
return masterUpgradeGCE(v, enableKubeProxyDaemonSet)
76-
}
77-
78-
// TODO(mrhohn): Remove 'enableKubeProxyDaemonSet' when kube-proxy is run as a DaemonSet by default.
79-
func masterUpgradeGCE(rawV string, enableKubeProxyDaemonSet bool) error {
80-
env := append(os.Environ(), fmt.Sprintf("KUBE_PROXY_DAEMONSET=%v", enableKubeProxyDaemonSet))
81-
// TODO: Remove these variables when they're no longer needed for downgrades.
82-
if TestContext.EtcdUpgradeVersion != "" && TestContext.EtcdUpgradeStorage != "" {
83-
env = append(env,
84-
"TEST_ETCD_VERSION="+TestContext.EtcdUpgradeVersion,
85-
"STORAGE_BACKEND="+TestContext.EtcdUpgradeStorage,
86-
"TEST_ETCD_IMAGE="+etcdImage)
87-
} else {
88-
// In e2e tests, we skip the confirmation prompt about
89-
// implicit etcd upgrades to simulate the user entering "y".
90-
env = append(env, "TEST_ALLOW_IMPLICIT_ETCD_UPGRADE=true")
91-
}
92-
93-
v := "v" + rawV
94-
_, _, err := RunCmdEnv(env, GCEUpgradeScript(), "-M", v)
95-
return err
96-
}
97-
9860
// LocationParamGKE returns parameter related to location for gcloud command.
9961
func LocationParamGKE() string {
10062
if TestContext.CloudConfig.MultiMaster {

0 commit comments

Comments
 (0)