3 describe 'nova::scheduler' do
13 shared_examples 'nova-scheduler' do
16 it { should contain_package('nova-scheduler').with(
17 :name => platform_params[:scheduler_package_name],
21 it { should contain_service('nova-scheduler').with(
22 :name => platform_params[:scheduler_service_name],
27 context 'with manage_service as false' do
30 :manage_service => false
33 it { should contain_service('nova-scheduler').without_ensure }
36 context 'with package version' do
38 { :ensure_package => '2012.1-2' }
41 it { should contain_package('nova-scheduler').with(
42 :ensure => params[:ensure_package]
46 context 'with default database parameters' do
51 it { should_not contain_nova_config('database/connection') }
52 it { should_not contain_nova_config('database/slave_connection') }
53 it { should_not contain_nova_config('database/idle_timeout').with_value('3600') }
56 context 'with overridden database parameters' do
59 database_connection => 'mysql://user:pass@db/db',
60 slave_connection => 'mysql://user:pass@slave/db',
61 database_idle_timeout => '30',
66 it { should contain_nova_config('database/connection').with_value('mysql://user:pass@db/db').with_secret(true) }
67 it { should contain_nova_config('database/slave_connection').with_value('mysql://user:pass@slave/db').with_secret(true) }
68 it { should contain_nova_config('database/idle_timeout').with_value('30') }
73 context 'on Debian platforms' do
75 { :osfamily => 'Debian' }
78 let :platform_params do
79 { :scheduler_package_name => 'nova-scheduler',
80 :scheduler_service_name => 'nova-scheduler' }
83 it_configures 'nova-scheduler'
86 context 'on Redhat platforms' do
88 { :osfamily => 'RedHat' }
91 let :platform_params do
92 { :scheduler_package_name => 'openstack-nova-scheduler',
93 :scheduler_service_name => 'openstack-nova-scheduler' }
96 it_configures 'nova-scheduler'