diff --git a/manifests/network.pp b/manifests/network.pp index 86415f9b..918caeb3 100644 --- a/manifests/network.pp +++ b/manifests/network.pp @@ -39,14 +39,24 @@ # (optional) Which interface we connect to create overlay tunnels. # Default value in params # +# [*provider_vlan_ranges*] +# (optionnal) VLAN range for provider networks +# Default value in params +# +# [*provider_bridge_mappings*] +# (optionnal) Bridge mapping for provider networks +# Default value in params +# class cloud::network( - $verbose = $os_params::verbose, - $debug = $os_params::debug, - $rabbit_hosts = $os_params::rabbit_hosts, - $rabbit_password = $os_params::rabbit_password, - $tunnel_eth = $os_params::tunnel_eth, - $api_eth = $os_params::api_eth + $verbose = $os_params::verbose, + $debug = $os_params::debug, + $rabbit_hosts = $os_params::rabbit_hosts, + $rabbit_password = $os_params::rabbit_password, + $tunnel_eth = $os_params::tunnel_eth, + $api_eth = $os_params::api_eth, + $provider_vlan_ranges = $os_params::provider_vlan_ranges, + $provider_bridge_mappings = $os_params::provider_bridge_mappings ) { class { 'neutron': @@ -65,15 +75,18 @@ class cloud::network( class { 'neutron::agents::ovs': enable_tunneling => true, + tunnel_types => ['gre'], + bridge_mappings => $provider_bridge_mappings, local_ip => $tunnel_eth } class { 'neutron::plugins::ml2': - type_drivers => ['gre'], - tenant_network_types => ['gre'], - mechanism_drivers => ['openvswitch'], - tunnel_id_ranges => ['1:10000'], - enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' + type_drivers => ['gre','vlan'], + tenant_network_types => ['gre'], + network_vlan_ranges => $provider_vlan_ranges, + tunnel_id_ranges => ['1:10000'], + mechanism_drivers => ['openvswitch','l2population'], + enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' } } diff --git a/spec/classes/cloud_network_compute_spec.rb b/spec/classes/cloud_network_compute_spec.rb index 8da7bc5e..7a827596 100644 --- a/spec/classes/cloud_network_compute_spec.rb +++ b/spec/classes/cloud_network_compute_spec.rb @@ -24,12 +24,14 @@ describe 'cloud::network::compute' do let :pre_condition do "class { 'cloud::network': - rabbit_hosts => ['10.0.0.1'], - rabbit_password => 'secrete', - tunnel_eth => '10.0.1.1', - api_eth => '10.0.0.1', - verbose => true, - debug => true }" + rabbit_hosts => ['10.0.0.1'], + rabbit_password => 'secrete', + tunnel_eth => '10.0.1.1', + api_eth => '10.0.0.1', + provider_vlan_ranges => ['physnet1:1000:2999'], + provider_bridge_mappings => ['physnet1:br-eth1'], + verbose => true, + debug => true }" end let :params do @@ -55,13 +57,16 @@ describe 'cloud::network::compute' do ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, + :tunnel_types => ['gre'], + :bridge_mappings => ['physnet1:br-eth1'], :local_ip => '10.0.1.1' ) should contain_class('neutron::plugins::ml2').with( - :type_drivers => ['gre'], + :type_drivers => ['gre','vlan'], :tenant_network_types => ['gre'], - :mechanism_drivers => ['openvswitch'], + :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], + :network_vlan_ranges => ['physnet1:1000:2999'], :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' ) end diff --git a/spec/classes/cloud_network_controller_spec.rb b/spec/classes/cloud_network_controller_spec.rb index 7c6886e0..32ee1d16 100644 --- a/spec/classes/cloud_network_controller_spec.rb +++ b/spec/classes/cloud_network_controller_spec.rb @@ -24,12 +24,14 @@ describe 'cloud::network::controller' do let :pre_condition do "class { 'cloud::network': - rabbit_hosts => ['10.0.0.1'], - rabbit_password => 'secrete', - tunnel_eth => '10.0.1.1', - api_eth => '10.0.0.1', - verbose => true, - debug => true }" + rabbit_hosts => ['10.0.0.1'], + rabbit_password => 'secrete', + tunnel_eth => '10.0.1.1', + api_eth => '10.0.0.1', + provider_vlan_ranges => ['physnet1:1000:2999'], + provider_bridge_mappings => ['physnet1:br-eth1'], + verbose => true, + debug => true }" end let :params do @@ -59,13 +61,16 @@ describe 'cloud::network::controller' do ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, + :tunnel_types => ['gre'], + :bridge_mappings => ['physnet1:br-eth1'], :local_ip => '10.0.1.1' ) should contain_class('neutron::plugins::ml2').with( - :type_drivers => ['gre'], + :type_drivers => ['gre','vlan'], :tenant_network_types => ['gre'], - :mechanism_drivers => ['openvswitch'], + :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], + :network_vlan_ranges => ['physnet1:1000:2999'], :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' ) end diff --git a/spec/classes/cloud_network_dhcp_spec.rb b/spec/classes/cloud_network_dhcp_spec.rb index 636e463e..ff01877f 100644 --- a/spec/classes/cloud_network_dhcp_spec.rb +++ b/spec/classes/cloud_network_dhcp_spec.rb @@ -24,12 +24,14 @@ describe 'cloud::network::dhcp' do let :pre_condition do "class { 'cloud::network': - rabbit_hosts => ['10.0.0.1'], - rabbit_password => 'secrete', - tunnel_eth => '10.0.1.1', - api_eth => '10.0.0.1', - verbose => true, - debug => true }" + rabbit_hosts => ['10.0.0.1'], + rabbit_password => 'secrete', + tunnel_eth => '10.0.1.1', + api_eth => '10.0.0.1', + provider_vlan_ranges => ['physnet1:1000:2999'], + provider_bridge_mappings => ['physnet1:br-eth1'], + verbose => true, + debug => true }" end let :params do @@ -53,13 +55,16 @@ describe 'cloud::network::dhcp' do ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, + :tunnel_types => ['gre'], + :bridge_mappings => ['physnet1:br-eth1'], :local_ip => '10.0.1.1' ) should contain_class('neutron::plugins::ml2').with( - :type_drivers => ['gre'], + :type_drivers => ['gre','vlan'], :tenant_network_types => ['gre'], - :mechanism_drivers => ['openvswitch'], + :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], + :network_vlan_ranges => ['physnet1:1000:2999'], :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' ) end diff --git a/spec/classes/cloud_network_l3_spec.rb b/spec/classes/cloud_network_l3_spec.rb index 151593f5..edb383b7 100644 --- a/spec/classes/cloud_network_l3_spec.rb +++ b/spec/classes/cloud_network_l3_spec.rb @@ -24,12 +24,14 @@ describe 'cloud::network::l3' do let :pre_condition do "class { 'cloud::network': - rabbit_hosts => ['10.0.0.1'], - rabbit_password => 'secrete', - tunnel_eth => '10.0.1.1', - api_eth => '10.0.0.1', - verbose => true, - debug => true }" + rabbit_hosts => ['10.0.0.1'], + rabbit_password => 'secrete', + tunnel_eth => '10.0.1.1', + api_eth => '10.0.0.1', + provider_vlan_ranges => ['physnet1:1000:2999'], + provider_bridge_mappings => ['physnet1:br-eth1'], + verbose => true, + debug => true }" end let :params do @@ -54,13 +56,16 @@ describe 'cloud::network::l3' do ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, + :tunnel_types => ['gre'], + :bridge_mappings => ['physnet1:br-eth1'], :local_ip => '10.0.1.1' ) should contain_class('neutron::plugins::ml2').with( - :type_drivers => ['gre'], + :type_drivers => ['gre','vlan'], :tenant_network_types => ['gre'], - :mechanism_drivers => ['openvswitch'], + :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], + :network_vlan_ranges => ['physnet1:1000:2999'], :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' ) end diff --git a/spec/classes/cloud_network_lbaas_spec.rb b/spec/classes/cloud_network_lbaas_spec.rb index e69e0c27..1fc3b8a6 100644 --- a/spec/classes/cloud_network_lbaas_spec.rb +++ b/spec/classes/cloud_network_lbaas_spec.rb @@ -24,12 +24,14 @@ describe 'cloud::network::lbaas' do let :pre_condition do "class { 'cloud::network': - rabbit_hosts => ['10.0.0.1'], - rabbit_password => 'secrete', - tunnel_eth => '10.0.1.1', - api_eth => '10.0.0.1', - verbose => true, - debug => true }" + rabbit_hosts => ['10.0.0.1'], + rabbit_password => 'secrete', + tunnel_eth => '10.0.1.1', + api_eth => '10.0.0.1', + provider_vlan_ranges => ['physnet1:1000:2999'], + provider_bridge_mappings => ['physnet1:br-eth1'], + verbose => true, + debug => true }" end let :params do @@ -53,13 +55,16 @@ describe 'cloud::network::lbaas' do ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, + :tunnel_types => ['gre'], + :bridge_mappings => ['physnet1:br-eth1'], :local_ip => '10.0.1.1' ) should contain_class('neutron::plugins::ml2').with( - :type_drivers => ['gre'], + :type_drivers => ['gre','vlan'], :tenant_network_types => ['gre'], - :mechanism_drivers => ['openvswitch'], + :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], + :network_vlan_ranges => ['physnet1:1000:2999'], :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' ) end diff --git a/spec/classes/cloud_network_metadata_spec.rb b/spec/classes/cloud_network_metadata_spec.rb index 27688356..8a5e4505 100644 --- a/spec/classes/cloud_network_metadata_spec.rb +++ b/spec/classes/cloud_network_metadata_spec.rb @@ -24,12 +24,14 @@ describe 'cloud::network::metadata' do let :pre_condition do "class { 'cloud::network': - rabbit_hosts => ['10.0.0.1'], - rabbit_password => 'secrete', - tunnel_eth => '10.0.1.1', - api_eth => '10.0.0.1', - verbose => true, - debug => true }" + rabbit_hosts => ['10.0.0.1'], + rabbit_password => 'secrete', + tunnel_eth => '10.0.1.1', + api_eth => '10.0.0.1', + provider_vlan_ranges => ['physnet1:1000:2999'], + provider_bridge_mappings => ['physnet1:br-eth1'], + verbose => true, + debug => true }" end let :params do @@ -60,13 +62,16 @@ describe 'cloud::network::metadata' do ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, + :tunnel_types => ['gre'], + :bridge_mappings => ['physnet1:br-eth1'], :local_ip => '10.0.1.1' ) should contain_class('neutron::plugins::ml2').with( - :type_drivers => ['gre'], + :type_drivers => ['gre','vlan'], :tenant_network_types => ['gre'], - :mechanism_drivers => ['openvswitch'], + :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], + :network_vlan_ranges => ['physnet1:1000:2999'], :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' ) end diff --git a/spec/classes/cloud_network_vpn_spec.rb b/spec/classes/cloud_network_vpn_spec.rb index 2ada0f39..2c9fb1bc 100644 --- a/spec/classes/cloud_network_vpn_spec.rb +++ b/spec/classes/cloud_network_vpn_spec.rb @@ -24,12 +24,14 @@ describe 'cloud::network::vpn' do let :pre_condition do "class { 'cloud::network': - rabbit_hosts => ['10.0.0.1'], - rabbit_password => 'secrete', - tunnel_eth => '10.0.1.1', - api_eth => '10.0.0.1', - verbose => true, - debug => true }" + rabbit_hosts => ['10.0.0.1'], + rabbit_password => 'secrete', + tunnel_eth => '10.0.1.1', + api_eth => '10.0.0.1', + provider_vlan_ranges => ['physnet1:1000:2999'], + provider_bridge_mappings => ['physnet1:br-eth1'], + verbose => true, + debug => true }" end it 'configure neutron common' do @@ -49,13 +51,16 @@ describe 'cloud::network::vpn' do ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, + :tunnel_types => ['gre'], + :bridge_mappings => ['physnet1:br-eth1'], :local_ip => '10.0.1.1' ) should contain_class('neutron::plugins::ml2').with( - :type_drivers => ['gre'], + :type_drivers => ['gre','vlan'], :tenant_network_types => ['gre'], - :mechanism_drivers => ['openvswitch'], + :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], + :network_vlan_ranges => ['physnet1:1000:2999'], :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' ) end