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
|
systemctl restart openstack-ceilometer-compute
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Apply puppet manifest to converge just right after the \$ROLE upgrade
|
# Apply puppet manifest to converge just right after the ${ROLE} upgrade
|
||||||
puppet apply /root/${ROLE}_puppet_config.pp
|
$(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
|
ENDOFCAT
|
||||||
|
|
||||||
# ensure the permissions are OK
|
# ensure the permissions are OK
|
||||||
|
@ -79,6 +79,7 @@ resources:
|
|||||||
AUTH_URL: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
|
AUTH_URL: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
|
||||||
ROLE_NAME: {{role.name}}
|
ROLE_NAME: {{role.name}}
|
||||||
- get_file: ../extraconfig/tasks/pacemaker_common_functions.sh
|
- get_file: ../extraconfig/tasks/pacemaker_common_functions.sh
|
||||||
|
- get_file: ../extraconfig/tasks/run_puppet.sh
|
||||||
- get_file: ../extraconfig/tasks/tripleo_upgrade_node.sh
|
- get_file: ../extraconfig/tasks/tripleo_upgrade_node.sh
|
||||||
|
|
||||||
{{role.name}}DeliverUpgradeScriptDeployment:
|
{{role.name}}DeliverUpgradeScriptDeployment:
|
||||||
|
Loading…
Reference in New Issue
Block a user