Disables port status for all ODL deployments
authorTim Rozet <trozet@redhat.com>
Thu, 5 Oct 2017 16:42:52 +0000 (12:42 -0400)
committerTim Rozet <trozet@redhat.com>
Tue, 10 Oct 2017 13:16:09 +0000 (13:16 +0000)
Port status was already disabled in HA deployments pending a fix for:
https://bugs.opendaylight.org//show_bug.cgi?id=9147

However even in noha deployments port status will not work because ODL
is unable to bind to a specific IP for websocket, meaning it binds to
all IPs and haproxy cannot bind the VIP.  Therefore we need to disable
it for all deployments until also this bug is fixed:
https://bugs.opendaylight.org//show_bug.cgi?id=9256

Related-Bug: 1718508

Change-Id: I2f2dc3ece97c97fc8477d4129d69719866a7f0c1
Signed-off-by: Tim Rozet <trozet@redhat.com>
(cherry picked from commit 2471a8669d35f8b35ed00e9365623b37e335cd79)

manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
releasenotes/notes/disable-odl-port-status-117c1d9c2f3235e9.yaml [new file with mode: 0644]

index c98f555..cb3e817 100644 (file)
 #   (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')
@@ -52,7 +48,6 @@ 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')),
 ) {
@@ -60,24 +55,12 @@ 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
-    }
-
+    # TODO(trozet) remove odl_features once ODL BZ: 9256, 9147 are fixed
     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_features => $odl_features;
+      odl_features => 'False';
     }
   }
 }
diff --git a/releasenotes/notes/disable-odl-port-status-117c1d9c2f3235e9.yaml b/releasenotes/notes/disable-odl-port-status-117c1d9c2f3235e9.yaml
new file mode 100644 (file)
index 0000000..1bc03a4
--- /dev/null
@@ -0,0 +1,6 @@
+---
+fixes:
+  - |
+    Adds workaround to disable port status feature for OpenDaylight which
+    is currently broken in OpenDaylight.  This fixes the inability to
+    launch nova instances.