diff options
author | Tim Rozet <trozet@redhat.com> | 2017-09-20 15:49:50 -0400 |
---|---|---|
committer | Tim Rozet <trozet@redhat.com> | 2017-09-28 02:53:15 +0000 |
commit | 67e1e603a6b81e7532eb2cac2e27eec1ea413d32 (patch) | |
tree | 71ae2dc744d1eb4f104f8f7dfb9643309d213cfd /manifests/profile/base/neutron/plugins/ml2/opendaylight.pp | |
parent | 265a13a8e5166ca4cd4cecbf64cb8229e3dcd106 (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)
Diffstat (limited to 'manifests/profile/base/neutron/plugins/ml2/opendaylight.pp')
-rw-r--r-- | manifests/profile/base/neutron/plugins/ml2/opendaylight.pp | 21 |
1 files changed, 20 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; } } } |