From 62e74d9663bdedf50cb77db5cfc843fc940149bc Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Wed, 23 Dec 2015 10:20:44 -0500 Subject: Upgrade all packages after puppet managed ones This updates tripleo::packages so that when enable_upgrade is used it will: 1) upgrade puppet managed packages (will trigger puppet dependencies) 2) then upgrade all packages via exec 3) then restart services NOTE: the intention here is that the Exec['update-packages'] will always execute if enable_upgrade is set. It is not idempotent in this regard because I think we always want to execute it if enable_upgrade is set. Change-Id: I02f7cf07792765359f19fdf357024d9e48690e42 Related-bug: #1522943 --- spec/classes/tripleo_packages_spec.rb | 52 +++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 spec/classes/tripleo_packages_spec.rb (limited to 'spec') diff --git a/spec/classes/tripleo_packages_spec.rb b/spec/classes/tripleo_packages_spec.rb new file mode 100644 index 0000000..55a135b --- /dev/null +++ b/spec/classes/tripleo_packages_spec.rb @@ -0,0 +1,52 @@ +# +# Copyright (C) 2015 Red Hat Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +require 'spec_helper' + +describe 'tripleo::packages' do + + shared_examples_for 'Red Hat distributions' do + + let :pre_condition do + " + package{'nova-compute': ensure => present} + service{'nova-compute': ensure => 'running'} + " + end + + let :facts do + { + :osfamily => 'RedHat', + :operatingsystemmajrelease => 7, + } + end + + let :params do + { + :enable_upgrade => true + } + end + + it 'should contain correct upgrade ordering' do + is_expected.to contain_package('nova-compute').that_comes_before('Exec[package-upgrade]') + is_expected.to contain_exec('package-upgrade').that_comes_before('Service[nova-compute]') + is_expected.to contain_exec('package-upgrade').with(:command => 'yum -y update') + end + + end + + it_configures 'Red Hat distributions' + +end -- cgit 1.2.3-korg