From 67e1e603a6b81e7532eb2cac2e27eec1ea413d32 Mon Sep 17 00:00:00 2001 From: Tim Rozet Date: Wed, 20 Sep 2017 15:49:50 -0400 Subject: Disables port status updates with ODL in HA ODL enables a feature by default to communicate port state to Neutron via a websocket connection. The current implementation does not work in HA, but does work with a noHA deployment. Therefore this patch disables port status for HA deployments only until there is proper support. Depends-On: I7eb752ad692e5522051f8393376890fcac9a09fe Closes-Bug: 1718508 Change-Id: I13b5b72285d3c70cdee4d81678470d52be385aaf Signed-off-by: Tim Rozet (cherry picked from commit 228d7b456c6d5c4958c9add8f9021a83a4360510) --- .../base/neutron/plugins/ml2/opendaylight.pp | 21 ++++++++++++++++++++- ...pendaylight-ha-port-status-0a97e10e6456661c.yaml | 5 +++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/disable-opendaylight-ha-port-status-0a97e10e6456661c.yaml diff --git a/manifests/profile/base/neutron/plugins/ml2/opendaylight.pp b/manifests/profile/base/neutron/plugins/ml2/opendaylight.pp index bffcb39..c98f555 100644 --- a/manifests/profile/base/neutron/plugins/ml2/opendaylight.pp +++ b/manifests/profile/base/neutron/plugins/ml2/opendaylight.pp @@ -34,6 +34,10 @@ # (Optional) Virtual IP address for ODL Api Service # Defaults to hiera('opendaylight_api_vip') # +# [*odl_api_ips*] +# (Optional) List of OpenStack Controller IPs for ODL API +# Defaults to hiera('opendaylight_api_node_ips') +# # [*conn_proto*] # (Optional) Protocol to use to for ODL REST access # Defaults to hiera('opendaylight::nb_connection_protocol') @@ -48,6 +52,7 @@ class tripleo::profile::base::neutron::plugins::ml2::opendaylight ( $odl_username = hiera('opendaylight::username'), $odl_password = hiera('opendaylight::password'), $odl_url_ip = hiera('opendaylight_api_vip'), + $odl_api_ips = hiera('opendaylight_api_node_ips'), $conn_proto = hiera('opendaylight::nb_connection_protocol'), $step = Integer(hiera('step')), ) { @@ -55,10 +60,24 @@ class tripleo::profile::base::neutron::plugins::ml2::opendaylight ( if $step >= 4 { if ! $odl_url_ip { fail('OpenDaylight API VIP is Empty') } + $ml2_odl_params = { + 'odl_username' => $odl_username, + 'odl_password' => $odl_password, + 'odl_url' => "${conn_proto}://${odl_url_ip}:${odl_port}/controller/nb/v2/neutron", + } + + validate_array($odl_api_ips) + if size($odl_api_ips) > 2 { + $odl_features = 'False' + } else { + $odl_features = $::os_service_default + } + class { '::neutron::plugins::ml2::opendaylight': odl_username => $odl_username, odl_password => $odl_password, - odl_url => "${conn_proto}://${odl_url_ip}:${odl_port}/controller/nb/v2/neutron"; + odl_url => "${conn_proto}://${odl_url_ip}:${odl_port}/controller/nb/v2/neutron", + odl_features => $odl_features; } } } diff --git a/releasenotes/notes/disable-opendaylight-ha-port-status-0a97e10e6456661c.yaml b/releasenotes/notes/disable-opendaylight-ha-port-status-0a97e10e6456661c.yaml new file mode 100644 index 0000000..9206b0d --- /dev/null +++ b/releasenotes/notes/disable-opendaylight-ha-port-status-0a97e10e6456661c.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Disables port status feature with OpenDaylight when deployed as HA until + it can be properly supported in an HA environment. -- cgit 1.2.3-korg