From 5cccc2495b8476c99dac386e88fc4c09a506b0b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Charlier?= Date: Thu, 27 Nov 2014 18:35:11 +0100 Subject: [PATCH] network: New params: tunnel_id_ranges & vni_ranges Fixes bug#731 Change-Id: I4e518662026ad19fc0bb2f5cb218132f80596a0d --- manifests/network/controller.pp | 18 ++++++++++++-- spec/classes/cloud_network_controller_spec.rb | 24 +++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/manifests/network/controller.pp b/manifests/network/controller.pp index d9999f03..ebfbb161 100644 --- a/manifests/network/controller.pp +++ b/manifests/network/controller.pp @@ -131,6 +131,16 @@ # (required) N1KV VSM (Virtual Supervisor Module) password. # Defaults to secrete # +# [*tunnel_id_ranges*] +# (optional) GRE tunnel id ranges. used by he ml2 plugin +# List of colon-separated id ranges +# Defaults to ['1:10000'] +# +# [*vni_ranges*] +# (optional) VxLan Network ID range. used by the ml2 plugin +# List of colon-separated id ranges +# Defautls to ['1:10000'] +# class cloud::network::controller( $neutron_db_host = '127.0.0.1', $neutron_db_user = 'neutron', @@ -159,6 +169,9 @@ class cloud::network::controller( $n1kv_vsm_ip = '127.0.0.1', $n1kv_vsm_password = 'secrete', $ks_keystone_admin_port = 35357, + # only needed by ml2 plugin + $tunnel_id_ranges = ['1:10000'], + $vni_ranges = ['1:10000'], ) { include 'cloud::network' @@ -184,9 +197,10 @@ class cloud::network::controller( type_drivers => $type_drivers, tenant_network_types => $tenant_network_types, network_vlan_ranges => $provider_vlan_ranges, - tunnel_id_ranges => ['1:10000'], + tunnel_id_ranges => $tunnel_id_ranges, + vni_ranges => $vni_ranges, flat_networks => $flat_networks, - mechanism_drivers => ['linuxbridge','openvswitch','l2population'], + mechanism_drivers => ['linuxbridge', 'openvswitch','l2population'], enable_security_group => true } } diff --git a/spec/classes/cloud_network_controller_spec.rb b/spec/classes/cloud_network_controller_spec.rb index 6d48ab0f..787e3b44 100644 --- a/spec/classes/cloud_network_controller_spec.rb +++ b/spec/classes/cloud_network_controller_spec.rb @@ -75,6 +75,7 @@ describe 'cloud::network::controller' do :tenant_network_types => ['gre'], :mechanism_drivers => ['linuxbridge','openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], + :vni_ranges => ['1:10000'], :network_vlan_ranges => ['physnet1:1000:2999'], :flat_networks => ['public'], :enable_security_group => true @@ -148,6 +149,29 @@ describe 'cloud::network::controller' do end end + context 'with custom ml2 parameters' do + before :each do + params.merge!( + :tenant_network_types => ['vxlan'], + :type_drivers => ['gre', 'vlan', 'flat', 'vxlan'], + :tunnel_id_ranges => ['100:300'], + :vni_ranges => ['42:51','53:69'], + ) + end + it 'contains correct parameters' do + is_expected.to contain_class('neutron::plugins::ml2').with( + :type_drivers => ['gre', 'vlan', 'flat', 'vxlan'], + :tenant_network_types => ['vxlan'], + :mechanism_drivers => ['linuxbridge', 'openvswitch','l2population'], + :tunnel_id_ranges => ['100:300'], + :vni_ranges => ['42:51','53:69'], + :network_vlan_ranges => ['physnet1:1000:2999'], + :flat_networks => ['public'], + :enable_security_group => true + ) + end + end + end context 'on Debian platforms' do