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
This commit is contained in:
salmank 2016-02-05 00:14:18 +00:00
parent ee9eb9d8d5
commit 817fc849f2
3 changed files with 49 additions and 7 deletions

View File

@ -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'

View File

@ -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;
}
}

View File

@ -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('<SERVICE DEFAULT>')
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('<SERVICE DEFAULT>')
is_expected.to contain_neutron_plumlib_plumgrid('ConnectorType/connector_type').with_value('distributed')
is_expected.to contain_neutron_plumlib_plumgrid('l2gateway/vendor').with_value('<SERVICE DEFAULT>')
is_expected.to contain_neutron_plumlib_plumgrid('l2gateway/sw_username').with_value('<SERVICE DEFAULT>')
is_expected.to contain_neutron_plumlib_plumgrid('l2gateway/sw_password').with_value('<SERVICE DEFAULT>')
end
end