
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
78 lines
2.2 KiB
Puppet
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']
|
|
}
|
|
|
|
}
|