52
52
upgradeImage = e2econfig .Flags .String ("upgrade-image" , "" , "Image to upgrade to (e.g. 'container_vm' or 'gci') if doing an upgrade test." )
53
53
)
54
54
55
+ const etcdImage = "3.4.9-1"
56
+
55
57
var upgradeTests = []upgrades.Test {
56
58
& upgrades.ServiceUpgradeTest {},
57
59
& upgrades.SecretUpgradeTest {},
@@ -87,6 +89,44 @@ var kubeProxyDowngradeTests = []upgrades.Test{
87
89
& upgrades.ServiceUpgradeTest {},
88
90
}
89
91
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
+
90
130
var _ = SIGDescribe ("Upgrade [Feature:Upgrade]" , func () {
91
131
f := framework .NewDefaultFramework ("cluster-upgrade" )
92
132
@@ -109,7 +149,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() {
109
149
start := time .Now ()
110
150
defer finalizeUpgradeTest (start , masterUpgradeTest )
111
151
target := upgCtx .Versions [1 ].Version .String ()
112
- framework .ExpectNoError (framework . MasterUpgrade (f , target ))
152
+ framework .ExpectNoError (masterUpgrade (f , target ))
113
153
framework .ExpectNoError (checkMasterVersion (f .ClientSet , target ))
114
154
}
115
155
runUpgradeSuite (f , upgradeTests , testFrameworks , testSuite , upgrades .MasterUpgrade , upgradeFunc )
@@ -150,7 +190,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() {
150
190
start := time .Now ()
151
191
defer finalizeUpgradeTest (start , clusterUpgradeTest )
152
192
target := upgCtx .Versions [1 ].Version .String ()
153
- framework .ExpectNoError (framework . MasterUpgrade (f , target ))
193
+ framework .ExpectNoError (masterUpgrade (f , target ))
154
194
framework .ExpectNoError (checkMasterVersion (f .ClientSet , target ))
155
195
framework .ExpectNoError (nodeUpgrade (f , target , * upgradeImage ))
156
196
framework .ExpectNoError (checkNodesVersions (f .ClientSet , target ))
@@ -183,7 +223,7 @@ var _ = SIGDescribe("Downgrade [Feature:Downgrade]", func() {
183
223
target := upgCtx .Versions [1 ].Version .String ()
184
224
framework .ExpectNoError (nodeUpgrade (f , target , * upgradeImage ))
185
225
framework .ExpectNoError (checkNodesVersions (f .ClientSet , target ))
186
- framework .ExpectNoError (framework . MasterUpgrade (f , target ))
226
+ framework .ExpectNoError (masterUpgrade (f , target ))
187
227
framework .ExpectNoError (checkMasterVersion (f .ClientSet , target ))
188
228
}
189
229
runUpgradeSuite (f , upgradeTests , testFrameworks , testSuite , upgrades .ClusterUpgrade , upgradeFunc )
@@ -231,7 +271,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() {
231
271
start := time .Now ()
232
272
defer finalizeUpgradeTest (start , gpuUpgradeTest )
233
273
target := upgCtx .Versions [1 ].Version .String ()
234
- framework .ExpectNoError (framework . MasterUpgrade (f , target ))
274
+ framework .ExpectNoError (masterUpgrade (f , target ))
235
275
framework .ExpectNoError (checkMasterVersion (f .ClientSet , target ))
236
276
}
237
277
runUpgradeSuite (f , gpuUpgradeTests , testFrameworks , testSuite , upgrades .MasterUpgrade , upgradeFunc )
@@ -249,7 +289,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() {
249
289
start := time .Now ()
250
290
defer finalizeUpgradeTest (start , gpuUpgradeTest )
251
291
target := upgCtx .Versions [1 ].Version .String ()
252
- framework .ExpectNoError (framework . MasterUpgrade (f , target ))
292
+ framework .ExpectNoError (masterUpgrade (f , target ))
253
293
framework .ExpectNoError (checkMasterVersion (f .ClientSet , target ))
254
294
framework .ExpectNoError (nodeUpgrade (f , target , * upgradeImage ))
255
295
framework .ExpectNoError (checkNodesVersions (f .ClientSet , target ))
@@ -271,7 +311,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() {
271
311
target := upgCtx .Versions [1 ].Version .String ()
272
312
framework .ExpectNoError (nodeUpgrade (f , target , * upgradeImage ))
273
313
framework .ExpectNoError (checkNodesVersions (f .ClientSet , target ))
274
- framework .ExpectNoError (framework . MasterUpgrade (f , target ))
314
+ framework .ExpectNoError (masterUpgrade (f , target ))
275
315
framework .ExpectNoError (checkMasterVersion (f .ClientSet , target ))
276
316
}
277
317
runUpgradeSuite (f , gpuUpgradeTests , testFrameworks , testSuite , upgrades .ClusterUpgrade , upgradeFunc )
@@ -297,7 +337,7 @@ var _ = ginkgo.Describe("[sig-apps] stateful Upgrade [Feature:StatefulUpgrade]",
297
337
start := time .Now ()
298
338
defer finalizeUpgradeTest (start , statefulUpgradeTest )
299
339
target := upgCtx .Versions [1 ].Version .String ()
300
- framework .ExpectNoError (framework . MasterUpgrade (f , target ))
340
+ framework .ExpectNoError (masterUpgrade (f , target ))
301
341
framework .ExpectNoError (checkMasterVersion (f .ClientSet , target ))
302
342
framework .ExpectNoError (nodeUpgrade (f , target , * upgradeImage ))
303
343
framework .ExpectNoError (checkNodesVersions (f .ClientSet , target ))
@@ -332,7 +372,7 @@ var _ = SIGDescribe("kube-proxy migration [Feature:KubeProxyDaemonSetMigration]"
332
372
start := time .Now ()
333
373
defer finalizeUpgradeTest (start , kubeProxyUpgradeTest )
334
374
target := upgCtx .Versions [1 ].Version .String ()
335
- framework .ExpectNoError (framework . MasterUpgradeGCEWithKubeProxyDaemonSet (target , true ))
375
+ framework .ExpectNoError (masterUpgradeGCEWithKubeProxyDaemonSet (target , true ))
336
376
framework .ExpectNoError (checkMasterVersion (f .ClientSet , target ))
337
377
framework .ExpectNoError (nodeUpgradeGCEWithKubeProxyDaemonSet (f , target , * upgradeImage , true ))
338
378
framework .ExpectNoError (checkNodesVersions (f .ClientSet , target ))
@@ -362,7 +402,7 @@ var _ = SIGDescribe("kube-proxy migration [Feature:KubeProxyDaemonSetMigration]"
362
402
target := upgCtx .Versions [1 ].Version .String ()
363
403
framework .ExpectNoError (nodeUpgradeGCEWithKubeProxyDaemonSet (f , target , * upgradeImage , false ))
364
404
framework .ExpectNoError (checkNodesVersions (f .ClientSet , target ))
365
- framework .ExpectNoError (framework . MasterUpgradeGCEWithKubeProxyDaemonSet (target , false ))
405
+ framework .ExpectNoError (masterUpgradeGCEWithKubeProxyDaemonSet (target , false ))
366
406
framework .ExpectNoError (checkMasterVersion (f .ClientSet , target ))
367
407
}
368
408
runUpgradeSuite (f , kubeProxyDowngradeTests , testFrameworks , testSuite , upgrades .ClusterUpgrade , upgradeFunc )
0 commit comments