# ml2_conf.ini [ml2] {% if enable_ironic | bool %} tenant_network_types = vxlan, flat mechanism_drivers = openvswitch {% else %} # Changing type_drivers after bootstrap can lead to database inconsistencies type_drivers = flat,vlan,vxlan tenant_network_types = vxlan {% endif %} {% if neutron_plugin_agent == "openvswitch" %} mechanism_drivers = openvswitch,l2population {% elif neutron_plugin_agent == "linuxbridge" %} mechanism_drivers = linuxbridge,l2population {% endif %} [ml2_type_vlan] {% if enable_ironic | bool %} network_vlan_ranges = physnet1 {% else %} network_vlan_ranges = {% endif %} [ml2_type_flat] {% if enable_ironic | bool %} flat_networks = * {% else %} flat_networks = physnet1 {% endif %} [ml2_type_vxlan] vni_ranges = 1:1000 vxlan_group = 239.1.1.1 [securitygroup] {% if neutron_plugin_agent == "openvswitch" %} firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver {% elif neutron_plugin_agent == "linuxbridge" %} firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver {% endif %} {% if neutron_plugin_agent == "openvswitch" %} [agent] tunnel_types = vxlan l2_population = true arp_responder = true [ovs] bridge_mappings = physnet1:{{ neutron_bridge_name }} {% elif neutron_plugin_agent == "linuxbridge" %} [linux_bridge] physical_interface_mappings = physnet1:{{ neutron_external_interface }} [vxlan] l2_population = true {% endif %} local_ip = {{ hostvars[inventory_hostname]['ansible_' + tunnel_interface]['ipv4']['address'] }}