Apply puppet in non-controller script in step.
We want to apply a puppet manifest for the non-controller role, but we need to apply it in stages. By loading the proper hieradata we get the needed step configuration. Change-Id: I07bfeee7b7d9a9b8c2c20e5d5c9ed735d0bfc842 Closes-Bug: #1664304
This commit is contained in:
parent
093949dc5d
commit
237cd2004a
27
extraconfig/tasks/run_puppet.sh
Executable file
27
extraconfig/tasks/run_puppet.sh
Executable 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
|
||||
}
|
@ -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
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user