aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2017-09-20 15:49:50 -0400
committerTim Rozet <trozet@redhat.com>2017-09-28 02:53:15 +0000
commit67e1e603a6b81e7532eb2cac2e27eec1ea413d32 (patch)
tree71ae2dc744d1eb4f104f8f7dfb9643309d213cfd
parent265a13a8e5166ca4cd4cecbf64cb8229e3dcd106 (diff)
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 <trozet@redhat.com> (cherry picked from commit 228d7b456c6d5c4958c9add8f9021a83a4360510)
-rw-r--r--manifests/profile/base/neutron/plugins/ml2/opendaylight.pp21
-rw-r--r--releasenotes/notes/disable-opendaylight-ha-port-status-0a97e10e6456661c.yaml5
2 files changed, 25 insertions, 1 deletions
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.