94673ed159
Change-Id: I229428feb1cb4fc7b551d2654328a8f0bb349910
111 lines
3.3 KiB
Puppet
111 lines
3.3 KiB
Puppet
#
|
|
# Configure the Nuage plugin for neutron.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*nuage_net_partition_name*]
|
|
# (required) The net partition under which the VMs will be
|
|
# seen in the VSD
|
|
#
|
|
# [*nuage_vsd_ip*]
|
|
# (required) IP address of the Virtual Services Directory
|
|
#
|
|
# [*nuage_vsd_username*]
|
|
# (required) Username to be used to log into VSD
|
|
#
|
|
# [*nuage_vsd_password*]
|
|
# (required) Password to be used to log into VSD
|
|
#
|
|
# [*nuage_vsd_organization*]
|
|
# (required) Parameter required to log into VSD
|
|
#
|
|
# [*nuage_base_uri_version*]
|
|
# (required) URI version to be used based on the VSD release
|
|
# For example v3_0
|
|
#
|
|
# [*nuage_cms_id*]
|
|
# (required) CMS ID generated by the VSD
|
|
#
|
|
# [*nuage_auth_resource*]
|
|
# (optional) The auth resource value to be use to connect
|
|
# to VSD. The default is /me
|
|
#
|
|
# [*nuage_server_ssl*]
|
|
# (optional) Flag to determine whether to use ssl connection
|
|
# to connect to VSD. The default is True
|
|
#
|
|
# [*purge_config*]
|
|
# (optional) Whether to set only the specified config options
|
|
# in the nuage config.
|
|
# Defaults to false.
|
|
#
|
|
class neutron::plugins::nuage (
|
|
$nuage_net_partition_name,
|
|
$nuage_vsd_ip,
|
|
$nuage_vsd_username,
|
|
$nuage_vsd_password,
|
|
$nuage_vsd_organization,
|
|
$nuage_base_uri_version,
|
|
$nuage_cms_id,
|
|
$nuage_auth_resource = '/me',
|
|
$nuage_server_ssl = true,
|
|
$purge_config = false,
|
|
) {
|
|
|
|
include neutron::deps
|
|
include neutron::params
|
|
|
|
file { '/etc/neutron/plugins/nuage':
|
|
ensure => directory,
|
|
tag => 'neutron-config-file',
|
|
}
|
|
|
|
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::nuage_config_file}",
|
|
tag => 'neutron-file-line',
|
|
}
|
|
}
|
|
|
|
if $::osfamily == 'Redhat' {
|
|
file { '/etc/neutron/plugin.ini':
|
|
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',
|
|
group => 'neutron',
|
|
require => File['/etc/neutron/plugins/nuage'],
|
|
mode => '0640',
|
|
tag => 'neutron-config-file',
|
|
}
|
|
|
|
resources { 'neutron_plugin_nuage':
|
|
purge => $purge_config,
|
|
}
|
|
|
|
$nuage_base_uri_base = '/nuage/api'
|
|
neutron_plugin_nuage {
|
|
'RESTPROXY/default_net_partition_name': value => $nuage_net_partition_name;
|
|
'RESTPROXY/server': value => $nuage_vsd_ip;
|
|
'RESTPROXY/serverauth': value => "${nuage_vsd_username}:${nuage_vsd_password}";
|
|
'RESTPROXY/organization': value => $nuage_vsd_organization;
|
|
'RESTPROXY/auth_resource': value => $nuage_auth_resource;
|
|
'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;
|
|
}
|
|
|
|
if ($::neutron::core_plugin != 'nuage_neutron.plugins.nuage.plugin.NuagePlugin') and
|
|
($::neutron::core_plugin != 'nuage') {
|
|
fail('Nuage plugin should be the core_plugin in neutron.conf')
|
|
}
|
|
}
|