Switch ceilometer to rspec-puppet-facts

Change-Id: I5befcadb924f0896457f3db0b712f6de157e926c
This commit is contained in:
Mykyta Karpin 2016-11-11 19:03:11 +02:00
parent af4af189ea
commit 52ebcc955d
19 changed files with 321 additions and 468 deletions

View File

@ -49,20 +49,16 @@ describe 'ceilometer::agent::auth' do
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'ceilometer-agent-auth'
it_behaves_like 'ceilometer-agent-auth'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
it_configures 'ceilometer-agent-auth'
end
end

View File

@ -77,29 +77,27 @@ describe 'ceilometer::agent::central' do
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
let :platform_params do
case facts[:osfamily]
when 'Debian'
{ :agent_package_name => 'ceilometer-agent-central',
:agent_service_name => 'ceilometer-agent-central' }
end
it_configures 'ceilometer-agent-central'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
when 'RedHat'
{ :agent_package_name => 'openstack-ceilometer-central',
:agent_service_name => 'openstack-ceilometer-central' }
end
it_configures 'ceilometer-agent-central'
end
it_behaves_like 'ceilometer-agent-central'
end
end
end

View File

@ -88,44 +88,34 @@ describe 'ceilometer::agent::compute' do
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
let :platform_params do
case facts[:osfamily]
when 'Debian'
if facts[:operatingsystem] == 'Ubuntu'
{ :agent_package_name => 'ceilometer-agent-compute',
:agent_service_name => 'ceilometer-agent-compute' }
:agent_service_name => 'ceilometer-agent-compute',
:libvirt_group => 'libvirtd' }
else
{ :agent_package_name => 'ceilometer-agent-compute',
:agent_service_name => 'ceilometer-agent-compute',
:libvirt_group => 'libvirt' }
end
context 'on Ubuntu operating systems' do
before do
facts.merge!( :operatingsystem => 'Ubuntu' )
platform_params.merge!( :libvirt_group => 'libvirtd' )
end
it_configures 'ceilometer-agent-compute'
end
context 'on other operating systems' do
before do
platform_params.merge!( :libvirt_group => 'libvirt' )
end
it_configures 'ceilometer-agent-compute'
end
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
when 'RedHat'
{ :agent_package_name => 'openstack-ceilometer-compute',
:agent_service_name => 'openstack-ceilometer-compute' }
end
it_configures 'ceilometer-agent-compute'
end
it_behaves_like 'ceilometer-agent-compute'
end
end
end

View File

@ -172,94 +172,27 @@ describe 'ceilometer::agent::notification' do
end
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
let :platform_params do
case facts[:osfamily]
when 'Debian'
{ :agent_notification_package_name => 'ceilometer-agent-notification',
:agent_notification_service_name => 'ceilometer-agent-notification' }
end
it_configures 'ceilometer-agent-notification'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
when 'RedHat'
{ :agent_notification_package_name => 'openstack-ceilometer-notification',
:agent_notification_service_name => 'openstack-ceilometer-notification' }
end
it_configures 'ceilometer-agent-notification'
end
context 'on RHEL 7' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat',
:operatingsystem => 'RedHat',
:operatingsystemmajrelease => 7
})
it_behaves_like 'ceilometer-agent-notification'
end
let :platform_params do
{ :agent_notification_package_name => 'openstack-ceilometer-notification',
:agent_notification_service_name => 'openstack-ceilometer-notification' }
end
it_configures 'ceilometer-agent-notification'
end
context 'on CentOS 7' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat',
:operatingsystem => 'CentOS',
:operatingsystemmajrelease => 7
})
end
let :platform_params do
{ :agent_notification_package_name => 'openstack-ceilometer-notification',
:agent_notification_service_name => 'openstack-ceilometer-notification' }
end
it_configures 'ceilometer-agent-notification'
end
context 'on Scientific 7' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat',
:operatingsystem => 'Scientific',
:operatingsystemmajrelease => 7
})
end
let :platform_params do
{ :agent_notification_package_name => 'openstack-ceilometer-notification',
:agent_notification_service_name => 'openstack-ceilometer-notification' }
end
it_configures 'ceilometer-agent-notification'
end
context 'on Fedora 20' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat',
:operatingsystem => 'Fedora',
:operatingsystemrelease => 20
})
end
let :platform_params do
{ :agent_notification_package_name => 'openstack-ceilometer-notification',
:agent_notification_service_name => 'openstack-ceilometer-notification' }
end
it_configures 'ceilometer-agent-notification'
end
end

View File

