diff options
author | Steve Baker <sbaker@redhat.com> | 2015-10-01 15:37:17 +1300 |
---|---|---|
committer | Steve Baker <sbaker@redhat.com> | 2015-10-01 15:37:17 +1300 |
commit | 3e879e6faa94e46427c5d7b350a3734fcd5c4c02 (patch) | |
tree | 3d67cea33ad7a31657e3786afed809307be9bda7 /extraconfig | |
parent | 1a336269c8b07b5d2cbf6c15cdd3a8b302421c45 (diff) |
Ensure present/latest for puppet driven package updates
This change updates yum_update.sh so that we set set a boolean
output when "managed" packages should get updated. The
output is named 'update_managed_packages' and for the
puppet implementation it is wired up so that it
directly sets tripleo::packages::enable_upgrade to
control whether packages are updated.
It also modifies yum_update.sh to build a yum update excludes list for
packages managed by puppet. The exclude lists are being
generated via puppet-tripleo as well via the new 'write_package_names'
function that is now wired into all the role manifests.
This change does not actually trigger the puppet apply. The fix for
Related-Bug: #1463092 will be used to trigger the puppet run when the
hiera changes. As a minor tweak to this logic we append the
UpdateIdentifier to the config_identifier so that we ensure
puppet gets executed on an update where other (non-related)
hiera changes also occur.
Co-Authored-By: Dan Prince <dprince@redhat.com>
Change-Id: I343c3959517eae38bbcd43648ed56f610272864d
Diffstat (limited to 'extraconfig')
-rwxr-xr-x | extraconfig/tasks/yum_update.sh | 9 | ||||
-rw-r--r-- | extraconfig/tasks/yum_update.yaml | 5 |
2 files changed, 13 insertions, 1 deletions
diff --git a/extraconfig/tasks/yum_update.sh b/extraconfig/tasks/yum_update.sh index 3d4c772b..e74c4d8b 100755 --- a/extraconfig/tasks/yum_update.sh +++ b/extraconfig/tasks/yum_update.sh @@ -8,6 +8,7 @@ # command_arguments - yum command arguments, defaults to "" echo "Started yum_update.sh on server $deploy_server_id at `date`" +echo -n "false" > $heat_outputs_path.update_managed_packages if [[ -z "$update_identifier" ]]; then echo "Not running due to unset update_identifier" @@ -17,6 +18,12 @@ fi timestamp_dir=/var/lib/overcloud-yum-update mkdir -p $timestamp_dir +command_arguments=${command_arguments:-} +# exclude upgrading packages that are handled by config management tooling +for exclude in $(cat /var/lib/tripleo/installed-packages/* | sort -u); do + command_arguments="$command_arguments --exclude $exclude" +done + # sanitise to remove unusual characters update_identifier=${update_identifier//[^a-zA-Z0-9-_]/} @@ -36,6 +43,8 @@ return_code=$? echo "$result" echo "yum return code: $return_code" +echo -n "true" > $heat_outputs_path.update_managed_packages + echo "Finished yum_update.sh on server $deploy_server_id at `date`" exit $return_code diff --git a/extraconfig/tasks/yum_update.yaml b/extraconfig/tasks/yum_update.yaml index e918149e..d313ca9f 100644 --- a/extraconfig/tasks/yum_update.yaml +++ b/extraconfig/tasks/yum_update.yaml @@ -20,7 +20,10 @@ resources: - name: command_arguments description: yum command arguments, defaults to "" default: '' + outputs: + - name: update_managed_packages + description: boolean value indicating whether to upgrade managed packages outputs: OS::stack_id: - value: {get_resource: config}
\ No newline at end of file + value: {get_resource: config} |