puppet-neutron/manifests/plugins/nvp.pp
Sergey Vasilenko 2f71aa483e Tag all neutron packages
Some users wish to override the default package provider by their own.

Tag all packages with the 'openstack' to allow mass resource attributes
override using resource collectors.

Change-Id: I7ea5ae48f1bd2ab218b44cb68b20787b5d16e58d
Related-bug: #1391209
2015-03-31 14:31:06 +02:00

75 lines
2.2 KiB
Puppet

#
# Configure the Nicira NVP plugin for neutron.
#
# === Parameters
#
# [*nvp_controllers*]
# The password for connection to VMware vCenter server.
#
# [*nvp_user*]
# The user name for NVP controller.
#
# [*nvp_password*]
# The password for NVP controller
#
# [*default_tz_uuid*]
# UUID of the pre-existing default NVP Transport zone to be used for creating
# tunneled isolated "Neutron" networks. This option MUST be specified.
#
# [*default_l3_gw_service_uuid*]
# (Optional) UUID for the default l3 gateway service to use with this cluster.
# To be specified if planning to use logical routers with external gateways.
# Defaults to None.
#
class neutron::plugins::nvp (
$default_tz_uuid,
$nvp_controllers,
$nvp_user,
$nvp_password,
$default_l3_gw_service_uuid = undef,
$package_ensure = 'present'
) {
include ::neutron::params
Package['neutron'] -> Package['neutron-plugin-nvp']
Package['neutron-plugin-nvp'] -> Neutron_plugin_nvp<||>
Neutron_plugin_nvp<||> ~> Service<| title == 'neutron-server' |>
Package['neutron-plugin-nvp'] -> Service<| title == 'neutron-server' |>
package { 'neutron-plugin-nvp':
ensure => $package_ensure,
name => $::neutron::params::nvp_server_package,
tag => 'openstack',
}
validate_array($nvp_controllers)
neutron_plugin_nvp {
'DEFAULT/default_tz_uuid': value => $default_tz_uuid;
'DEFAULT/nvp_controllers': value => join($nvp_controllers, ',');
'DEFAULT/nvp_user': value => $nvp_user;
'DEFAULT/nvp_password': value => $nvp_password, secret => true;
'nvp/metadata_mode': value => 'access_network';
}
if($default_l3_gw_service_uuid) {
neutron_plugin_nvp {
'DEFAULT/default_l3_gw_service_uuid': value => $default_l3_gw_service_uuid;
}
}
if $::neutron::core_plugin != 'neutron.plugins.nicira.NeutronPlugin.NvpPluginV2' {
fail('nvp plugin should be the core_plugin in neutron.conf')
}
# In RH, this link is used to start Neutron process but in Debian, it's used only
# to manage database synchronization.
file {'/etc/neutron/plugin.ini':
ensure => link,
target => '/etc/neutron/plugins/nicira/nvp.ini',
require => Package['neutron-plugin-nvp']
}
}