fa477ef380
This change adds config and deployment resources to trigger package updates on nodes. The deployments are triggered by doing a stack-update and setting one of the parameters to a unique value. The intent is that rolling update will be controlled by setting breakpoints on all of the UpdateDeployment resources inside the role resource groups. Change-Id: I56bbf944ecd6cbdbf116021b8a53f9f9111c134f
42 lines
1.2 KiB
Bash
Executable File
42 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# A heat-config-script which runs yum update during a stack-update.
|
|
# Inputs:
|
|
# deploy_action - yum will only be run if this is UPDATE
|
|
# update_identifier - yum will only run for previously unused values of update_identifier
|
|
# command - yum sub-command to run, defaults to "update"
|
|
# command_arguments - yum command arguments, defaults to ""
|
|
|
|
echo "Started yum_update.sh on server $deploy_server_id at `date`"
|
|
|
|
if [[ -z "$update_identifier" ]]; then
|
|
echo "Not running due to unset update_identifier"
|
|
exit 0
|
|
fi
|
|
|
|
timestamp_dir=/var/lib/overcloud-yum-update
|
|
mkdir -p $timestamp_dir
|
|
|
|
# sanitise to remove unusual characters
|
|
update_identifier=${update_identifier//[^a-zA-Z0-9-_]/}
|
|
|
|
timestamp_file="$timestamp_dir/$update_identifier"
|
|
if [[ -a "$timestamp_file" ]]; then
|
|
echo "Not running for already-run timestamp \"$update_identifier\""
|
|
exit 0
|
|
fi
|
|
touch "$timestamp_file"
|
|
|
|
command=${command:-update}
|
|
full_command="yum -y $command $command_arguments"
|
|
echo "Running: $full_command"
|
|
|
|
result=$($full_command)
|
|
return_code=$?
|
|
echo "$result"
|
|
echo "yum return code: $return_code"
|
|
|
|
echo "Finished yum_update.sh on server $deploy_server_id at `date`"
|
|
|
|
exit $return_code
|