-@@ -131,7 +131,7 @@ tenant_network_types = {{ server.backend.tenant_network_types }}
- # An ordered list of networking mechanism driver entrypoints to be loaded from
- # the neutron.ml2.mechanism_drivers namespace. (list value)
- #mechanism_drivers =
--mechanism_drivers ={%- for backend_name, mechanism in server.backend.get('mechanism', {}).iteritems() %}{{ mechanism.driver }},{%- endfor %}l2population
-+mechanism_drivers ={%- for backend_name, mechanism in server.backend.get('mechanism', {}).iteritems() %}{{ mechanism.driver }}{%- endfor %}{%- if server.backend.engine == "ml2" %},l2population{%- endif %}
-
- # An ordered list of extension driver entrypoints to be loaded from the
- # neutron.ml2.extension_drivers namespace. For example: extension_drivers =
-@@ -272,3 +272,11 @@ enable_security_group = True
- # Use ipset to speed-up the iptables based security groups. Enabling ipset
- # support requires that ipset is installed on L2 agent node. (boolean value)
- #enable_ipset = true
+@@ -134,7 +134,8 @@ tenant_network_types = {{ server.backend.tenant_network_types }}
+ {%- for mechanism_name, mechanism in server.get('backend', {}).get('mechanism', []).items() %}
+ {%- do mechanism_drivers.append(mechanism.get('driver')) if 'driver' in mechanism %}
+ {%- endfor %}
+-{%- if "vxlan" in server.backend.tenant_network_types %}
++{%- set opendaylight_enabled = true if 'opendaylight' in mechanism_drivers|join else false %}
++{%- if "vxlan" in server.backend.tenant_network_types and not opendaylight_enabled %}
+ {%- do mechanism_drivers.append('l2population') %}
+ {%- endif %}
+ mechanism_drivers = {{ ','.join(mechanism_drivers) }}
+@@ -311,3 +312,11 @@ ovn_nb_connection = tcp:{{ server.controller_vip }}:6641
+ ovn_sb_connection = tcp:{{ server.controller_vip }}:6642
+ ovn_l3_scheduler = leastloaded
+ {%- endif %}