blob: 894990b0e2d2a02c96b40d76eb2f52b0589de8dc [file] [log] [blame]
/**
*
* Run states on K8s
*
* Expected parameters:
* SALT_MASTER_CREDENTIALS Credentials used to access Salt API
* SALT_URL URL usedd to connect to Salt API
*/
common = new com.mirantis.mk.Common()
salt = new com.mirantis.mk.Salt()
orchestrate = new com.mirantis.mk.Orchestrate()
node {
// connection objects
def master
stage("Connect to Salt master") {
master = salt.connection(SALT_URL, SALT_MASTER_CREDENTIALS)
}
stage("Enforce kubernetes.control") {
common.infoMsg('Enforcing kubernetes.control on I@kubernetes:master')
salt.runSaltProcessStep(
master,
'I@kubernetes:master',
'state.sls',
['kubernetes.control'],
)
}
stage("setup-components") {
common.infoMsg('Setting up components')
salt.runSaltProcessStep(
master,
'I@kubernetes:master',
'cmd.run',
['/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\'']
)
}
}