8a1cd803f7
Based on the change in Keystone Install Guide [1], this patch replace port 35357 with 5000 for "auth_url". For more details, please check similar changes which have been done on other projects: Nova [2], Neutron [3], Cinder [4], Glance [5]. [1] https://review.openstack.org/#/c/541857 [2] https://review.openstack.org/#/c/562812 [3] https://review.openstack.org/#/c/566491 [4] https://review.openstack.org/#/c/565464 [5] https://review.openstack.org/#/c/558932 Change-Id: Icc0060e5df9dc3d0bc6a29fc8249ed3b37435b9d
198 lines
6.3 KiB
Puppet
198 lines
6.3 KiB
Puppet
# This class installs and configures Plumgrid Neutron Plugin.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*director_server*]
|
|
# IP address of the PLUMgrid Director Server
|
|
# Defaults to 127.0.0.1
|
|
#
|
|
# [*director_server_port*]
|
|
# Port of the PLUMgrid Director Server.
|
|
# Defaults to 443
|
|
#
|
|
# [*username*]
|
|
# PLUMgrid platform username
|
|
# Defaults to $::os_service_default
|
|
#
|
|
# [*password*]
|
|
# PLUMgrid platform password
|
|
# Defaults to $::os_service_default
|
|
#
|
|
# [*servertimeout*]
|
|
# Request timeout duration (seconds) to PLUMgrid paltform
|
|
# Defaults to 99
|
|
#
|
|
# [*connection*]
|
|
# Database connection
|
|
# Defaults to http://127.0.0.1:5000/v2.0
|
|
#
|
|
# [*admin_password*]
|
|
# Keystone admin password
|
|
# Defaults to $::os_service_default
|
|
#
|
|
# [*controller_priv_host*]
|
|
# Controller private host IP
|
|
# Defaults to 127.0.0.1
|
|
#
|
|
# [*auth_protocol*]
|
|
# Authorization protocol
|
|
# Defaults to http
|
|
#
|
|
# [*identity_version*]
|
|
# Keystone identity version
|
|
# Defaults to v3
|
|
#
|
|
# [*user_domain_name*]
|
|
# Keystone user domain name
|
|
# Defaults to Default
|
|
#
|
|
# [*nova_metadata_ip*]
|
|
# Nova metadata IP
|
|
# Defaults to 127.0.0.1
|
|
#
|
|
# [*nova_metadata_host*]
|
|
# Nova metadata host
|
|
# Defaults to 127.0.0.1
|
|
#
|
|
# [*nova_metadata_port*]
|
|
# Nova metadata port
|
|
# Defaults to 8775
|
|
#
|
|
# [*nova_metadata_subnet*]
|
|
# Nova metadata subnet
|
|
# Defaults to 127.0.0.1/24
|
|
#
|
|
# [*metadata_proxy_shared_secret*]
|
|
# 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 plugin package.
|
|
# Defaults to 'present'.
|
|
#
|
|
# [*purge_config*]
|
|
# (optional) Whether to set only the specified config options
|
|
# in the plumgrid config.
|
|
# Defaults to false.
|
|
#
|
|
class neutron::plugins::plumgrid (
|
|
$director_server = '127.0.0.1',
|
|
$director_server_port = '443',
|
|
$username = $::os_service_default,
|
|
$password = $::os_service_default,
|
|
$servertimeout = '99',
|
|
$connection = 'http://127.0.0.1:5000/v2.0',
|
|
$admin_password = $::os_service_default,
|
|
$controller_priv_host = '127.0.0.1',
|
|
$auth_protocol = 'http',
|
|
$identity_version = 'v3',
|
|
$user_domain_name = 'Default',
|
|
$nova_metadata_ip = '127.0.0.1',
|
|
$nova_metadata_host = '127.0.0.1',
|
|
$nova_metadata_port = '8775',
|
|
$nova_metadata_subnet = '127.0.0.1/24',
|
|
$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',
|
|
$purge_config = false,
|
|
) {
|
|
|
|
include ::neutron::deps
|
|
include ::neutron::params
|
|
|
|
ensure_resource('file', '/etc/neutron/plugins/plumgrid', {
|
|
ensure => directory,
|
|
owner => 'root',
|
|
group => 'neutron',
|
|
mode => '0640'}
|
|
)
|
|
|
|
package { 'neutron-plugin-plumgrid':
|
|
ensure => $package_ensure,
|
|
name => $::neutron::params::plumgrid_plugin_package
|
|
}
|
|
|
|
package { 'neutron-plumlib-plumgrid':
|
|
ensure => $plumlib_package_ensure,
|
|
name => $::neutron::params::plumgrid_pythonlib_package
|
|
}
|
|
|
|
if $::osfamily == 'Debian' {
|
|
file_line { '/etc/default/neutron-server:NEUTRON_PLUGIN_CONFIG':
|
|
path => '/etc/default/neutron-server',
|
|
match => '^NEUTRON_PLUGIN_CONFIG=(.*)$',
|
|
line => "NEUTRON_PLUGIN_CONFIG=${::neutron::params::plumgrid_config_file}",
|
|
tag => 'neutron-file-line',
|
|
}
|
|
}
|
|
|
|
if $::osfamily == 'Redhat' {
|
|
file { '/etc/neutron/plugin.ini':
|
|
ensure => link,
|
|
target => $::neutron::params::plumgrid_config_file,
|
|
tag => 'neutron-config-file',
|
|
}
|
|
}
|
|
|
|
resources { 'neutron_plugin_plumgrid':
|
|
purge => $purge_config,
|
|
}
|
|
|
|
resources { 'neutron_plumlib_plumgrid':
|
|
purge => $purge_config,
|
|
}
|
|
|
|
neutron_plugin_plumgrid {
|
|
'PLUMgridDirector/director_server': value => $director_server;
|
|
'PLUMgridDirector/director_server_port': value => $director_server_port;
|
|
'PLUMgridDirector/username': value => $username;
|
|
'PLUMgridDirector/password': value => $password, secret =>true;
|
|
'PLUMgridDirector/servertimeout': value => $servertimeout;
|
|
'database/connection': value => $connection;
|
|
'l2gateway/vendor': value => $l2gateway_vendor;
|
|
'l2gateway/sw_username': value => $l2gateway_sw_username;
|
|
'l2gateway/sw_password': value => $l2gateway_sw_password, secret =>true;
|
|
}
|
|
|
|
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}:5000/${identity_version}";
|
|
'keystone_authtoken/admin_tenant_name': value => 'admin';
|
|
'keystone_authtoken/identity_version': value => $identity_version;
|
|
'keystone_authtoken/user_domain_name': value => $user_domain_name;
|
|
'PLUMgridMetadata/enable_pg_metadata' : value => 'True';
|
|
'PLUMgridMetadata/metadata_mode': value => 'local';
|
|
'PLUMgridMetadata/nova_metadata_ip': value => $nova_metadata_ip;
|
|
'PLUMgridMetadata/nova_metadata_host': value => $nova_metadata_host;
|
|
'PLUMgridMetadata/nova_metadata_port': value => $nova_metadata_port;
|
|
'PLUMgridMetadata/nova_metadata_subnet': value => $nova_metadata_subnet;
|
|
'PLUMgridMetadata/metadata_proxy_shared_secret': value => $metadata_proxy_shared_secret, secret =>true;
|
|
'ConnectorType/connector_type': value => $connector_type;
|
|
}
|
|
}
|