Files
puppet-neutron/manifests/plugins/ml2/opendaylight.pp
Tim Rozet 2417be6fae Adds the ability to specify ML2 ODL Features
This is required in order to override the negotiated default features
with OpenDaylight.  More specifically this is required so that we can
override the features list not to include operational-port-status to
fix the following bug.

Partial-Bug: 1718508

Change-Id: I7eb752ad692e5522051f8393376890fcac9a09fe
Signed-off-by: Tim Rozet <trozet@redhat.com>
2017-09-20 15:08:11 -04:00

78 lines
2.3 KiB
Puppet

#
# Install the OpenDaylight and generate config file
# from parameters in the other classes.
#
# === Parameters
#
# [*package_ensure*]
# (optional) The intended state of the python-networking-odl
# package, i.e. any of the possible values of the 'ensure'
# property for a package resource type.
# Defaults to 'present'
#
# [*odl_username*]
# (optional) The opendaylight controller username
# Defaults to $::os_service_default
# Example: 'admin'
#
# [*odl_password*]
# (optional) The opendaylight controller password
# Defaults to $::os_service_default
# Example: 'admin'
#
# [*odl_url*]
# (optional) The opendaylight controller neutron URL
# Defaults to $::os_service_default
# Example: 'http://127.0.0.1:8080/controller/nb/v2/neutron'
#
# [*ovsdb_connection*]
# (optional) The URI used to connect to the local OVSDB server
# Defaults to 'tcp:127.0.0.1:6639'
#
# [*port_binding_controller*]
# (optional) Name of the controller to be used for port binding.
# Defaults to $::os_service_default
#
# [*odl_hostconf_uri*]
# (optional) Path for ODL host configuration REST interface.
# Defaults to $::os_service_default
#
# [*odl_features*]
# (optional) List of ODL features to enable
# Defaults to $::os_service_default
#
class neutron::plugins::ml2::opendaylight (
$package_ensure = 'present',
$odl_username = $::os_service_default,
$odl_password = $::os_service_default,
$odl_url = $::os_service_default,
$ovsdb_connection = 'tcp:127.0.0.1:6639',
$port_binding_controller = $::os_service_default,
$odl_hostconf_uri = $::os_service_default,
$odl_features = $::os_service_default,
) {
include ::neutron::deps
require ::neutron::plugins::ml2
ensure_resource('package', 'python-networking-odl',
{
ensure => $package_ensure,
tag => 'openstack',
}
)
neutron_plugin_ml2 {
'ml2_odl/username': value => $odl_username;
'ml2_odl/password': value => $odl_password, secret => true;
'ml2_odl/url': value => $odl_url;
'ml2_odl/port_binding_controller': value => $port_binding_controller;
'ml2_odl/odl_hostconf_uri': value => $odl_hostconf_uri;
'ml2_odl/odl_features': value => join(any2array($odl_features), ',');
}
neutron_config {
'OVS/ovsdb_connection': value => $ovsdb_connection;
}
}