
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
85 lines
2.4 KiB
Ruby
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
|