Files
puppet-nova/spec/classes/nova_network_spec.rb
kirby@puppetlabs.com 895e057abb Enable nova service by default
This commit updates the default value for enable for nova components to
default to true, instead of false. Without this
change the nova service is not enabled by default resulting in a
different behavior than with other puppet openstack modules.
Associated tests are updated to expect the change in defaults.

Co-Authored-By: Cody Herriges <cody@puppetlabs.com>
Change-Id: I49fc84f9fedfe00d7846441e1b49334abb09e0eb
Closes-bug: #1220473
2015-07-15 13:58:09 -07:00

216 lines
7.0 KiB
Ruby

require 'spec_helper'
describe 'nova::network' do
let :pre_condition do
'include nova'
end
let :default_params do
{
:private_interface => 'eth1',
:fixed_range => '10.0.0.0/32',
}
end
let :params do
default_params
end
describe 'on debian platforms' do
let :facts do
{ :osfamily => 'Debian' }
end
it { is_expected.to contain_sysctl__value('net.ipv4.ip_forward').with_value('1') }
describe 'when installing service' do
it { is_expected.to contain_package('nova-network').with(
'name' => 'nova-network',
'ensure' => 'present',
'notify' => 'Service[nova-network]'
) }
describe 'with enabled as true' do
it { is_expected.to contain_service('nova-network').with(
'name' => 'nova-network',
'ensure' => 'running',
'hasstatus' => true,
'enable' => true
)}
end
describe 'when enabled is set to false' do
let :params do
default_params.merge(:enabled => false)
end
it { is_expected.to contain_service('nova-network').with(
'name' => 'nova-network',
'ensure' => 'stopped',
'hasstatus' => true,
'enable' => false
)}
end
end
describe 'when not installing service' do
let :params do
default_params.merge(:install_service => false)
end
it { is_expected.to_not contain_package('nova-network') }
it { is_expected.to_not contain_service('nova-network') }
end
describe 'when not creating networks' do
let :params do
default_params.merge(:create_networks => false)
end
it { is_expected.to_not contain_nova__manage__network('nova-vm-net') }
it { is_expected.to_not contain_nova__manage__floating('nova-vm-floating') }
end
describe 'when creating networks' do
it { is_expected.to contain_nova__manage__network('nova-vm-net').with(
:network => '10.0.0.0/32',
:num_networks => '1'
) }
it { is_expected.to_not contain__nova__manage__floating('nova-vm-floating') }
describe 'when number of networks is set' do
let :params do
default_params.merge(:num_networks => '2')
end
it { is_expected.to contain_nova__manage__network('nova-vm-net').with(
:num_networks => '2'
) }
end
describe 'when floating range is set' do
let :params do
default_params.merge(:floating_range => '10.0.0.0/30')
end
it { is_expected.to contain_nova_config('DEFAULT/floating_range').with_value('10.0.0.0/30') }
it { is_expected.to contain_nova__manage__floating('nova-vm-floating').with_network('10.0.0.0/30') }
end
end
describe 'when configuring networks' do
describe 'when configuring flatdhcpmanager' do
let :params do
default_params.merge(:network_manager => 'nova.network.manager.FlatDHCPManager')
end
it { is_expected.to contain_class('nova::network::flatdhcp').with(
:fixed_range => '10.0.0.0/32',
:public_interface => nil,
:flat_interface => 'eth1',
:flat_network_bridge => 'br100',
:force_dhcp_release => true,
:flat_injected => false,
:dhcp_domain => 'novalocal',
:dhcpbridge => '/usr/bin/nova-dhcpbridge',
:dhcpbridge_flagfile => '/etc/nova/nova.conf'
) }
describe 'when overriding parameters' do
let :params do
default_params.merge(
{
:network_manager => 'nova.network.manager.FlatDHCPManager',
:public_interface => 'eth0',
:config_overrides =>
{
'flat_network_bridge' => 'br400',
'force_dhcp_release' => false,
'flat_injected' => true,
'dhcp_domain' => 'not-novalocal',
'dhcpbridge' => '/tmp/bridge',
'dhcpbridge_flagfile' => '/tmp/file',
}
}
)
end
it { is_expected.to contain_class('nova::network::flatdhcp').with(
:fixed_range => '10.0.0.0/32',
:public_interface => 'eth0',
:flat_interface => 'eth1',
:flat_network_bridge => 'br400',
#:force_dhcp_release => false,
:flat_injected => true,
:dhcp_domain => 'not-novalocal',
:dhcpbridge => '/tmp/bridge',
:dhcpbridge_flagfile => '/tmp/file'
) }
end
end
describe 'when configuring flatmanager' do
let :params do
default_params.merge(:network_manager => 'nova.network.manager.FlatManager')
end
it { is_expected.to contain_class('nova::network::flat').with(
:fixed_range => '10.0.0.0/32',
:public_interface => nil,
:flat_interface => 'eth1',
:flat_network_bridge => 'br100'
) }
describe 'when overriding flat network params' do
let :params do
default_params.merge(
{
:network_manager => 'nova.network.manager.FlatManager',
:public_interface => 'eth0',
:config_overrides => {'flat_network_bridge' => 'br400' }
}
)
end
it { is_expected.to contain_class('nova::network::flat').with(
:public_interface => 'eth0',
:flat_network_bridge => 'br400'
) }
end
end
describe 'when configuring vlan' do
let :params do
default_params.merge(:network_manager => 'nova.network.manager.VlanManager')
end
it { is_expected.to contain_class('nova::network::vlan').with(
:fixed_range => '10.0.0.0/32',
:public_interface => nil,
:vlan_interface => 'eth1',
:force_dhcp_release => true,
:dhcp_domain => 'novalocal',
:dhcpbridge => '/usr/bin/nova-dhcpbridge',
:dhcpbridge_flagfile => '/etc/nova/nova.conf'
) }
describe 'when overriding parameters' do
let :params do
default_params.merge(
{
}
)
end
end
end
end
describe 'with package version' do
let :params do
default_params.merge(:ensure_package => '2012.1-2')
end
it { is_expected.to contain_package('nova-network').with(
'ensure' => '2012.1-2'
)}
end
end
describe 'on rhel' do
let :facts do
{ :osfamily => 'RedHat' }
end
it { is_expected.to contain_service('nova-network').with(
'name' => 'openstack-nova-network',
'ensure' => 'running',
'hasstatus' => true,
'enable' => true
)}
it { is_expected.to contain_package('nova-network').with_name('openstack-nova-network') }
end
end