Move nova to use OSDefaults - Part1

Switch @default_facts to OSDefaults

On going Part2 (new commit):
- nova_keystone_auth_spec.rb
- nova_migration_libvirt_spec.rb
- nova_network_spec.rb
- nova_objectstore_spec.rb
- nova_rabbitmq_spec.rb
- nova_scheduler_spec.rb
- nova_serial_proxy_spec.rb
- nova_spicehtml5_proxy_spec.rb
- nova_vnc_proxy_spec.rb
- nova_wsgi_apache_spec.rb

Change-Id: Ie53c2ebfa72710e248d14f5588bc632eeafc2d68
This commit is contained in:
Iury Gregory Melo Ferreira 2016-06-07 00:59:36 -03:00
parent 7bfc1807c1
commit 8c697c6349
17 changed files with 350 additions and 457 deletions

View File

@ -10,10 +10,6 @@ describe 'nova::api' do
{ :admin_password => 'passw0rd' } { :admin_password => 'passw0rd' }
end end
let :facts do
@default_facts.merge({ :processorcount => 5 })
end
shared_examples 'nova-api' do shared_examples 'nova-api' do
context 'with default parameters' do context 'with default parameters' do
@ -329,44 +325,25 @@ describe 'nova::api' do
end end
context 'on Debian platforms' do on_supported_os({
before do :supported_os => OSDefaults.get_supported_os
facts.merge!( }).each do |os,facts|
:osfamily => 'Debian', context "on #{os}" do
:operatingsystem => 'Debian', let (:facts) do
:operatingsystemrelease => '8.0', facts.merge!(OSDefaults.get_facts({ :processorcount => 5 }))
:operatingsystemmajrelease => '8', end
:concat_basedir => '/var/lib/puppet/concat',
:fqdn => 'some.host.tld',
)
end
let :platform_params do let (:platform_params) do
{ :nova_api_package => 'nova-api', case facts[:osfamily]
:nova_api_service => 'nova-api' } when 'Debian'
{ :nova_api_package => 'nova-api',
:nova_api_service => 'nova-api' }
when 'RedHat'
{ :nova_api_package => 'openstack-nova-api',
:nova_api_service => 'openstack-nova-api' }
end
end
it_behaves_like 'nova-api'
end end
it_behaves_like 'nova-api'
end end
context 'on RedHat platforms' do
before do
facts.merge!(
:osfamily => 'RedHat',
:operatingsystem => 'RedHat',
:operatingsystemrelease => '7.0',
:operatingsystemmajrelease => '7',
:concat_basedir => '/var/lib/puppet/concat',
:fqdn => 'some.host.tld',
)
end
let :platform_params do
{ :nova_api_package => 'openstack-nova-api',
:nova_api_service => 'openstack-nova-api' }
end
it_behaves_like 'nova-api'
end
end end

View File

@ -29,29 +29,15 @@ describe 'nova::availability_zone' do
end end
context 'on Debian platforms' do on_supported_os({
let :facts do :supported_os => OSDefaults.get_supported_os
@default_facts.merge({ }).each do |os,facts|
:osfamily => 'Debian', context "on #{os}" do
:operatingsystem => 'Debian', let (:facts) do
:operatingsystemrelease => 'jessie', facts.merge!(OSDefaults.get_facts())
}) end
it_configures 'nova::availability_zone'
end end
it_configures 'nova::availability_zone'
end end
context 'on Redhat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7.1',
})
end
it_configures 'nova::availability_zone'
end
end end

View File

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

View File