@ -114,45 +114,34 @@ describe 'ceilometer::agent::polling' do
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
let :platform_params do
case facts[:osfamily]
when 'Debian'
if facts[:operatingsystem] == 'Ubuntu'
{ :agent_package_name => 'ceilometer-polling',
:agent_service_name => 'ceilometer-polling' }
:agent_service_name => 'ceilometer-polling',
:libvirt_group => 'libvirtd' }
else
{ :agent_package_name => 'ceilometer-polling',
:agent_service_name => 'ceilometer-polling',
:libvirt_group => 'libvirt' }
end
context 'on Ubuntu operating systems' do
before do
facts.merge!( :operatingsystem => 'Ubuntu' )
platform_params.merge!( :libvirt_group => 'libvirtd' )
end
it_configures 'ceilometer-polling'
end
context 'on other operating systems' do
before do
platform_params.merge!( :libvirt_group => 'libvirt' )
end
it_configures 'ceilometer-polling'
end
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
when 'RedHat'
{ :agent_package_name => 'openstack-ceilometer-polling',
:agent_service_name => 'openstack-ceilometer-polling' }
end
it_configures 'ceilometer-polling'
end
it_behaves_like 'ceilometer-polling'
end
end
end

View File

@ -149,41 +149,30 @@ describe 'ceilometer::api' do
end
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian',
:operatingsystem => 'Debian',
:operatingsystemrelease => '8.0',
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts({
:concat_basedir => '/var/lib/puppet/concat',
:fqdn => 'some.host.tld',
})
}))
end
let :platform_params do
case facts[:osfamily]
when 'Debian'
{ :api_package_name => 'ceilometer-api',
:api_service_name => 'ceilometer-api' }
end
it_configures 'ceilometer-api'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat',
:operatingsystem => 'RedHat',
:operatingsystemrelease => '7.1',
:operatingsystemmajrelease => '7',
:fqdn => 'some.host.tld',
:concat_basedir => '/var/lib/puppet/concat',
})
end
let :platform_params do
when 'RedHat'
{ :api_package_name => 'openstack-ceilometer-api',
:api_service_name => 'openstack-ceilometer-api' }
end
end
it_configures 'ceilometer-api'
it_behaves_like 'ceilometer-api'
end
end
end

View File

@ -15,27 +15,20 @@ describe 'ceilometer::client' do
end
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
let :platform_params do
{ :client_package_name => 'python-ceilometerclient' }
end
it_configures 'ceilometer client'
it_behaves_like 'ceilometer client'
end
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
{ :client_package_name => 'python-ceilometerclient' }
end
it_configures 'ceilometer client'
end
end

View File

@ -113,29 +113,27 @@ describe 'ceilometer::collector' do
end
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
let :platform_params do
case facts[:osfamily]
when 'Debian'
{ :collector_package_name => 'ceilometer-collector',
:collector_service_name => 'ceilometer-collector' }
end
it_configures 'ceilometer-collector'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
when 'RedHat'
{ :collector_package_name => 'openstack-ceilometer-collector',
:collector_service_name => 'openstack-ceilometer-collector' }
end
it_configures 'ceilometer-collector'
end
it_behaves_like 'ceilometer-collector'
end
end
end

View File

@ -31,28 +31,8 @@ describe 'ceilometer::db::mysql' do
:charset => params[:charset]
)
end
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
end
it_configures 'ceilometer mysql database'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
it_configures 'ceilometer mysql database'
end
describe "overriding allowed_hosts param to array" do
let :facts do
@default_facts.merge({ :osfamily => "Debian" })
end
let :params do
{
:password => 'ceilometerpass',
@ -63,9 +43,6 @@ describe 'ceilometer::db::mysql' do
end
describe "overriding allowed_hosts param to string" do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :params do
{
:password => 'ceilometerpass2',
@ -76,9 +53,6 @@ describe 'ceilometer::db::mysql' do
end
describe "overriding allowed_hosts param equals to host param " do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :params do
{
:password => 'ceilometerpass2',
@ -87,4 +61,18 @@ describe 'ceilometer::db::mysql' do
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_behaves_like 'ceilometer mysql database'
end
end
end

View File

@ -91,15 +91,20 @@ describe 'ceilometer::db' do
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian',
:operatingsystem => 'Debian',
:operatingsystemrelease => 'jessie',
})
shared_examples_for 'ceilometer::db on Debian' do
context 'with sqlite backend' do
let :params do
{ :database_connection => 'sqlite:///var/lib/ceilometer.db', }
end
it_configures 'ceilometer::db'
it 'install the proper backend package' do
is_expected.to contain_package('db_backend_package').with(
:ensure => 'present',
:name => 'python-pysqlite2',
:tag => 'openstack'
)
end
end
context 'using pymysql driver' do
let :params do
@ -114,32 +119,9 @@ describe 'ceilometer::db' do
)
end
end
context 'with sqlite backend' do
let :params do
{ :database_connection => 'sqlite:///var/lib/ceilometer.db', }
end
it 'install the proper backend package' do
is_expected.to contain_package('db_backend_package').with(
:ensure => 'present',
:name => 'python-pysqlite2',
:tag => 'openstack'
)
end
end
end
context 'on Redhat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat',
:operatingsystemrelease => '7.1',
})
end
it_configures 'ceilometer::db'
shared_examples_for 'ceilometer::db on RedHat' do
context 'using pymysql driver' do
let :params do
{ :database_connection => 'mysql+pymysql:///ceilometer:ceilometer@localhost/ceilometer', }
@ -149,5 +131,26 @@ describe 'ceilometer::db' do
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts({
:concat_basedir => '/var/lib/puppet/concat',
:fqdn => 'some.host.tld',
}))
end
case facts[:osfamily]
when 'Debian'
it_behaves_like 'ceilometer::db on Debian'
when 'RedHat'
it_behaves_like 'ceilometer::db on RedHat'
end
it_behaves_like 'ceilometer::db'
end
end
end

