# {{ ansible_managed }} [ovs] {% if neutron_tunnel_types | length > 0 %} local_ip = {{ neutron_local_ip }} {% endif %} {% if neutron_plugin_type != 'ml2.ovs' and neutron_provider_networks.network_mappings is defined and ((neutron_provider_networks.network_mappings | length) > 0) %} bridge_mappings = {{ neutron_provider_networks.network_mappings }} {% endif %} {% if neutron_services['neutron-openvswitch-agent']['group'] in group_names and neutron_plugin_type == 'ml2.ovs' and neutron_provider_networks.network_mappings is defined and ((neutron_provider_networks.network_mappings | length) > 0) %} bridge_mappings = {{ neutron_provider_networks.network_mappings }} {% endif %} {% if ovs_dpdk_support %} datapath_type = {{ ovs_datapath }} vhostuser_socket_dir = /var/lib/vhost_socket {% endif %} [agent] l2_population = {{ neutron_plugins[neutron_plugin_type].l2_population }} tunnel_types = {{ neutron_tunnel_types }} enable_distributed_routing = {{ neutron_plugins[neutron_plugin_type].router_distributed | default('False') }} {% set ovs_agent_extensions = [] %} {% if 'ml2.sriov' in neutron_plugin_types %} {% set _ = ovs_agent_extensions.append("fdb") %} {% endif %} {% if 'qos' in neutron_plugin_base %} {% set _ = ovs_agent_extensions.append("qos") %} {% endif %} {% if 'sfc' in neutron_plugin_base %} {% set _ = ovs_agent_extensions.append("sfc") %} {% endif %} extensions = {{ ovs_agent_extensions | join(',') }} {% if 'ml2.sriov' in neutron_plugin_types %} # If an interface is shared between sriov ports and normal ports, it must be defined here # to allow traffic between the two ports on the same host [FDB] shared_physical_device_mappings = {{ neutron_provider_networks.network_sriov_mappings }} {% endif %} # Security groups [securitygroup] {% if ovs_dpdk_support %} firewall_driver = openvswitch {% else %} firewall_driver = {{ neutron_plugins[neutron_plugin_type].driver_firewall }} {% endif %} enable_security_group = True enable_ipset = True