@ -138,38 +138,35 @@ describe 'nova::cells' do
it_configures 'nova-cells' it_configures 'nova-cells'
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
context 'on Debian platforms' do case facts[:osfamily]
let :facts do when 'Debian'
@default_facts.merge({ :osfamily => 'Debian' }) let (:platform_params) do
{
:cells_package_name => 'nova-cells',
:cells_service_name => 'nova-cells'
}
end
it_configures 'a parent cell with manage_service as false'
when 'RedHat'
let (:platform_params) do
{
:cells_package_name => 'openstack-nova-cells',
:cells_service_name => 'openstack-nova-cells'
}
end
end
it_configures 'a parent cell'
it_configures 'a child cell'
end end
let :platform_params do
{
:cells_package_name => 'nova-cells',
:cells_service_name => 'nova-cells'
}
end
it_configures 'a parent cell'
it_configures 'a parent cell with manage_service as false'
it_configures 'a child cell'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
{
:cells_package_name => 'openstack-nova-cells',
:cells_service_name => 'openstack-nova-cells'
}
end
it_configures 'a parent cell'
it_configures 'a child cell'
end end
end end

View File

@ -6,25 +6,29 @@ describe 'nova::cert' do
'include nova' 'include nova'
end end
context 'on Debian platforms' do on_supported_os({
let :facts do :supported_os => OSDefaults.get_supported_os
@default_facts.merge({ :osfamily => 'Debian' }) }).each do |os,facts|
end context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_behaves_like 'generic nova service', { let (:platform_params) do
:name => 'nova-cert', case facts[:osfamily]
:package_name => 'nova-cert', when 'Debian'
:service_name => 'nova-cert' } it_behaves_like 'generic nova service', {
:name => 'nova-cert',
:package_name => 'nova-cert',
:service_name => 'nova-cert' }
when 'RedHat'
it_behaves_like 'generic nova service', {
:name => 'nova-cert',
:package_name => 'openstack-nova-cert',
:service_name => 'openstack-nova-cert' }
end
end
end
end end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
it_behaves_like 'generic nova service', {
:name => 'nova-cert',
:package_name => 'openstack-nova-cert',
:service_name => 'openstack-nova-cert' }
end
end end

View File

@ -335,42 +335,38 @@ describe 'nova::compute::libvirt' do
end end
context 'on Debian platforms' do on_supported_os({
let (:facts) do :supported_oos => OSDefaults.get_supported_os
@default_facts.merge({ }).each do |os,facts|
:osfamily => 'Debian', context "on #{os}" do
:operatingsystem => 'Debian',
:os_package_family => 'debian', case [:osfamily]
:operatingsystemmajrelease => '8' when 'Debian'
})
case [:operatingsystem]
when 'Debian'
let (:facts) do
facts.merge!(OSDefaults.get_facts({
:os_package_family => 'debian',
:operatingsystemmajrelease => '8'}))
end
it_behaves_like 'debian-nova-compute-libvirt'
when 'Ubuntu'
let (:facts) do
facts.merge!(OSDefaults.get_facts({
:os_package_family => 'ubuntu',
:operatingsystemmajrelease => '16.04'}))
end
it_behaves_like 'debian-nova-compute-libvirt'
end
when 'RedHat'
let (:facts) do
facts.merge!(OSDefaults.get_facts({ :os_package_type => 'rpm' }))
end
it_behaves_like 'redhat-nova-compute-libvirt'
end
end end
it_behaves_like 'debian-nova-compute-libvirt'
end end
context 'on Ubuntu platforms' do
let (:facts) do
@default_facts.merge({
:osfamily => 'Debian',
:operatingsystem => 'Ubuntu',
:os_package_family => 'ubuntu',
:operatingsystemmajrelease => '16.04'
})
end
it_behaves_like 'debian-nova-compute-libvirt'
end
context 'on RedHat platforms' do
let (:facts) do
@default_facts.merge({
:osfamily => 'RedHat',
:os_package_type => 'rpm',
})
end
it_behaves_like 'redhat-nova-compute-libvirt'
end
end end

View File

