From 817fc849f24420d1edbfe9eaebf4e54508227308 Mon Sep 17 00:00:00 2001 From: salmank Date: Fri, 5 Feb 2016 00:14:18 +0000 Subject: [PATCH] Change of PLUMgrid plugin package and addition of new parameters. The neutron-plugin-plumgrid package has been deprecated and new package named networking-plumgrid is now used to provide the same services. There are some new paramters added to support some new features. Doc-ref: https://wiki.openstack.org/wiki/PLUMgrid-Neutron This change needs to be cherry-picked to stable/liberty as well. Change-Id: Ie5eb365069d4ad225afb9823cfa6b365299490a7 --- manifests/params.pp | 4 +- manifests/plugins/plumgrid.pp | 43 +++++++++++++++++-- spec/classes/neutron_plugins_plumgrid_spec.rb | 9 +++- 3 files changed, 49 insertions(+), 7 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index 41f75326e..c8bb3291b 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -42,7 +42,7 @@ class neutron::params { $midonet_server_package = 'python-neutron-plugin-midonet' $midonet_config_file = '/etc/neutron/plugins/midonet/midonet.ini' - $plumgrid_plugin_package = 'openstack-neutron-plumgrid' + $plumgrid_plugin_package = 'networking-plumgrid' $plumgrid_pythonlib_package = 'plumgrid-pythonlib' $plumgrid_config_file = '/etc/neutron/plugins/plumgrid/plumgrid.ini' @@ -133,7 +133,7 @@ class neutron::params { $midonet_server_package = 'python-neutron-plugin-midonet' $midonet_config_file = '/etc/neutron/plugins/midonet/midonet.ini' - $plumgrid_plugin_package = 'neutron-plugin-plumgrid' + $plumgrid_plugin_package = 'networking-plumgrid' $plumgrid_pythonlib_package = 'plumgrid-pythonlib' $plumgrid_config_file = '/etc/neutron/plugins/plumgrid/plumgrid.ini' diff --git a/manifests/plugins/plumgrid.pp b/manifests/plugins/plumgrid.pp index 043a07221..e713bd135 100644 --- a/manifests/plugins/plumgrid.pp +++ b/manifests/plugins/plumgrid.pp @@ -38,6 +38,10 @@ # Authorization protocol # Defaults to http # +# [*identity_version*] +# Keystone identity version +# Defaults to v2.0 +# # [*nova_metadata_ip*] # Nova metadata IP # Defaults to 127.0.0.1 @@ -50,8 +54,28 @@ # Neutron metadata shared secret key # Defaults to $::os_service_default # +# [*connector_type*] +# Neutron network connector type +# Defaults to distributed +# +# [*l2gateway_vendor*] +# L2 gateway vendor +# Defaults to $::os_service_default +# +# [*l2gateway_sw_username*] +# L2 gateway username +# Defaults to $::os_service_default +# +# [*l2gateway_sw_password*] +# L2 gateway password +# Defaults to $::os_service_default +# +# [*plumlib_package_ensure*] +# (optional) Ensure state for plumlib package. +# Defaults to 'present'. +# # [*package_ensure*] -# (optional) Ensure state for package. +# (optional) Ensure state for plugin package. # Defaults to 'present'. # class neutron::plugins::plumgrid ( @@ -64,9 +88,15 @@ class neutron::plugins::plumgrid ( $admin_password = $::os_service_default, $controller_priv_host = '127.0.0.1', $auth_protocol = 'http', + $identity_version = 'v2.0', $nova_metadata_ip = '127.0.0.1', $nova_metadata_port = '8775', $metadata_proxy_shared_secret = $::os_service_default, + $connector_type = 'distributed', + $l2gateway_vendor = $::os_service_default, + $l2gateway_sw_username = $::os_service_default, + $l2gateway_sw_password = $::os_service_default, + $plumlib_package_ensure = 'present', $package_ensure = 'present' ) { @@ -74,6 +104,7 @@ class neutron::plugins::plumgrid ( Neutron_plugin_plumgrid<||> ~> Service['neutron-server'] Neutron_plumlib_plumgrid<||> ~> Service['neutron-server'] + Neutron_plugin_plumgrid<||> ~> Exec<| title == 'neutron-db-sync' |> ensure_resource('file', '/etc/neutron/plugins/plumgrid', { ensure => directory, @@ -98,10 +129,9 @@ class neutron::plugins::plumgrid ( } package { 'neutron-plumlib-plumgrid': - ensure => $package_ensure, + ensure => $plumlib_package_ensure, name => $::neutron::params::plumgrid_pythonlib_package } - warning('neutron-plumlib-plumgrid package management is deprecated, it will be dropped in a future release.') if $::osfamily == 'Debian' { file_line { '/etc/default/neutron-server:NEUTRON_PLUGIN_CONFIG': @@ -133,12 +163,17 @@ class neutron::plugins::plumgrid ( neutron_plumlib_plumgrid { 'keystone_authtoken/admin_user' : value => 'admin'; 'keystone_authtoken/admin_password': value => $admin_password, secret =>true; - 'keystone_authtoken/auth_uri': value => "${auth_protocol}://${controller_priv_host}:35357/v2.0"; + 'keystone_authtoken/auth_uri': value => "${auth_protocol}://${controller_priv_host}:35357/${identity_version}"; 'keystone_authtoken/admin_tenant_name': value => 'admin'; + 'keystone_authtoken/identity_version': value => $identity_version; 'PLUMgridMetadata/enable_pg_metadata' : value => 'True'; 'PLUMgridMetadata/metadata_mode': value => 'local'; 'PLUMgridMetadata/nova_metadata_ip': value => $nova_metadata_ip; 'PLUMgridMetadata/nova_metadata_port': value => $nova_metadata_port; 'PLUMgridMetadata/metadata_proxy_shared_secret': value => $metadata_proxy_shared_secret; + 'ConnectorType/connector_type': value => $connector_type; + 'l2gateway/vendor': value => $l2gateway_vendor; + 'l2gateway/sw_username': value => $l2gateway_sw_username; + 'l2gateway/sw_password': value => $l2gateway_sw_password; } } diff --git a/spec/classes/neutron_plugins_plumgrid_spec.rb b/spec/classes/neutron_plugins_plumgrid_spec.rb index 209d4fe2a..63976f44e 100644 --- a/spec/classes/neutron_plugins_plumgrid_spec.rb +++ b/spec/classes/neutron_plugins_plumgrid_spec.rb @@ -15,8 +15,10 @@ describe 'neutron::plugins::plumgrid' do :connection => 'http://127.0.0.1:35357/v2.0', :controller_priv_host => '127.0.0.1', :auth_protocol => 'http', + :identity_version => 'v2.0', :nova_metadata_ip => '127.0.0.1', :nova_metadata_port => '8775', + :connector_type => 'distributed', } end @@ -61,13 +63,18 @@ describe 'neutron::plugins::plumgrid' do is_expected.to contain_neutron_plumlib_plumgrid('keystone_authtoken/admin_user').with_value('admin') is_expected.to contain_neutron_plumlib_plumgrid('keystone_authtoken/admin_password').with_value('') is_expected.to contain_neutron_plumlib_plumgrid('keystone_authtoken/admin_tenant_name').with_value('admin') - auth_uri = params[:auth_protocol] + "://" + params[:controller_priv_host] + ":" + "35357/v2.0"; + auth_uri = params[:auth_protocol] + "://" + params[:controller_priv_host] + ":" + "35357/" + params[:identity_version]; is_expected.to contain_neutron_plumlib_plumgrid('keystone_authtoken/auth_uri').with_value(auth_uri) + is_expected.to contain_neutron_plumlib_plumgrid('keystone_authtoken/identity_version').with_value(params[:identity_version]) is_expected.to contain_neutron_plumlib_plumgrid('PLUMgridMetadata/enable_pg_metadata').with_value('True') is_expected.to contain_neutron_plumlib_plumgrid('PLUMgridMetadata/metadata_mode').with_value('local') is_expected.to contain_neutron_plumlib_plumgrid('PLUMgridMetadata/nova_metadata_ip').with_value(params[:nova_metadata_ip]) is_expected.to contain_neutron_plumlib_plumgrid('PLUMgridMetadata/nova_metadata_port').with_value(params[:nova_metadata_port]) is_expected.to contain_neutron_plumlib_plumgrid('PLUMgridMetadata/metadata_proxy_shared_secret').with_value('') + is_expected.to contain_neutron_plumlib_plumgrid('ConnectorType/connector_type').with_value('distributed') + is_expected.to contain_neutron_plumlib_plumgrid('l2gateway/vendor').with_value('') + is_expected.to contain_neutron_plumlib_plumgrid('l2gateway/sw_username').with_value('') + is_expected.to contain_neutron_plumlib_plumgrid('l2gateway/sw_password').with_value('') end end