puppet-cinder/spec/classes/cinder_scheduler_spec.rb
Yanis Guenane 384145d163 Add tag to package and service resources
In order to be able to take an action after all the packages of the
module have been installed/updated or all the services have been
started/restarted, we set a 'cinder-package' and 'cinder-service' tag
for each package and service of this module.

At the moment, there is a generic openstack tag that is not specific
enough if one wants to take action upon a single module change.

Use case :

If an action needs to be taken after all the packages have been
installed or updated : Package <| tag == 'cinder-package' |> -> X

Change-Id: Ifa40d902263afa019395e1f12c3063ff3a11bff0
2015-07-22 20:37:16 +02:00

85 lines
2.4 KiB
Ruby

require 'spec_helper'
describe 'cinder::scheduler' do
describe 'on debian platforms' do
let :facts do
{ :osfamily => 'Debian' }
end
describe 'with default parameters' do
it { is_expected.to contain_class('cinder::params') }
it { is_expected.to contain_cinder_config('DEFAULT/scheduler_driver').with_ensure('absent') }
it { is_expected.to contain_package('cinder-scheduler').with(
:name => 'cinder-scheduler',
:ensure => 'present',
:before => ['Cinder_config[DEFAULT/scheduler_driver]','Service[cinder-scheduler]'],
:tag => ['openstack', 'cinder-package'],
) }
it { is_expected.to contain_service('cinder-scheduler').with(
:name => 'cinder-scheduler',
:enable => true,
:ensure => 'running',
:require => 'Package[cinder]',
:hasstatus => true,
:tag => 'cinder-service',
) }
end
describe 'with parameters' do
let :params do
{ :scheduler_driver => 'cinder.scheduler.filter_scheduler.FilterScheduler',
:package_ensure => 'present'
}
end
it { is_expected.to contain_cinder_config('DEFAULT/scheduler_driver').with_value('cinder.scheduler.filter_scheduler.FilterScheduler') }
it { is_expected.to contain_package('cinder-scheduler').with_ensure('present') }
end
describe 'with manage_service false' do
let :params do
{ 'manage_service' => false
}
end
it 'should not change the state of the service' do
is_expected.to contain_service('cinder-scheduler').without_ensure
end
end
end
describe 'on rhel platforms' do
let :facts do
{ :osfamily => 'RedHat' }
end
describe 'with default parameters' do
it { is_expected.to contain_class('cinder::params') }
it { is_expected.to contain_service('cinder-scheduler').with(
:name => 'openstack-cinder-scheduler',
:enable => true,
:ensure => 'running',
:require => 'Package[cinder]'
) }
end
describe 'with parameters' do
let :params do
{ :scheduler_driver => 'cinder.scheduler.filter_scheduler.FilterScheduler' }
end
it { is_expected.to contain_cinder_config('DEFAULT/scheduler_driver').with_value('cinder.scheduler.filter_scheduler.FilterScheduler') }
end
end
end