@ -160,28 +160,24 @@ describe 'nova::compute::rbd' do
end end
end end
context 'on Debian platforms' do on_supported_os({
let :facts do :supported_os => OSDefaults.get_supported_os
@default_facts.merge({ :osfamily => 'Debian' }) }).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'
{ :ceph_client_package => 'ceph' }
when 'RedHat'
{ :ceph_client_package => 'ceph-common' }
end
end
it_configures 'nova compute rbd'
end end
let :platform_params do
{ :ceph_client_package => 'ceph'}
end
it_configures 'nova compute rbd'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
{ :ceph_client_package => 'ceph-common' }
end
it_configures 'nova compute rbd'
end end
end end

View File

@ -221,30 +221,26 @@ describe 'nova::compute' do
end 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
context 'on Debian platforms' do let (:platform_params) do
let :facts do case facts[:osfamily]
@default_facts.merge({ :osfamily => 'Debian' }) when 'Debian'
{ :nova_compute_package => 'nova-compute',
:nova_compute_service => 'nova-compute' }
when 'RedHat'
{ :nova_compute_package => 'openstack-nova-compute',
:nova_compute_service => 'openstack-nova-compute' }
end
end
it_behaves_like 'nova-compute'
end end
let :platform_params do
{ :nova_compute_package => 'nova-compute',
:nova_compute_service => 'nova-compute' }
end
it_behaves_like 'nova-compute'
end end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
{ :nova_compute_package => 'openstack-nova-compute',
:nova_compute_service => 'openstack-nova-compute' }
end
it_behaves_like 'nova-compute'
end
end end

View File

@ -73,30 +73,26 @@ describe 'nova::conductor' do
end end
context 'on Debian platforms' do on_supported_os({
let :facts do :supported_os => OSDefaults.get_supported_os
@default_facts.merge({ :osfamily => 'Debian' }) }).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'
{ :conductor_package_name => 'nova-conductor',
:conductor_service_name => 'nova-conductor' }
when 'RedHat'
{ :conductor_package_name => 'openstack-nova-conductor',
:conductor_service_name => 'openstack-nova-conductor' }
end
end
it_configures 'nova-conductor'
end end
let :platform_params do
{ :conductor_package_name => 'nova-conductor',
:conductor_service_name => 'nova-conductor' }
end
it_configures 'nova-conductor'
end
context 'on Redhat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
{ :conductor_package_name => 'openstack-nova-conductor',
:conductor_service_name => 'openstack-nova-conductor' }
end
it_configures 'nova-conductor'
end end
end end

View File

@ -6,25 +6,29 @@ describe 'nova::consoleauth' do
'include nova' 'include nova'
end end
context 'on Debian platforms' do on_supported_os({
let :facts do :supported_os => OSDefaults.get_supported_os
@default_facts.merge({ :osfamily => 'Debian' }) }).each do |os,facts|
end context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_behaves_like 'generic nova service', { let (:platform_params) do
:name => 'nova-consoleauth', case facts[:osfamily]
:package_name => 'nova-consoleauth', when 'Debian'
:service_name => 'nova-consoleauth' } it_behaves_like 'generic nova service', {
:name => 'nova-consoleauth',
:package_name => 'nova-consoleauth',
:service_name => 'nova-consoleauth' }
when 'RedHat'
it_behaves_like 'generic nova service', {
:name => 'nova-consoleauth',
:package_name => 'openstack-nova-console',
:service_name => 'openstack-nova-consoleauth' }
end
end
end
end end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
it_behaves_like 'generic nova service', {
:name => 'nova-consoleauth',
:package_name => 'openstack-nova-console',
:service_name => 'openstack-nova-consoleauth' }
end
end end

View File

@ -3,7 +3,7 @@ require 'spec_helper'
describe 'nova::cron::archive_deleted_rows' do describe 'nova::cron::archive_deleted_rows' do
let :facts do let :facts do
@default_facts.merge({ :osfamily => 'Debian' }) OSDefaults.get_facts({ :osfamily => 'Debian' })
end end
let :params do let :params do
@ -30,4 +30,5 @@ describe 'nova::cron::archive_deleted_rows' do
:require => 'Anchor[nova::dbsync::end]', :require => 'Anchor[nova::dbsync::end]',
) )
end end
end end

