Update cloud script to deploy KDT on CFG
Change-Id: If4c6c10b1e0e967726ba5f982f82378bd03aee2e
Related-prods:
* #PROD-28240 (PROD:28240)
* #PROD-28381 (PROD:28381)
* #PROD-27471 (PROD:27471)
* #PROD-28655 (PROD:28655)
diff --git a/config-drive/master_config.yaml b/config-drive/master_config.yaml
index c008ed4..bdbd293 100644
--- a/config-drive/master_config.yaml
+++ b/config-drive/master_config.yaml
@@ -75,14 +75,14 @@
}
function process_maas(){
- maas_cluster_enabled=$(salt-call --out=text pillar.get maas:cluster:enabled | awk '{print $2}' | tr "[:upper:]" "[:lower:]" )
- _region=$(salt-call --out=text pillar.get maas:region:enabled | awk '{print $2}' | tr "[:upper:]" "[:lower:]" )
+ maas_cluster_enabled=$(salt-call --out=newline_values_only pillar.get maas:cluster:enabled | tr "[:upper:]" "[:lower:]" )
+ _region=$(salt-call --out=newline_values_only pillar.get maas:region:enabled | tr "[:upper:]" "[:lower:]" )
if ([ -f /opt/postgresql_in_docker ] && ([[ "${maas_cluster_enabled}" == "true" ]] || [[ "${_region}" == "true" ]])); then
systemctl disable postgresql.service
wait_for_postgresql
salt-call ${SALT_OPTS} state.apply postgresql.client
else
- postgres_enabled=$(salt-call --out=text pillar.get postgresql:server:enabled | awk '{print $2}' | tr "[:upper:]" "[:lower:]")
+ postgres_enabled=$(salt-call --out=newline_values_only pillar.get postgresql:server:enabled | tr "[:upper:]" "[:lower:]")
if [[ "${postgres_enabled}" == "true" ]]; then
salt-call ${SALT_OPTS} state.apply postgresql.server
fi
@@ -118,24 +118,28 @@
function wait_for_jenkins() {
# Wait for jenkins to be functional
- jport=$(salt-call --out=text pillar.get jenkins:master:http:port | awk '{print $2}')
- jport=${jport:-8081}
+ j_host=$(salt-call --out=newline_values_only pillar.get jenkins:client:master:host)
+ j_host=${j_host:-"localhost"}
+ j_port=$(salt-call --out=newline_values_only pillar.get jenkins:client:master:port)
+ j_port=${j_port:-"8081"}
+ j_prefix=$(salt-call --out=newline_values_only pillar.get jenkins:client:master:url_prefix)
+ j_prefix=${j_prefix:-""}
wait_time=0
- until [[ $(curl -sL -w "%{http_code}" localhost:$jport -o /dev/null) == 200 ]] || [ $wait_time -eq 20 ]; do
+ until [[ $(curl -sL -w "%{http_code}" ${j_host}:${j_port}${j_prefix} -o /dev/null) == 200 ]] || [ $wait_time -eq 20 ]; do
sleep $(( wait_time++ ))
done
}
function process_swarm() {
- _swarm=$(salt-call --out=text pillar.get docker:swarm:advertise_addr | awk '{print $2}')
+ _swarm=$(salt-call --out=newline_values_only pillar.get docker:swarm:advertise_addr)
if [[ "${_swarm}" != "" ]]; then
salt-call ${SALT_OPTS} state.apply docker.swarm
fi
- _docker=$(salt-call --out=text pillar.get docker:client:enabled | awk '{print $2}')
- if [[ "${_docker}" != "" ]]; then
+ _docker_enabled=$(salt-call --out=newline_values_only pillar.get docker:client:enabled | tr "[:upper:]" "[:lower:]")
+ if [[ "${_docker_enabled}" == "true" ]]; then
+ salt-call ${SALT_OPTS} state.apply docker.client.images
salt-call ${SALT_OPTS} state.apply docker.client
fi
- salt-call ${SALT_OPTS} state.apply docker.client.images
}
function process_jenkins() {
@@ -143,13 +147,8 @@
if [ -f /opt/jenkins_in_docker ]; then
rm -v /opt/jenkins_in_docker
export JENKINS_HOME=/srv/volumes/jenkins
- _nginx=$(salt-call --out=text pillar.get nginx:server:enabled | awk '{print $2}')
- if [[ "${_nginx}" != "" ]]; then
- salt-call ${SALT_OPTS} state.apply nginx
- fi
- _jenabled=$(salt-call --out=text pillar.get docker:client:stack:jenkins | awk '{print $2}')
- _jclient=$(salt-call --out=text pillar.get jenkins:client | awk '{print $2}')
- if [[ "${_jenabled}" != "" && "${_jclient}" != "" ]]; then
+ _jenkins_enabled=$(salt-call --out=newline_values_only pillar.get jenkins:client:enabled | tr "[:upper:]" "[:lower:]")
+ if [[ "${_jenkins_enabled}" == "true" ]]; then
wait_for_jenkins
salt-call ${SALT_OPTS} state.apply jenkins.client
fi
@@ -158,8 +157,8 @@
systemctl enable jenkins
systemctl start jenkins
wait_for_jenkins
- _jjobs=$(salt-call --out=text pillar.get jenkins:client:job | awk '{print $2}')
- if [[ "${_jjobs}" != "" ]]; then
+ _jenkins_enabled=$(salt-call --out=newline_values_only pillar.get jenkins:client:enabled | tr "[:upper:]" "[:lower:]")
+ if [[ "${_jenkins_enabled}" == "true" ]]; then
salt-call ${SALT_OPTS} state.apply jenkins.client
fi
systemctl stop jenkins
@@ -248,12 +247,38 @@
salt-call ${SALT_OPTS} state.apply linux.system.repo,linux.network,linux.system,linux,openssh
process_salt_base
+ systemctl stop apache2 || true
+ systemctl disable apache2 || true
+ chmod 0 /etc/init.d/apache2
- if [ -f /opt/jenkins_in_docker ] || [ -f /opt/postgresql_in_docker ]; then
- process_swarm
- fi
- if [ -f /opt/jenkins_in_docker ] && [ ! -f /opt/postgresql_in_docker ]; then
- docker stack rm postgresql || true
+ _kfg_enabled=$(salt-call --out=newline_values_only pillar.get kubernetes:master:enabled | tr "[:upper:]" "[:lower:]")
+ if [ "${_kfg_enabled}" != "true" ]; then
+ if [ -f /opt/jenkins_in_docker ] || [ -f /opt/postgresql_in_docker ]; then
+ process_swarm
+ fi
+ if [ -f /opt/jenkins_in_docker ] && [ ! -f /opt/postgresql_in_docker ]; then
+ docker stack rm postgresql || true
+ fi
+ else
+ systemctl stop docker || true
+ systemctl disable docker || true
+ salt-call ${SALT_OPTS} state.apply etcd.server.service
+ salt-call ${SALT_OPTS} state.apply kubernetes.master.kube-addons
+ _images=$(salt-call --out=newline_values_only pillar.get kubernetes:pool:images)
+ if [ -n "${_images}" ]; then
+ salt-call ${SALT_OPTS} state.apply kubernetes.pool.images
+ fi
+ salt-call ${SALT_OPTS} state.apply kubernetes exclude=kubernetes.master.setup,kubernetes.client
+ salt-call ${SALT_OPTS} state.apply kubernetes.master
+ salt-call ${SALT_OPTS} state.apply nginx.server
+ _ldap_enabled=$(salt-call --out=newline_values_only pillar.get openldap:client:enabled | tr "[:upper:]" "[:lower:]")
+ if [ "${_ldap_enabled}" == "true" ]; then
+ salt-call ${SALT_OPTS} state.apply openldap.client
+ fi
+ _gerrit_enabled=$(salt-call --out=newline_values_only pillar.get gerrit:client:enabled | tr "[:upper:]" "[:lower:]")
+ if [ "${_gerrit_enabled}" == "true" ]; then
+ salt-call ${SALT_OPTS} state.apply gerrit.client
+ fi
fi
process_jenkins