Files
puppet-neutron/manifests/plugins/nvp.pp
Yanis Guenane 2c21af85da Rely on autorequire for config resource ordering
Currently we specify the ordering of config resources wherever it is
necessary based on the presence of the file it will write to, or the
presence of the package in charge of providing the file it will write
to.

Those kind of ordering can be specified directly at the resource level
using the autorequire mechanism. With this patch, any config resource
will make sure the package in charge of providing the file will be
installed first.

Change-Id: I5542165142516fcd8fd3969c24ca92ac221452bd
2015-09-07 12:59:06 +02:00

78 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.
#
# [*package_ensure*]
# (optional) Ensure state for package.
# Defaults to 'present'.
#
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']
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']
}
}