3 describe 'nova::network::neutron' do
6 { :neutron_auth_strategy => 'keystone',
7 :neutron_url => 'http://127.0.0.1:9696',
8 :neutron_url_timeout => '30',
9 :neutron_admin_tenant_name => 'services',
10 :neutron_default_tenant_id => 'default',
11 :neutron_region_name => 'RegionOne',
12 :neutron_admin_username => 'neutron',
13 :neutron_admin_auth_url => 'http://127.0.0.1:35357/v2.0',
14 :neutron_ovs_bridge => 'br-int',
15 :neutron_extension_sync_interval => '600',
16 :security_group_api => 'neutron',
17 :firewall_driver => 'nova.virt.firewall.NoopFirewallDriver',
18 :vif_plugging_is_fatal => true,
19 :vif_plugging_timeout => '300',
20 :dhcp_domain => 'novalocal'
25 { :neutron_admin_password => 's3cr3t' }
29 context 'with required parameters' do
30 it 'configures neutron endpoint in nova.conf' do
31 should contain_nova_config('neutron/admin_password').with_value(params[:neutron_admin_password]).with_secret(true)
32 should contain_nova_config('DEFAULT/network_api_class').with_value('nova.network.neutronv2.api.API')
33 should contain_nova_config('DEFAULT/dhcp_domain').with_value(default_params[:dhcp_domain])
34 should contain_nova_config('neutron/auth_strategy').with_value(default_params[:neutron_auth_strategy])
35 should contain_nova_config('neutron/url').with_value(default_params[:neutron_url])
36 should contain_nova_config('neutron/url_timeout').with_value(default_params[:neutron_url_timeout])
37 should contain_nova_config('neutron/admin_tenant_name').with_value(default_params[:neutron_admin_tenant_name])
38 should contain_nova_config('neutron/default_tenant_id').with_value(default_params[:neutron_default_tenant_id])
39 should contain_nova_config('neutron/region_name').with_value(default_params[:neutron_region_name])
40 should contain_nova_config('neutron/admin_username').with_value(default_params[:neutron_admin_username])
41 should contain_nova_config('neutron/admin_auth_url').with_value(default_params[:neutron_admin_auth_url])
42 should contain_nova_config('neutron/extension_sync_interval').with_value(default_params[:neutron_extension_sync_interval])
44 it 'configures Nova to use Neutron Bridge Security Groups and Firewall' do
45 should contain_nova_config('DEFAULT/firewall_driver').with_value(default_params[:firewall_driver])
46 should contain_nova_config('DEFAULT/security_group_api').with_value(default_params[:security_group_api])
47 should contain_nova_config('neutron/ovs_bridge').with_value(default_params[:neutron_ovs_bridge])
49 it 'configures neutron vif plugging events in nova.conf' do
50 should contain_nova_config('DEFAULT/vif_plugging_is_fatal').with_value(default_params[:vif_plugging_is_fatal])
51 should contain_nova_config('DEFAULT/vif_plugging_timeout').with_value(default_params[:vif_plugging_timeout])
55 context 'when overriding class parameters' do
58 :neutron_url => 'http://10.0.0.1:9696',
59 :neutron_url_timeout => '30',
60 :neutron_admin_tenant_name => 'openstack',
61 :neutron_default_tenant_id => 'default',
62 :neutron_region_name => 'RegionTwo',
63 :neutron_admin_username => 'neutron2',
64 :neutron_admin_auth_url => 'http://10.0.0.1:35357/v2.0',
65 :network_api_class => 'network.api.class',
66 :security_group_api => 'nova',
67 :firewall_driver => 'nova.virt.firewall.IptablesFirewallDriver',
68 :neutron_ovs_bridge => 'br-int',
69 :neutron_extension_sync_interval => '600',
70 :vif_plugging_is_fatal => false,
71 :vif_plugging_timeout => '0',
76 it 'configures neutron endpoint in nova.conf' do
77 should contain_nova_config('neutron/auth_strategy').with_value(default_params[:neutron_auth_strategy])
78 should contain_nova_config('neutron/admin_password').with_value(params[:neutron_admin_password]).with_secret(true)
79 should contain_nova_config('DEFAULT/network_api_class').with_value('network.api.class')
80 should contain_nova_config('DEFAULT/dhcp_domain').with_value(params[:dhcp_domain])
81 should contain_nova_config('neutron/url').with_value(params[:neutron_url])
82 should contain_nova_config('neutron/url_timeout').with_value(params[:neutron_url_timeout])
83 should contain_nova_config('neutron/admin_tenant_name').with_value(params[:neutron_admin_tenant_name])
84 should contain_nova_config('neutron/default_tenant_id').with_value(params[:neutron_default_tenant_id])
85 should contain_nova_config('neutron/region_name').with_value(params[:neutron_region_name])
86 should contain_nova_config('neutron/admin_username').with_value(params[:neutron_admin_username])
87 should contain_nova_config('neutron/admin_auth_url').with_value(params[:neutron_admin_auth_url])
88 should contain_nova_config('neutron/extension_sync_interval').with_value(params[:neutron_extension_sync_interval])
90 it 'configures Nova to use Neutron Security Groups and Firewall' do
91 should contain_nova_config('DEFAULT/firewall_driver').with_value(params[:firewall_driver])
92 should contain_nova_config('DEFAULT/security_group_api').with_value(params[:security_group_api])
93 should contain_nova_config('neutron/ovs_bridge').with_value(params[:neutron_ovs_bridge])
95 it 'configures neutron vif plugging events in nova.conf' do
96 should contain_nova_config('DEFAULT/vif_plugging_is_fatal').with_value(params[:vif_plugging_is_fatal])
97 should contain_nova_config('DEFAULT/vif_plugging_timeout').with_value(params[:vif_plugging_timeout])