View File

@ -2,24 +2,20 @@ require 'spec_helper'
describe 'nova::db::mysql_api' do describe 'nova::db::mysql_api' do
let :pre_condition do shared_examples_for 'nova::db::mysql_api' do
'include mysql::server'
end
let :required_params do let :pre_condition do
{ :password => "qwerty" } 'include mysql::server'
end
context 'on a Debian osfamily' do
let :facts do
@default_facts.merge({ :osfamily => "Debian" })
end end
context 'with only required parameters' do let :required_params do
{ :password => "qwerty" }
end
context 'with only required params' do
let :params do let :params do
required_params required_params
end end
it { is_expected.to contain_openstacklib__db__mysql('nova_api').with( it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
:user => 'nova_api', :user => 'nova_api',
:password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601', :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
@ -28,23 +24,11 @@ describe 'nova::db::mysql_api' do
)} )}
end end
context 'when overriding charset' do context 'overriding allowed_hosts param to array' do
let :params do let :params do
{ :charset => 'latin1' }.merge(required_params) { :password => 'novapass',
end :allowed_hosts => ['127.0.0.1','%'],
}.merge(required_params)
it { is_expected.to contain_openstacklib__db__mysql('nova_api').with_charset(params[:charset]) }
end
end
context 'on a RedHat osfamily' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
context 'with only required parameters' do
let :params do
required_params
end end
it { is_expected.to contain_openstacklib__db__mysql('nova_api').with( it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
@ -52,54 +36,50 @@ describe 'nova::db::mysql_api' do
:password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601', :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
:charset => 'utf8', :charset => 'utf8',
:collate => 'utf8_general_ci', :collate => 'utf8_general_ci',
:allowed_hosts => ['127.0.0.1','%'],
)}
end
context 'overriding allowed_hosts param to string' do
let :params do
{ :password => 'novapass2',
:allowed_hosts => '192.168.1.1',
}.merge(required_params)
end
it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
:user => 'nova_api',
:password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
:charset => 'utf8',
:collate => 'utf8_general_ci',
:allowed_hosts => '192.168.1.1',
)} )}
end end
context 'when overriding charset' do context 'when overriding charset' do
let :params do let :params do
{ :charset => 'latin1' }.merge(required_params) { :password => 'novapass',
:charset => 'latin1',
}.merge(required_params)
end end
it { is_expected.to contain_openstacklib__db__mysql('nova_api').with_charset(params[:charset]) } it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
end :charset => 'latin1',
end )}
describe "overriding allowed_hosts param to array" do
let :facts do
@default_facts.merge({ :osfamily => "Debian" })
end
let :params do
{
:password => 'novapass',
:allowed_hosts => ['127.0.0.1','%']
}
end end
end end
describe "overriding allowed_hosts param to string" do on_supported_os({
let :facts do :supported_os => OSDefaults.get_supported_os
@default_facts.merge({ :osfamily => 'RedHat' }) }).each do |os,facts|
end context "on #{os}" do
let :params do let (:facts) do
{ facts.merge!(OSDefaults.get_facts())
:password => 'novapass2', end
:allowed_hosts => '192.168.1.1'
}
end
it_configures 'nova::db::mysql_api'
end
end end
describe "overriding allowed_hosts param equals to host param " do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :params do
{
:password => 'novapass2',
:allowed_hosts => '127.0.0.1'
}
end
end
end end

View File

