Merge "Add in rspec-puppet-facts support"
This commit is contained in:
commit
942b2a2b8c
1
Gemfile
1
Gemfile
|
@ -3,6 +3,7 @@ source ENV['GEM_SOURCE'] || "https://rubygems.org"
|
||||||
group :development, :test do
|
group :development, :test do
|
||||||
gem 'puppetlabs_spec_helper', :require => 'false'
|
gem 'puppetlabs_spec_helper', :require => 'false'
|
||||||
gem 'rspec-puppet', '~> 2.2.0', :require => 'false'
|
gem 'rspec-puppet', '~> 2.2.0', :require => 'false'
|
||||||
|
gem 'rspec-puppet-facts', :require => 'false'
|
||||||
gem 'metadata-json-lint', :require => 'false'
|
gem 'metadata-json-lint', :require => 'false'
|
||||||
gem 'puppet-lint-param-docs', :require => 'false'
|
gem 'puppet-lint-param-docs', :require => 'false'
|
||||||
gem 'puppet-lint-absolute_classname-check', :require => 'false'
|
gem 'puppet-lint-absolute_classname-check', :require => 'false'
|
||||||
|
|
|
@ -14,11 +14,11 @@
|
||||||
],
|
],
|
||||||
"operatingsystem_support": [
|
"operatingsystem_support": [
|
||||||
{
|
{
|
||||||
"operatingsystem": "Fedora",
|
"operatingsystem": "RedHat",
|
||||||
"operatingsystemrelease": ["20"]
|
"operatingsystemrelease": ["7"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"operatingsystem": "RedHat",
|
"operatingsystem": "CentOS",
|
||||||
"operatingsystemrelease": ["7"]
|
"operatingsystemrelease": ["7"]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -19,15 +19,7 @@ require 'spec_helper'
|
||||||
|
|
||||||
describe 'tripleo::cluster::cassandra' do
|
describe 'tripleo::cluster::cassandra' do
|
||||||
|
|
||||||
shared_examples_for 'cassandra cluster service' do
|
shared_examples_for 'tripleo::cluster::cassandra' do
|
||||||
|
|
||||||
let :facts do
|
|
||||||
{
|
|
||||||
:hostname => 'host1.midonet',
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
:operatingsystemmajrelease => 7,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
let :params do
|
let :params do
|
||||||
{
|
{
|
||||||
|
@ -49,6 +41,14 @@ describe 'tripleo::cluster::cassandra' do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it_configures 'cassandra cluster service'
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({})
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::cluster::cassandra'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,97 +19,68 @@ require 'spec_helper'
|
||||||
|
|
||||||
describe 'tripleo::cluster::zookeeper' do
|
describe 'tripleo::cluster::zookeeper' do
|
||||||
|
|
||||||
let :default_params do
|
shared_examples_for 'tripleo::cluster::zookeeper' do
|
||||||
{
|
let :params do
|
||||||
:zookeeper_server_ips => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
|
|
||||||
:zookeeper_hostnames => ['host1.midonet', 'host2.midonet', 'host3.midonet']
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'on host1' do
|
|
||||||
let :facts do
|
|
||||||
{
|
{
|
||||||
:hostname => 'host1.midonet',
|
:zookeeper_server_ips => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
|
||||||
:osfamily => 'RedHat',
|
:zookeeper_hostnames => ['host1.midonet', 'host2.midonet', 'host3.midonet']
|
||||||
:operatingsystemmajrelease => 7,
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
let :params do
|
context 'on host1' do
|
||||||
{
|
before :each do
|
||||||
:zookeeper_client_ip => '23.43.2.34'
|
facts.merge!({ :hostname => 'host1.midonet'})
|
||||||
}
|
params.merge!({ :zookeeper_client_ip => '23.43.2.34' })
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should call zookeeper using id==1' do
|
||||||
|
is_expected.to contain_class('zookeeper').with(
|
||||||
|
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
|
||||||
|
:client_ip => '23.43.2.34',
|
||||||
|
:id => 1
|
||||||
|
)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
before do
|
context 'on host2' do
|
||||||
params.merge!(default_params)
|
before :each do
|
||||||
|
facts.merge!({ :hostname => 'host2.midonet'})
|
||||||
|
params.merge!({ :zookeeper_client_ip => '23.43.2.35' })
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should call zookeeper using id==1' do
|
||||||
|
is_expected.to contain_class('zookeeper').with(
|
||||||
|
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
|
||||||
|
:client_ip => '23.43.2.35',
|
||||||
|
:id => 2
|
||||||
|
)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should call zookeeper using id==1' do
|
context 'on host3' do
|
||||||
is_expected.to contain_class('zookeeper').with(
|
before :each do
|
||||||
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
|
facts.merge!({ :hostname => 'host3.midonet'})
|
||||||
:client_ip => '23.43.2.34',
|
params.merge!({ :zookeeper_client_ip => '23.43.2.36' })
|
||||||
:id => 1
|
end
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
it 'should call zookeeper using id==1' do
|
||||||
|
is_expected.to contain_class('zookeeper').with(
|
||||||
|
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
|
||||||
|
:client_ip => '23.43.2.36',
|
||||||
|
:id => 3
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
context 'on host2' do
|
|
||||||
let :facts do
|
|
||||||
{
|
|
||||||
:hostname => 'host2.midonet',
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
:operatingsystemmajrelease => 7,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
let :params do
|
|
||||||
{
|
|
||||||
:zookeeper_client_ip => '23.43.2.35'
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
before do
|
|
||||||
params.merge!(default_params)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'should call zookeeper using id==1' do
|
|
||||||
is_expected.to contain_class('zookeeper').with(
|
|
||||||
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
|
|
||||||
:client_ip => '23.43.2.35',
|
|
||||||
:id => 2
|
|
||||||
)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'on host3' do
|
on_supported_os.each do |os, facts|
|
||||||
let :facts do
|
context "on #{os}" do
|
||||||
{
|
let(:facts) do
|
||||||
:hostname => 'host3.midonet',
|
facts.merge({})
|
||||||
:osfamily => 'RedHat',
|
end
|
||||||
:operatingsystemmajrelease => 7,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
let :params do
|
it_behaves_like 'tripleo::cluster::zookeeper'
|
||||||
{
|
|
||||||
:zookeeper_client_ip => '23.43.2.36'
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
before do
|
|
||||||
params.merge!(default_params)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'should call zookeeper using id==1' do
|
|
||||||
is_expected.to contain_class('zookeeper').with(
|
|
||||||
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
|
|
||||||
:client_ip => '23.43.2.36',
|
|
||||||
:id => 3
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -24,7 +24,7 @@ describe 'tripleo::firewall' do
|
||||||
{ }
|
{ }
|
||||||
end
|
end
|
||||||
|
|
||||||
shared_examples_for 'tripleo node' do
|
shared_examples_for 'tripleo::firewall' do
|
||||||
|
|
||||||
context 'with firewall enabled' do
|
context 'with firewall enabled' do
|
||||||
before :each do
|
before :each do
|
||||||
|
@ -114,23 +114,13 @@ describe 'tripleo::firewall' do
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'on Debian platforms' do
|
on_supported_os.each do |os, facts|
|
||||||
let :facts do
|
context "on #{os}" do
|
||||||
{ :osfamily => 'Debian' }
|
let(:facts) do
|
||||||
|
facts.merge({})
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::firewall'
|
||||||
end
|
end
|
||||||
|
|
||||||
it_configures 'tripleo node'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'on RedHat platforms' do
|
|
||||||
let :facts do
|
|
||||||
{
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
:operatingsystemrelease => '7.1',
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
it_configures 'tripleo node'
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,15 +2,7 @@ require 'spec_helper'
|
||||||
|
|
||||||
describe 'tripleo::host::sriov' do
|
describe 'tripleo::host::sriov' do
|
||||||
|
|
||||||
shared_examples_for 'sriov vfs configuration for Red Hat distributions' do
|
shared_examples_for 'tripleo::host::sriov' do
|
||||||
|
|
||||||
let :facts do
|
|
||||||
{
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
:operatingsystemmajrelease => 7,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
let :params do
|
let :params do
|
||||||
{:number_of_vfs => []}
|
{:number_of_vfs => []}
|
||||||
end
|
end
|
||||||
|
@ -35,5 +27,13 @@ describe 'tripleo::host::sriov' do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it_configures 'sriov vfs configuration for Red Hat distributions'
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({})
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::host::sriov'
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,17 +19,7 @@ require 'spec_helper'
|
||||||
|
|
||||||
describe 'tripleo::network::midonet::agent' do
|
describe 'tripleo::network::midonet::agent' do
|
||||||
|
|
||||||
let :facts do
|
shared_examples_for 'tripleo::network::midonet::agent' do
|
||||||
{
|
|
||||||
:hostname => 'host2.midonet',
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
:operatingsystem => 'CentOS',
|
|
||||||
:operatingsystemrelease => '7.1',
|
|
||||||
:operatingsystemmajrelease => 7,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
shared_examples_for 'midonet agent test' do
|
|
||||||
|
|
||||||
let :params do
|
let :params do
|
||||||
{
|
{
|
||||||
|
@ -56,7 +46,13 @@ describe 'tripleo::network::midonet::agent' do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it_configures 'midonet agent test'
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({})
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::network::midonet::agent'
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,13 +19,7 @@ require 'spec_helper'
|
||||||
|
|
||||||
describe 'tripleo::network::midonet::api' do
|
describe 'tripleo::network::midonet::api' do
|
||||||
|
|
||||||
let :facts do
|
shared_examples_for 'tripleo::midonet::api' do
|
||||||
{
|
|
||||||
:augeasversion => '1.0.0'
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
shared_examples_for 'midonet api test' do
|
|
||||||
|
|
||||||
let :params do
|
let :params do
|
||||||
{
|
{
|
||||||
|
@ -67,6 +61,16 @@ describe 'tripleo::network::midonet::api' do
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it_configures 'midonet api test'
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({
|
||||||
|
:augeasversion => '1.0.0'
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::midonet::api'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -17,19 +17,12 @@ require 'spec_helper'
|
||||||
|
|
||||||
describe 'tripleo::packages' do
|
describe 'tripleo::packages' do
|
||||||
|
|
||||||
shared_examples_for 'Red Hat distributions' do
|
shared_examples_for 'tripleo::packages' do
|
||||||
|
|
||||||
let :pre_condition do
|
let :pre_condition do
|
||||||
"service{'nova-compute': ensure => 'running'}"
|
"service{'nova-compute': ensure => 'running'}"
|
||||||
end
|
end
|
||||||
|
|
||||||
let :facts do
|
|
||||||
{
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
:operatingsystemmajrelease => 7,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
let :params do
|
let :params do
|
||||||
{
|
{
|
||||||
:enable_upgrade => true
|
:enable_upgrade => true
|
||||||
|
@ -43,6 +36,15 @@ describe 'tripleo::packages' do
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it_configures 'Red Hat distributions'
|
|
||||||
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({})
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::packages'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -21,7 +21,7 @@ describe 'tripleo::profile::base::swift::proxy' do
|
||||||
{ }
|
{ }
|
||||||
end
|
end
|
||||||
|
|
||||||
shared_examples_for 'tripleo swift proxy base profile' do
|
shared_examples_for 'tripleo::profile::base::swift::proxy' do
|
||||||
|
|
||||||
let :pre_condition do
|
let :pre_condition do
|
||||||
"class { '::swift':
|
"class { '::swift':
|
||||||
|
@ -80,25 +80,13 @@ describe 'tripleo::profile::base::swift::proxy' do
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'on Debian platforms' do
|
on_supported_os.each do |os, facts|
|
||||||
let :facts do
|
context "on #{os}" do
|
||||||
{ :osfamily => 'Debian',
|
let(:facts) do
|
||||||
:processorcount => 1 }
|
facts.merge({})
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::profile::base::swift::proxy'
|
||||||
end
|
end
|
||||||
|
|
||||||
it_configures 'tripleo swift proxy base profile'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'on RedHat platforms' do
|
|
||||||
let :facts do
|
|
||||||
{
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
:operatingsystemrelease => '7.1',
|
|
||||||
:processorcount => 1,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
it_configures 'tripleo swift proxy base profile'
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,11 +19,14 @@ require 'spec_helper'
|
||||||
|
|
||||||
describe 'tripleo::selinux' do
|
describe 'tripleo::selinux' do
|
||||||
|
|
||||||
shared_examples_for 'manage selinux' do
|
shared_examples_for 'tripleo::selinux' do
|
||||||
|
|
||||||
context 'with selinux enforcing' do
|
context 'with selinux enforcing' do
|
||||||
before :each do
|
before :each do
|
||||||
facts.merge!( :selinux_current_mode => 'enforcing' )
|
facts.merge!({
|
||||||
|
:selinux => true,
|
||||||
|
:selinux_current_mode => 'enforcing'
|
||||||
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
let :params do
|
let :params do
|
||||||
|
@ -55,7 +58,7 @@ describe 'tripleo::selinux' do
|
||||||
|
|
||||||
context 'with selinux disabled' do
|
context 'with selinux disabled' do
|
||||||
before :each do
|
before :each do
|
||||||
facts.merge!( :selinux => 'false' )
|
facts.merge!({ :selinux => 'false' })
|
||||||
end
|
end
|
||||||
|
|
||||||
let :params do
|
let :params do
|
||||||
|
@ -89,18 +92,19 @@ describe 'tripleo::selinux' do
|
||||||
|
|
||||||
context 'on Debian platforms' do
|
context 'on Debian platforms' do
|
||||||
let :facts do
|
let :facts do
|
||||||
{ :osfamily => 'Debian' }
|
{ :osfamily => 'Debian' }
|
||||||
end
|
end
|
||||||
|
|
||||||
it_raises 'a Puppet::Error', /OS family unsuppored yet \(Debian\), SELinux support is only limited to RedHat family OS/
|
it_raises 'a Puppet::Error', /OS family unsuppored yet \(Debian\), SELinux support is only limited to RedHat family OS/
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'on RedHat platforms' do
|
on_supported_os.each do |os, facts|
|
||||||
let :facts do
|
context "on #{os}" do
|
||||||
{ :osfamily => 'RedHat' }
|
let(:facts) do
|
||||||
|
facts.merge({})
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::selinux'
|
||||||
end
|
end
|
||||||
|
|
||||||
it_configures 'manage selinux'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
require 'puppetlabs_spec_helper/module_spec_helper'
|
require 'puppetlabs_spec_helper/module_spec_helper'
|
||||||
require 'shared_examples'
|
require 'shared_examples'
|
||||||
|
require 'rspec-puppet-facts'
|
||||||
|
include RspecPuppetFacts
|
||||||
|
|
||||||
fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures'))
|
fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures'))
|
||||||
|
|
||||||
|
@ -10,14 +12,8 @@ RSpec.configure do |c|
|
||||||
c.module_path = File.join(fixture_path, 'modules')
|
c.module_path = File.join(fixture_path, 'modules')
|
||||||
c.manifest_dir = File.join(fixture_path, 'manifests')
|
c.manifest_dir = File.join(fixture_path, 'manifests')
|
||||||
|
|
||||||
c.default_facts = {
|
# custom global facts for all rspec tests
|
||||||
:kernel => 'Linux',
|
add_custom_fact :concat_basedir, '/var/lib/puppet/concat'
|
||||||
:concat_basedir => '/var/lib/puppet/concat',
|
|
||||||
:memorysize => '1000 MB',
|
|
||||||
:processorcount => '1',
|
|
||||||
:puppetversion => '3.7.3',
|
|
||||||
:uniqueid => '123'
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
at_exit { RSpec::Puppet::Coverage.report! }
|
at_exit { RSpec::Puppet::Coverage.report! }
|
||||||
|
|
Loading…
Reference in New Issue