if $enabled {
$service_ensure = 'running'
+ Class['ceilometer::db'] -> Service['ceilometer-collector']
+ Exec['ceilometer-dbsync'] ~> Service['ceilometer-collector']
} else {
$service_ensure = 'stopped'
}
name => $::ceilometer::params::collector_service_name,
enable => $enabled,
hasstatus => true,
- hasrestart => true,
- require => Class['ceilometer::db'],
- subscribe => Exec['ceilometer-dbsync']
+ hasrestart => true
}
}
shared_examples_for 'ceilometer-collector' do
- it { should contain_class('ceilometer::params') }
+ context 'when enabled' do
+ before do
+ pre_condition << "class { 'ceilometer::db': }"
+ end
- it 'installs ceilometer-collector package' do
- should contain_package(platform_params[:collector_package_name])
+ it { should contain_class('ceilometer::params') }
+
+ it 'installs ceilometer-collector package' do
+ should contain_package(platform_params[:collector_package_name])
+ end
+
+ it 'configures ceilometer-collector service' do
+ should contain_service('ceilometer-collector').with(
+ :ensure => 'running',
+ :name => platform_params[:collector_service_name],
+ :enable => true,
+ :hasstatus => true,
+ :hasrestart => true
+ )
+ end
+
+ it 'configures relationships on database' do
+ should contain_class('ceilometer::db').with_before('Service[ceilometer-collector]')
+ should contain_exec('ceilometer-dbsync').with_notify('Service[ceilometer-collector]')
+ end
end
- it 'configures ceilometer-collector service' do
- should contain_service('ceilometer-collector').with(
- :ensure => 'running',
- :name => platform_params[:collector_service_name],
- :enable => true,
- :hasstatus => true,
- :hasrestart => true,
- :require => 'Class[Ceilometer::Db]',
- :subscribe => 'Exec[ceilometer-dbsync]'
- )
+ context 'when disabled' do
+ let :params do
+ { :enabled => false }
+ end
+
+ # Catalog compilation does not crash for lack of ceilometer::db
+ it { should compile }
end
end