@ -2,24 +2,20 @@ require 'spec_helper'
describe 'nova::db::mysql' do describe 'nova::db::mysql' do
let :pre_condition do shared_examples_for 'nova::db::mysql' do
'include mysql::server'
end
let :required_params do let :pre_condition do
{ :password => "qwerty" } 'include mysql::server'
end
context 'on a Debian osfamily' do
let :facts do
@default_facts.merge({ :osfamily => "Debian" })
end end
context 'with only required parameters' do let :required_params do
{ :password => "qwerty" }
end
context 'with only required params' do
let :params do let :params do
required_params required_params
end end
it { is_expected.to contain_openstacklib__db__mysql('nova').with( it { is_expected.to contain_openstacklib__db__mysql('nova').with(
:user => 'nova', :user => 'nova',
:password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601', :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
@ -28,23 +24,11 @@ describe 'nova::db::mysql' do
)} )}
end end
context 'when overriding charset' do context 'overriding allowed_hosts param to array' do
let :params do let :params do
{ :charset => 'latin1' }.merge(required_params) { :password => 'novapass',
end :allowed_hosts => ['127.0.0.1','%'],
}.merge(required_params)
it { is_expected.to contain_openstacklib__db__mysql('nova').with_charset(params[:charset]) }
end
end
context 'on a RedHat osfamily' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
context 'with only required parameters' do
let :params do
required_params
end end
it { is_expected.to contain_openstacklib__db__mysql('nova').with( it { is_expected.to contain_openstacklib__db__mysql('nova').with(
@ -52,54 +36,50 @@ describe 'nova::db::mysql' do
:password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601', :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
:charset => 'utf8', :charset => 'utf8',
:collate => 'utf8_general_ci', :collate => 'utf8_general_ci',
:allowed_hosts => ['127.0.0.1','%'],
)}
end
context 'overriding allowed_hosts param to string' do
let :params do
{ :password => 'novapass2',
:allowed_hosts => '192.168.1.1',
}.merge(required_params)
end
it { is_expected.to contain_openstacklib__db__mysql('nova').with(
:user => 'nova',
:password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
:charset => 'utf8',
:collate => 'utf8_general_ci',
:allowed_hosts => '192.168.1.1',
)} )}
end end
context 'when overriding charset' do context 'when overriding charset' do
let :params do let :params do
{ :charset => 'latin1' }.merge(required_params) { :password => 'novapass',
:charset => 'latin1',
}.merge(required_params)
end end
it { is_expected.to contain_openstacklib__db__mysql('nova').with_charset(params[:charset]) } it { is_expected.to contain_openstacklib__db__mysql('nova').with(
end :charset => 'latin1',
end )}
describe "overriding allowed_hosts param to array" do
let :facts do
@default_facts.merge({ :osfamily => "Debian" })
end
let :params do
{
:password => 'novapass',
:allowed_hosts => ['127.0.0.1','%']
}
end end
end end
describe "overriding allowed_hosts param to string" do on_supported_os({
let :facts do :supported_os => OSDefaults.get_supported_os
@default_facts.merge({ :osfamily => 'RedHat' }) }).each do |os,facts|
end context "on #{os}" do
let :params do let (:facts) do
{ facts.merge!(OSDefaults.get_facts())
:password => 'novapass2', end
:allowed_hosts => '192.168.1.1'
}
end
it_configures 'nova::db::mysql'
end
end end
describe "overriding allowed_hosts param equals to host param " do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :params do
{
:password => 'novapass2',
:allowed_hosts => '127.0.0.1'
}
end
end
end end

View File

@ -78,21 +78,23 @@ describe 'nova::db' do
end end
end end
context 'on Debian platforms' do shared_examples_for 'nova::db RedHat' do
let :facts do context 'using pymysql driver' do
@default_facts.merge({ let :params do
:osfamily => 'Debian', { :database_connection => 'mysql+pymysql://user:pass@db/db', }
:operatingsystem => 'Debian', end
:operatingsystemrelease => 'jessie',
})
end
it_configures 'nova::db' it { is_expected.not_to contain_package('db_backend_package') }
end
end
shared_examples_for 'nova::db Debian' do
context 'using pymysql driver' do context 'using pymysql driver' do
let :params do let :params do
{ :database_connection => 'mysql+pymysql://user:pass@db/db', } { :database_connection => 'mysql+pymysql://user:pass@db/db', }
end end
it 'install the proper backend package' do it 'install the proper backend package' do
is_expected.to contain_package('db_backend_package').with( is_expected.to contain_package('db_backend_package').with(
:ensure => 'present', :ensure => 'present',
@ -104,7 +106,7 @@ describe 'nova::db' do
context 'with sqlite backend' do context 'with sqlite backend' do
let :params do let :params do
{ :database_connection => 'sqlite:///var/lib/nova/nova.sqlite', } { :database_connection => 'sqlite:///var/lib/nova/nova.sqlite', }
end end
it 'install the proper backend package' do it 'install the proper backend package' do
@ -114,26 +116,20 @@ describe 'nova::db' do
:tag => ['openstack'], :tag => ['openstack'],
) )
end end
end end
end end
context 'on Redhat platforms' do on_supported_os({
let :facts do :supported_os => OSDefaults.get_supported_os
@default_facts.merge({ }).each do |os,facts|
:osfamily => 'RedHat', context "on #{os}" do
:operatingsystemrelease => '7.1', let (:facts) do
}) facts.merge!(OSDefaults.get_facts())
end
it_configures 'nova::db'
context 'using pymysql driver' do
let :params do
{ :database_connection => 'mysql+pymysql://user:pass@db/db', }
end end
it { is_expected.not_to contain_package('db_backend_package') } it_configures 'nova::db'
it_configures "nova::db #{facts[:osfamily]}"
end end
end end

View File

@ -545,49 +545,31 @@ describe 'nova' do
end end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
:operatingsystem => 'Debian'
})
end
let :platform_params do on_supported_os({
{ :nova_common_package => 'nova-common', :supported_oos => OSDefaults.get_supported_os
:lock_path => '/var/lock/nova' } }).each do |os,facts|
end context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_behaves_like 'nova' case facts[:osfamily]
when 'Debian'
let (:platform_params) do
{ :nova_common_package => 'nova-common',
:lock_path => '/var/lock/nova' }
end
when 'RedHat'
let (:platform_params) do
{ :nova_common_package => 'openstack-nova-common',
:lock_path => '/var/lib/nova/tmp' }
end
end
it_behaves_like 'nova'
end
end end
context 'on Ubuntu platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
:operatingsystem => 'Ubuntu'
})
end
let :platform_params do
{ :nova_common_package => 'nova-common',
:lock_path => '/var/lock/nova' }
end
it_behaves_like 'nova'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
let :platform_params do
{ :nova_common_package => 'openstack-nova-common',
:lock_path => '/var/lib/nova/tmp' }
end
it_behaves_like 'nova'
end
end end

View File

@ -120,20 +120,17 @@ describe 'nova::logging' do
} }
end end
context 'on Debian platforms' do
let :facts do on_supported_os({
@default_facts.merge({ :osfamily => 'Debian' }) :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 'nova-logging'
end end
it_configures 'nova-logging'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
it_configures 'nova-logging'
end end
end end

View File

@ -2,11 +2,7 @@ require 'spec_helper'
describe 'test-001.example.org' do describe 'test-001.example.org' do
context 'on RedHat platforms' do shared_examples_for 'both services' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
# Bug #1278452 # Bug #1278452
it 'nova::consoleauth and nova::spicehtml5proxy do not conflict' do it 'nova::consoleauth and nova::spicehtml5proxy do not conflict' do
is_expected.to contain_class('nova::consoleauth') is_expected.to contain_class('nova::consoleauth')
@ -16,4 +12,17 @@ describe 'test-001.example.org' do
is_expected.to contain_nova__generic_service('spicehtml5proxy') is_expected.to contain_nova__generic_service('spicehtml5proxy')
end 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_configures 'both services'
end
end
end end