View File

@ -43,7 +43,7 @@ describe 'ceilometer::db::sync' do
}))
end
it_configures 'ceilometer-dbsync'
it_behaves_like 'ceilometer-dbsync'
end
end

View File

@ -35,20 +35,16 @@ describe 'ceilometer::dispatcher::gnocchi' do
end
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge(OSDefaults.get_facts())
end
it_configures 'ceilometer-gnocchi-dispatcher'
it_behaves_like 'ceilometer-gnocchi-dispatcher'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
it_configures 'ceilometer-gnocchi-dispatcher'
end
end

View File

@ -64,28 +64,25 @@ describe 'ceilometer::expirer' do
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
let :platform_params do
case facts[:osfamily]
when 'Debian'
{ :common_package_name => 'ceilometer-common' }
end
it_configures 'ceilometer-expirer'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
when 'RedHat'
{ :common_package_name => 'openstack-ceilometer-common' }
end
end
it_configures 'ceilometer-expirer'
it_behaves_like 'ceilometer-expirer'
end
end
end

View File

@ -375,27 +375,25 @@ describe 'ceilometer' do
end
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
let :platform_params do
case facts[:osfamily]
when 'Debian'
{ :common_package_name => 'ceilometer-common' }
end
it_configures 'ceilometer'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
when 'RedHat'
{ :common_package_name => 'openstack-ceilometer-common' }
end
it_configures 'ceilometer'
end
it_behaves_like 'ceilometer'
end
end
end

View File

@ -169,20 +169,16 @@ describe 'ceilometer::keystone::auth' do
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge(OSDefaults.get_facts())
end
it_configures 'ceilometer keystone auth'
it_behaves_like 'ceilometer keystone auth'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
it_configures 'ceilometer keystone auth'
end
end

View File

@ -138,7 +138,7 @@ describe 'ceilometer::keystone::authtoken' do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'ceilometer authtoken'
it_behaves_like 'ceilometer authtoken'
end
end

View File

@ -120,20 +120,16 @@ describe 'ceilometer::logging' do
}
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge(OSDefaults.get_facts())
end
it_configures 'ceilometer-logging'
it_behaves_like 'ceilometer-logging'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
it_configures 'ceilometer-logging'
end
end

View File

@ -32,7 +32,7 @@ describe 'ceilometer::policy' do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'ceilometer policies'
it_behaves_like 'ceilometer policies'
end
end

View File

@ -85,15 +85,26 @@ describe 'ceilometer::wsgi::apache' do
end
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge(global_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7.0'
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts({
:fqdn => 'some.host.tld'
}))
end
let :platform_parameters do
case facts[:osfamily]
when 'Debian'
{
:httpd_service_name => 'apache2',
:httpd_ports_file => '/etc/apache2/ports.conf',
:wsgi_script_path => '/usr/lib/cgi-bin/ceilometer',
:wsgi_script_source => '/usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi'
}
when 'RedHat'
{
:httpd_service_name => 'httpd',
:httpd_ports_file => '/etc/httpd/conf/ports.conf',
@ -101,28 +112,10 @@ describe 'ceilometer::wsgi::apache' do
:wsgi_script_source => '/usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi'
}
end
it_configures 'apache serving ceilometer with mod_wsgi'
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge(global_facts.merge({
:osfamily => 'Debian',
:operatingsystem => 'Debian',
:operatingsystemrelease => '7.0'
}))
it_behaves_like 'apache serving ceilometer with mod_wsgi'
end
end
let :platform_parameters do
{
:httpd_service_name => 'apache2',
:httpd_ports_file => '/etc/apache2/ports.conf',
:wsgi_script_path => '/usr/lib/cgi-bin/ceilometer',
:wsgi_script_source => '/usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi'
}
end
it_configures 'apache serving ceilometer with mod_wsgi'
end
end