From ca7b2423595aa110efc05471e8ee327ab6ce016b Mon Sep 17 00:00:00 2001 From: Lokesh Jain Date: Fri, 28 Jul 2017 17:38:17 -0400 Subject: [PATCH] Addition of Nuage configuration to neutron-server conf directory Added nuage configuration file under neutron-server configuration directory so that neutron-server can pick up the configuration file on startup. This change creates nuage_plugin.conf symlink under the folder /etc/neutron/conf.d/neutron-server Change-Id: I41aad89ff982657c6f0ccc2076bc322484b37d73 (cherry picked from commit a87919c463749e371422c896b1ae6faa9694447b) --- manifests/plugins/ml2/nuage.pp | 16 ++++++++++++++ ...d-nuage-neutron-conf-6917ecfef840fe2e.yaml | 6 +++++ .../classes/neutron_plugins_ml2_nuage_spec.rb | 22 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 releasenotes/notes/add-nuage-neutron-conf-6917ecfef840fe2e.yaml diff --git a/manifests/plugins/ml2/nuage.pp b/manifests/plugins/ml2/nuage.pp index 467208d89..197ce83a4 100644 --- a/manifests/plugins/ml2/nuage.pp +++ b/manifests/plugins/ml2/nuage.pp @@ -60,6 +60,22 @@ class neutron::plugins::ml2::nuage ( tag => 'neutron-config-file', } + if $::osfamily == 'Debian' { + file_line { 'neutron-server-DAEMON_ARGS': + path => '/etc/default/neutron-server', + line => 'DAEMON_ARGS="$DAEMON_ARGS --config-file /etc/neutron/plugins/nuage/plugin.ini"', + } + } + + if $::osfamily == 'Redhat' { + file { '/etc/neutron/conf.d/neutron-server/nuage_plugin.conf': + ensure => link, + require => File['/etc/neutron/plugins/nuage/plugin.ini'], + target => $::neutron::params::nuage_config_file, + tag => 'neutron-config-file', + } + } + file { '/etc/neutron/plugins/nuage/plugin.ini': ensure => file, owner => 'root', diff --git a/releasenotes/notes/add-nuage-neutron-conf-6917ecfef840fe2e.yaml b/releasenotes/notes/add-nuage-neutron-conf-6917ecfef840fe2e.yaml new file mode 100644 index 000000000..59f37f516 --- /dev/null +++ b/releasenotes/notes/add-nuage-neutron-conf-6917ecfef840fe2e.yaml @@ -0,0 +1,6 @@ +--- +features: + - Added nuage configuration file under neutron-server configuration + directory so that neutron-server can pick up the configuration file on + startup. This change creates nuage_plugin.conf symlink under the folder + /etc/neutron/conf.d/neutron-server. diff --git a/spec/classes/neutron_plugins_ml2_nuage_spec.rb b/spec/classes/neutron_plugins_ml2_nuage_spec.rb index a2447707c..c6cdf0619 100644 --- a/spec/classes/neutron_plugins_ml2_nuage_spec.rb +++ b/spec/classes/neutron_plugins_ml2_nuage_spec.rb @@ -72,6 +72,13 @@ describe 'neutron::plugins::ml2::nuage' do it_raises 'a Puppet::Error', /Nuage should be the mechanism driver in neutron.conf/ end + it 'should have a nuage plugin conf file' do + is_expected.to contain_file(platform_params[:nuage_conf_file]).with( + :ensure => platform_params[:nuage_file_ensure], + :target => platform_params[:nuage_file_target] + ) + end + context 'configure ml2 nuage with wrong mechanism_driver configuration' do let :pre_condition do "class { '::neutron::plugins::ml2': @@ -90,6 +97,21 @@ describe 'neutron::plugins::ml2::nuage' do facts.merge!(OSDefaults.get_facts()) end + let (:platform_params) do + case facts[:osfamily] + when 'RedHat' + { :nuage_conf_file => '/etc/neutron/conf.d/neutron-server/nuage_plugin.conf', + :nuage_file_ensure => 'link', + :nuage_file_target => '/etc/neutron/plugins/nuage/plugin.ini' + } + when 'Debian' + { :nuage_conf_file => '/etc/default/neutron-server', + :nuage_file_ensure => 'present', + :nuage_file_target => nil + } + end + end + it_configures 'neutron plugin ml2 nuage' end end