Merge "Apply puppet in non-controller script in step."

This commit is contained in:
Jenkins 2017-02-17 09:29:01 +00:00 committed by Gerrit Code Review
commit fcda1872cf
3 changed files with 36 additions and 3 deletions

27
extraconfig/tasks/run_puppet.sh Executable file
View File

@ -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
}

View File

@ -44,9 +44,14 @@ if [[ -n \$NOVA_COMPUTE ]]; then
systemctl restart openstack-ceilometer-compute
fi
# Apply puppet manifest to converge just right after the \$ROLE upgrade
puppet apply /root/${ROLE}_puppet_config.pp
# Apply puppet manifest to converge just right after the ${ROLE} upgrade
$(declare -f run_puppet)
for step in 1 2 3 4 5 6; do
if ! run_puppet /root/${ROLE}_puppet_config.pp ${ROLE} \${step}; then
echo "Puppet failure at step \${step}"
exit 1
fi
done
ENDOFCAT
# ensure the permissions are OK

View File

@ -79,6 +79,7 @@ resources:
AUTH_URL: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
ROLE_NAME: {{role.name}}
- get_file: ../extraconfig/tasks/pacemaker_common_functions.sh
- get_file: ../extraconfig/tasks/run_puppet.sh
- get_file: ../extraconfig/tasks/tripleo_upgrade_node.sh
{{role.name}}DeliverUpgradeScriptDeployment: