[bgpvpn] Add opendaylight v2 driver
Change-Id: I7ac8debac13fc1585bf0fb281db1b5892706545d
Closes-Bug: PROD-21078
diff --git a/README.rst b/README.rst
index bfbb901..9ee240f 100644
--- a/README.rst
+++ b/README.rst
@@ -794,13 +794,13 @@
version: pike
bgp_vpn:
enabled: true
- driver: bagpipe # Options: bagpipe/opencontrail/opendaylight
+ driver: bagpipe # Options: bagpipe/opencontrail/opendaylight[_v2]
....
compute:
version: pike
bgp_vpn:
enabled: true
- driver: bagpipe # Options: bagpipe/opencontrail/opendaylight
+ driver: bagpipe # Options: bagpipe/opencontrail/opendaylight[_v2]
bagpipe:
local_address: 192.168.20.20 # IP address for mpls/gre tunnels
peers: 192.168.20.30 # IP addresses of BGP peers
diff --git a/neutron/files/pike/neutron-server.conf.Debian b/neutron/files/pike/neutron-server.conf.Debian
index 963aa65..63e377b 100644
--- a/neutron/files/pike/neutron-server.conf.Debian
+++ b/neutron/files/pike/neutron-server.conf.Debian
@@ -2206,23 +2206,17 @@
# cipher list format. (string value)
#ciphers = <None>
[service_providers]
-
-{% if server.get('bgp_vpn', {}).get('enabled', False) -%}
-
-{%- if server.bgp_vpn.driver == "bagpipe" -%}
-
-service_provider = BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe.BaGPipeBGPVPNDriver:default
-
-{%- elif server.bgp_vpn.driver == "opencontrail" -%}
-
-service_provider = BGPVPN:OpenContrail:networking_bgpvpn.neutron.services.service_drivers.opencontrail.opencontrail.OpenContrailBGPVPNDriver:default
-
-{%- elif server.bgp_vpn.driver == "opendaylight" -%}
-
-service_provider = BGPVPN:OpenDaylight:networking_bgpvpn.neutron.services.service_drivers.opendaylight.odl.OpenDaylightBgpvpnDriver:default
-
-{%- endif -%}
-{%- endif -%}
+{%- if server.get('bgp_vpn', {}).get('enabled', False) %}
+{%-
+ set _service_providers = {
+ 'bagpipe': 'BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe.BaGPipeBGPVPNDriver:default',
+ 'opencontrail': 'BGPVPN:OpenContrail:networking_bgpvpn.neutron.services.service_drivers.opencontrail.opencontrail.OpenContrailBGPVPNDriver:default',
+ 'opendaylight': 'BGPVPN:OpenDaylight:networking_bgpvpn.neutron.services.service_drivers.opendaylight.odl.OpenDaylightBgpvpnDriver:default',
+ 'opendaylight_v2': 'BGPVPN:OpenDaylight:networking_odl.bgpvpn.odl_v2.OpenDaylightBgpvpnDriver:default'
+ }
+%}
+service_provider = {{ _service_providers[server.bgp_vpn.driver] }}
+{%- endif %}
{% if server.lbaas is defined -%}
diff --git a/neutron/files/queens/bgpvpn.conf b/neutron/files/queens/bgpvpn.conf
index 976d0e1..974784e 100644
--- a/neutron/files/queens/bgpvpn.conf
+++ b/neutron/files/queens/bgpvpn.conf
@@ -1,20 +1,14 @@
# BGPVPN config
[service_providers]
-
-{% if server.get('bgp_vpn', {}).get('enabled', False) -%}
-
-{%- if server.bgp_vpn.driver == "bagpipe" %}
-
-service_provider = BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe.BaGPipeBGPVPNDriver:default
-
-{%- elif server.bgp_vpn.driver == "opencontrail" -%}
-
-service_provider = BGPVPN:OpenContrail:networking_bgpvpn.neutron.services.service_drivers.opencontrail.opencontrail.OpenContrailBGPVPNDriver:default
-
-{%- elif server.bgp_vpn.driver == "opendaylight" -%}
-
-service_provider = BGPVPN:OpenDaylight:networking_bgpvpn.neutron.services.service_drivers.opendaylight.odl.OpenDaylightBgpvpnDriver:default
-
-{%- endif -%}
-{%- endif -%}
+{%- if server.get('bgp_vpn', {}).get('enabled', False) %}
+{%-
+ set _service_providers = {
+ 'bagpipe': 'BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe.BaGPipeBGPVPNDriver:default',
+ 'opencontrail': 'BGPVPN:OpenContrail:networking_bgpvpn.neutron.services.service_drivers.opencontrail.opencontrail.OpenContrailBGPVPNDriver:default',
+ 'opendaylight': 'BGPVPN:OpenDaylight:networking_bgpvpn.neutron.services.service_drivers.opendaylight.odl.OpenDaylightBgpvpnDriver:default',
+ 'opendaylight_v2': 'BGPVPN:OpenDaylight:networking_odl.bgpvpn.odl_v2.OpenDaylightBgpvpnDriver:default'
+ }
+%}
+service_provider = {{ _service_providers[server.bgp_vpn.driver] }}
+{%- endif %}