3 describe 'nova::network' do
11 :private_interface => 'eth1',
12 :fixed_range => '10.0.0.0/32',
20 describe 'on debian platforms' do
23 { :osfamily => 'Debian' }
26 it { should contain_sysctl__value('net.ipv4.ip_forward').with_value('1') }
28 describe 'when installing service' do
30 it { should contain_package('nova-network').with(
31 'name' => 'nova-network',
32 'ensure' => 'present',
33 'notify' => 'Service[nova-network]'
36 describe 'with enabled as true' do
38 default_params.merge(:enabled => true)
40 it { should contain_service('nova-network').with(
41 'name' => 'nova-network',
42 'ensure' => 'running',
47 describe 'when enabled is set to false' do
48 it { should contain_service('nova-network').with(
49 'name' => 'nova-network',
50 'ensure' => 'stopped',
56 describe 'when not installing service' do
59 default_params.merge(:install_service => false)
62 it { should_not contain_package('nova-network') }
63 it { should_not contain_service('nova-network') }
67 describe 'when not creating networks' do
69 default_params.merge(:create_networks => false)
71 it { should_not contain_nova__manage__network('nova-vm-net') }
72 it { should_not contain_nova__manage__floating('nova-vm-floating') }
75 describe 'when creating networks' do
76 it { should contain_nova__manage__network('nova-vm-net').with(
77 :network => '10.0.0.0/32',
80 it { should_not contain__nova__manage__floating('nova-vm-floating') }
81 describe 'when number of networks is set' do
83 default_params.merge(:num_networks => '2')
85 it { should contain_nova__manage__network('nova-vm-net').with(
89 describe 'when floating range is set' do
91 default_params.merge(:floating_range => '10.0.0.0/30')
93 it { should contain_nova_config('DEFAULT/floating_range').with_value('10.0.0.0/30') }
94 it { should contain_nova__manage__floating('nova-vm-floating').with_network('10.0.0.0/30') }
97 describe 'when configuring networks' do
98 describe 'when configuring flatdhcpmanager' do
100 default_params.merge(:network_manager => 'nova.network.manager.FlatDHCPManager')
102 it { should contain_class('nova::network::flatdhcp').with(
103 :fixed_range => '10.0.0.0/32',
104 :public_interface => nil,
105 :flat_interface => 'eth1',
106 :flat_network_bridge => 'br100',
107 :force_dhcp_release => true,
108 :flat_injected => false,
109 :dhcp_domain => 'novalocal',
110 :dhcpbridge => '/usr/bin/nova-dhcpbridge',
111 :dhcpbridge_flagfile => '/etc/nova/nova.conf'
113 describe 'when overriding parameters' do
115 default_params.merge(
117 :network_manager => 'nova.network.manager.FlatDHCPManager',
118 :public_interface => 'eth0',
121 'flat_network_bridge' => 'br400',
122 'force_dhcp_release' => false,
123 'flat_injected' => true,
124 'dhcp_domain' => 'not-novalocal',
125 'dhcpbridge' => '/tmp/bridge',
126 'dhcpbridge_flagfile' => '/tmp/file',
131 it { should contain_class('nova::network::flatdhcp').with(
132 :fixed_range => '10.0.0.0/32',
133 :public_interface => 'eth0',
134 :flat_interface => 'eth1',
135 :flat_network_bridge => 'br400',
136 #:force_dhcp_release => false,
137 :flat_injected => true,
138 :dhcp_domain => 'not-novalocal',
139 :dhcpbridge => '/tmp/bridge',
140 :dhcpbridge_flagfile => '/tmp/file'
145 describe 'when configuring flatmanager' do
147 default_params.merge(:network_manager => 'nova.network.manager.FlatManager')
149 it { should contain_class('nova::network::flat').with(
150 :fixed_range => '10.0.0.0/32',
151 :public_interface => nil,
152 :flat_interface => 'eth1',
153 :flat_network_bridge => 'br100'
155 describe 'when overriding flat network params' do
157 default_params.merge(
159 :network_manager => 'nova.network.manager.FlatManager',
160 :public_interface => 'eth0',
161 :config_overrides => {'flat_network_bridge' => 'br400' }
165 it { should contain_class('nova::network::flat').with(
166 :public_interface => 'eth0',
167 :flat_network_bridge => 'br400'
171 describe 'when configuring vlan' do
173 default_params.merge(:network_manager => 'nova.network.manager.VlanManager')
175 it { should contain_class('nova::network::vlan').with(
176 :fixed_range => '10.0.0.0/32',
177 :public_interface => nil,
178 :vlan_interface => 'eth1',
179 :force_dhcp_release => true,
180 :dhcp_domain => 'novalocal',
181 :dhcpbridge => '/usr/bin/nova-dhcpbridge',
182 :dhcpbridge_flagfile => '/etc/nova/nova.conf'
184 describe 'when overriding parameters' do
186 default_params.merge(
194 describe 'with package version' do
196 default_params.merge(:ensure_package => '2012.1-2')
198 it { should contain_package('nova-network').with(
199 'ensure' => '2012.1-2'
203 describe 'on rhel' do
205 { :osfamily => 'RedHat' }
207 it { should contain_service('nova-network').with(
208 'name' => 'openstack-nova-network',
209 'ensure' => 'stopped',
213 it { should contain_package('nova-network').with_name('openstack-nova-network') }