diff --git a/manifests/plugins/ml2/nuage.pp b/manifests/plugins/ml2/nuage.pp index 197ce83a4..6316ee177 100644 --- a/manifests/plugins/ml2/nuage.pp +++ b/manifests/plugins/ml2/nuage.pp @@ -39,6 +39,10 @@ # in the nuage config. # Defaults to false. # +# [*nuage_default_allow_non_ip*] +# (optional) Whether to allow non-IP traffic. +# Defaults to false. +# class neutron::plugins::ml2::nuage ( $nuage_net_partition_name, $nuage_vsd_ip, @@ -47,9 +51,10 @@ class neutron::plugins::ml2::nuage ( $nuage_vsd_organization, $nuage_base_uri_version, $nuage_cms_id, - $nuage_auth_resource = '/me', - $nuage_server_ssl = true, - $purge_config = false, + $nuage_auth_resource = '/me', + $nuage_server_ssl = true, + $purge_config = false, + $nuage_default_allow_non_ip = false, ) { include ::neutron::deps @@ -99,6 +104,7 @@ class neutron::plugins::ml2::nuage ( 'RESTPROXY/serverssl': value => $nuage_server_ssl; 'RESTPROXY/base_uri': value => "${nuage_base_uri_base}/${nuage_base_uri_version}"; 'RESTPROXY/cms_id': value => $nuage_cms_id; + 'PLUGIN/default_allow_non_ip': value => $nuage_default_allow_non_ip; } if $::neutron::core_plugin != 'ml2' or !('nuage' in $::neutron::plugins::ml2::mechanism_drivers) { diff --git a/releasenotes/notes/Add-default_allow_non_ip-parameter-70e03e7bf1927d4e.yaml b/releasenotes/notes/Add-default_allow_non_ip-parameter-70e03e7bf1927d4e.yaml new file mode 100644 index 000000000..7e6b73399 --- /dev/null +++ b/releasenotes/notes/Add-default_allow_non_ip-parameter-70e03e7bf1927d4e.yaml @@ -0,0 +1,5 @@ +--- +features: + - Non-IP traffic is allowed in L2 and L3 Domains. + The default_allow_non_ip setting determines if non-ip traffic is + allowed in Nuage specific L2 and L3 domains. diff --git a/spec/classes/neutron_plugins_ml2_nuage_spec.rb b/spec/classes/neutron_plugins_ml2_nuage_spec.rb index c6cdf0619..4457e5cc1 100644 --- a/spec/classes/neutron_plugins_ml2_nuage_spec.rb +++ b/spec/classes/neutron_plugins_ml2_nuage_spec.rb @@ -22,14 +22,15 @@ describe 'neutron::plugins::ml2::nuage' do let :params do { - :nuage_vsd_ip => %w(192.168.33.3), - :nuage_vsd_username => 'test', - :nuage_vsd_password => 'test', - :nuage_vsd_organization => 'vsd', - :nuage_net_partition_name => 'test', - :nuage_base_uri_version => 'v3.0', - :nuage_cms_id => '7488fae2-7e51-11e5-8bcf-feff819cdc9f', - :purge_config => false,} + :nuage_vsd_ip => %w(192.168.33.3), + :nuage_vsd_username => 'test', + :nuage_vsd_password => 'test', + :nuage_vsd_organization => 'vsd', + :nuage_net_partition_name => 'test', + :nuage_base_uri_version => 'v3.0', + :nuage_cms_id => '7488fae2-7e51-11e5-8bcf-feff819cdc9f', + :purge_config => false, + :nuage_default_allow_non_ip => false,} end shared_examples_for 'neutron plugin ml2 nuage' do @@ -60,6 +61,7 @@ describe 'neutron::plugins::ml2::nuage' do is_expected.to contain_neutron_plugin_nuage('RESTPROXY/server').with_value(params[:nuage_vsd_ip]) is_expected.to contain_neutron_plugin_nuage('RESTPROXY/organization').with_value(params[:nuage_vsd_organization]) is_expected.to contain_neutron_plugin_nuage('RESTPROXY/cms_id').with_value(params[:nuage_cms_id]) + is_expected.to contain_neutron_plugin_nuage('PLUGIN/default_allow_non_ip').with_value(params[:nuage_default_allow_non_ip]) end context 'configure ml2 nuage with wrong core_plugin configuration' do @@ -79,6 +81,15 @@ describe 'neutron::plugins::ml2::nuage' do ) end + context 'when allowing Non-IP' do + before :each do + params.merge!(:nuage_default_allow_non_ip => true) + end + it 'default_allow_non_ip is set to true' do + is_expected.to contain_neutron_plugin_nuage('PLUGIN/default_allow_non_ip').with_value(true) + end + end + context 'configure ml2 nuage with wrong mechanism_driver configuration' do let :pre_condition do "class { '::neutron::plugins::ml2':