blob: e9b1b9b14b1444861e8958a8d4cfddd74f30f257 [file] [log] [blame]
Filip Pytloune08c4882017-07-03 10:58:26 +02001def common = new com.mirantis.mk.Common()
2def salt = new com.mirantis.mk.Salt()
3
4targetExpression = TARGET_MINIONS ? TARGET_MINIONS : "E@kvm01.*"
5
6node() {
7 def master = salt.connection(SALT_URL)
8 common.infoMsg("Enforcing kubernetes state..")
9 stage("Update k8s control") {
10 salt.enforceState(
11 master,
12 ['expression': targetExpression, 'type': 'compound'],
13 ['kubernetes.control'],
14 true
15 )
16 }
17 stage("Update components") {
18 common.info("Setting up components..")
19 out = salt.cmdRun(
20 master,
21 ['expression': targetExpression, 'type': 'compound'],
22 '/bin/bash -c \'find /srv/kubernetes/ -type d | grep -v jobs | while read i; do ls $i/*.yml &>/dev/null && (set -x; hyperkube kubectl apply -f $i || echo Command failed; set +x); done; jobs=$(hyperkube kubectl get jobs -o name); find /srv/kubernetes/jobs -type f -name "*.yml" | while read i; do name=$(grep "name:" $i | head -1 | awk "{print $NF}"); echo $jobs|grep $name >/dev/null || (set -x; hyperkube kubectl apply -f $i || echo Command failed; set +x);done\''
23 )
24 for (entry in out['return']) {
25 for (node in entry) {
26 if (node.value =~ /Command failed/) {
27 error("$node.key: $node.value")
28 } else {
29 println "$node.key: $node.value"
30 }
31 }
32 }
33 }
34}