Skip to content

Commit b351b12

Browse files
committed
upgrade procedure is changed for 1.15
1 parent 7814733 commit b351b12

File tree

1 file changed

+18
-53
lines changed

1 file changed

+18
-53
lines changed

manifest.jps

Lines changed: 18 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ logo: /images/k8s-logo.png
1313
name: Kubernetes Cluster
1414
targetRegions:
1515
type: vz7
16-
16+
1717
settings:
1818
fields:
1919
- name: deploy
@@ -64,15 +64,12 @@ settings:
6464
v1.14.2: v1.14.2
6565
v1.14.3: v1.14.3
6666
v1.15.0: v1.15.0
67+
v1.15.1: v1.15.1
6768
default: v1.15.0
6869

6970
ssl: true
7071

7172
onBeforeInstall: |
72-
var url = "https://registry.hub.docker.com/v1/repositories/jelastic/kubernetes/tags",
73-
tags = toNative(new com.hivext.api.core.utils.Transport().get(url)).sort(),
74-
latest = "latest";
75-
for (var i = 0; i < tags.length; i++) if (tags[i].name > latest) latest = tags[i].name;
7673
var k8smCount = '${settings.topo}' == '0-dev' ? 1 : 3,
7774
workerCount = k8smCount > 1 ? 2 : 1,
7875
tag = "${settings.version}";
@@ -386,60 +383,28 @@ actions:
386383
var message = "Current version " + version + " is the latest. No upgrades are available.";
387384
if (upgrades.length) {
388385
upgrades.sort();
389-
return {result:0, onAfterReturn:{execUpgrade:{current:version, next:upgrades.shift(), avail:upgrades.join(", ")}}};
386+
var next = upgrades.shift();
387+
var baseUrl = "${baseUrl}".split("/"); baseUrl.pop(); baseUrl = baseUrl.join("/");
388+
var url = baseUrl+"/"+next+"/addons/upgrade.jps"
389+
var huc = new java.net.URL(url).openConnection();
390+
huc.setRequestMethod("HEAD");
391+
var code = huc.getResponseCode();
392+
if (code == 200){
393+
return {result:0, onAfterReturn:{execUpgrade:{current:version, next:next, avail:upgrades.join(", "), jps: url}}};
394+
} else {
395+
message = "The next version is " + next + ". However, automated upgrade procedure is not available yet. Please check it later, or contact support team if upgrade is required urgently.";
396+
return {result:"info", message:message};
397+
}
390398
} else {
391399
return {result:"info", message:message};
392400
}
393401

394-
upgrade-masters:
395-
- env.control.RedeployContainers:
396-
nodeId: ${this.id}
397-
tag: ${this.version}
398-
skipReinstall: true
399-
- if (${this.master}):
400-
- cmd[${this.id}]: |-
401-
/usr/bin/kubeadm upgrade plan --ignore-preflight-errors=swap || exit 1
402-
/usr/bin/kubeadm upgrade apply ${this.version} || exit 1
403-
service kubelet restart
404-
- if (!${this.master}):
405-
- cmd[${this.id}]: |-
406-
/usr/bin/kubeadm upgrade node experimental-control-plane ${this.version} || exit 2
407-
service kubelet restart
408-
409-
upgrade-workers:
410-
- cmd[${nodes.k8sm.master.id}]: |-
411-
/usr/bin/kubectl drain ${this.hostname} --ignore-daemonsets --delete-local-data || exit 3
412-
- env.control.RedeployContainers:
413-
nodeId: ${this.id}
414-
tag: ${this.version}
415-
skipReinstall: true
416-
- cmd[${this.id}]: |-
417-
/usr/bin/kubeadm upgrade node config --kubelet-version ${this.version} || exit 4
418-
service kubelet restart
419-
- cmd[${nodes.k8sm.master.id}]: |-
420-
/usr/bin/kubectl uncordon ${this.hostname} || exit 5
421-
while true; do kubectl get pods --field-selector=status.phase=Pending -n kube-system | grep -q Pending || break ; done
422-
423402
execUpgrade:
424-
- upgrade-masters:
425-
id: ${nodes.k8sm.master.id}
426-
master: true
403+
install: ${this.jps}
404+
envName: ${env.envName}
405+
settings:
427406
version: ${this.next}
428-
- forEach(nodes.k8sm):
429-
if (!${@i.ismaster}):
430-
upgrade-masters:
431-
id: ${@i.id}
432-
master: false
433-
version: ${this.next}
434-
- forEach(nodes.cp):
435-
upgrade-workers:
436-
id: ${@i.id}
437-
hostname: node${@i.id}-${env.domain}
438-
version: ${this.next}
439-
- script: |
440-
var message = "Kubernetes Cluster has been successfuly upgraded! **Current version:** ${this.next}. \n\nNo other upgrades are available.";
441-
if ("${this.avail}") message += "\n\n**Next version:** ${this.avail}. \nPress \"Upgrade\" button to start the upgrade process.";
442-
return {result:"info", message:message};
407+
443408

444409
remoteApi:
445410
cmd[${nodes.k8sm.master.id}]: |-

0 commit comments

Comments
 (0)