summaryrefslogtreecommitdiffstats
path: root/extraconfig/tasks/run_puppet.sh
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-02-17 09:29:01 +0000
committerGerrit Code Review <review@openstack.org>2017-02-17 09:29:01 +0000
commitfcda1872cf51df0325680edb6e7f2c9dcfaa3c2c (patch)
tree33a15febba01b71d097b81a6217a49c09fbed309 /extraconfig/tasks/run_puppet.sh
parent4fd12f1d18eaee79a299102df370281acf4dfac3 (diff)
parent237cd2004a2c0869d60d0e11e9dccd59e809ff90 (diff)
Merge "Apply puppet in non-controller script in step."
Diffstat (limited to 'extraconfig/tasks/run_puppet.sh')
-rwxr-xr-xextraconfig/tasks/run_puppet.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/extraconfig/tasks/run_puppet.sh b/extraconfig/tasks/run_puppet.sh
new file mode 100755
index 00000000..b7771e33
--- /dev/null
+++ b/extraconfig/tasks/run_puppet.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+function run_puppet {
+ set -eux
+ local manifest="$1"
+ local role="$2"
+ local step="$3"
+ local rc=0
+
+ export FACTER_deploy_config_name="${role}Deployment_Step${step}"
+ if [ -e "/etc/puppet/hieradata/heat_config_${FACTER_deploy_config_name}.json" ]; then
+ set +e
+ puppet apply --detailed-exitcodes "${manifest}"
+ rc=$?
+ echo "puppet apply exited with exit code $rc"
+ else
+ echo "Step${step} doesn't exist for ${role}"
+ fi
+ set -e
+
+ if [ $rc -eq 2 -o $rc -eq 0 ]; then
+ set +xu
+ return 0
+ fi
+ set +xu
+ return $rc
+}