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>
This commit is contained in:
Tim Rozet 2017-09-20 15:04:21 -04:00 committed by Tim Rozet
parent e5f0c2f714
commit 2417be6fae
3 changed files with 15 additions and 1 deletions

View File

@ -37,6 +37,10 @@
# (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,
@ -45,6 +49,7 @@ class neutron::plugins::ml2::opendaylight (
$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
@ -63,6 +68,7 @@ class neutron::plugins::ml2::opendaylight (
'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 {

View File

@ -0,0 +1,6 @@
---
features:
- |
Adds ability to configure OpenDayight features which will override the
default behavior of negotiating features with ODL.

View File

@ -18,7 +18,8 @@ describe 'neutron::plugins::ml2::opendaylight' do
:odl_url => '<SERVICE DEFAULT>',
:ovsdb_connection => 'tcp:127.0.0.1:6639',
:port_binding_controller => '<SERVICE DEFAULT>',
:odl_hostconf_uri => '<SERVICE DEFAULT>'
:odl_hostconf_uri => '<SERVICE DEFAULT>',
:odl_features => '<SERVICE DEFAULT>',
}
end
@ -55,6 +56,7 @@ describe 'neutron::plugins::ml2::opendaylight' do
is_expected.to contain_neutron_plugin_ml2('ml2_odl/url').with_value(params[:odl_url])
is_expected.to contain_neutron_plugin_ml2('ml2_odl/port_binding_controller').with_value(params[:port_binding_controller])
is_expected.to contain_neutron_plugin_ml2('ml2_odl/odl_hostconf_uri').with_value(params[:odl_hostconf_uri])
is_expected.to contain_neutron_plugin_ml2('ml2_odl/odl_features').with_value(params[:odl_features])
end
it 'configures neutron server settings' do