diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index b9da794d28..156efdf791 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -462,6 +462,7 @@ enable_vmtp: "no" enable_watcher: "no" enable_zun: "no" +ovs_datapath: "{{ 'netdev' if enable_ovs_dpdk | bool else 'system' }}" designate_keystone_user: "designate" ironic_keystone_user: "ironic" neutron_keystone_user: "neutron" diff --git a/ansible/roles/neutron/templates/ml2_conf.ini.j2 b/ansible/roles/neutron/templates/ml2_conf.ini.j2 index d64cceffe1..e8b6828d5e 100644 --- a/ansible/roles/neutron/templates/ml2_conf.ini.j2 +++ b/ansible/roles/neutron/templates/ml2_conf.ini.j2 @@ -74,6 +74,8 @@ extensions = {{ neutron_agent_extensions|map(attribute='name')|join(',') }} bridge_mappings = {% for bridge in neutron_bridge_name.split(',') %}physnet{{ loop.index0 + 1 }}:{{ bridge }}{% if not loop.last %},{% endif %}{% endfor %} {% endif %} +{# NOTE: newline above is required for correct config generation. Do not remove. #} +datapath_type = {{ ovs_datapath }} ovsdb_connection = tcp:127.0.0.1:{{ ovsdb_port }} {% if enable_nova_fake | bool %} integration_bridge = br-int-{{ item }} diff --git a/ansible/roles/ovs-dpdk/defaults/main.yml b/ansible/roles/ovs-dpdk/defaults/main.yml index 2244eef3c7..9413a01a2f 100644 --- a/ansible/roles/ovs-dpdk/defaults/main.yml +++ b/ansible/roles/ovs-dpdk/defaults/main.yml @@ -48,7 +48,6 @@ ovsdpdk_services: #################### # OVS #################### -ovs_datapath: "netdev" ovs_bridge_mappings: "{% for bridge in neutron_bridge_name.split(',') %}physnet{{ loop.index0 + 1 }}:{{ bridge }}{% if not loop.last %},{% endif %}{% endfor %}" ovs_port_mappings: "{% for bridge in neutron_bridge_name.split(',') %} {{ neutron_external_interface.split(',')[loop.index0] }}:{{ bridge }}{% if not loop.last %},{% endif %}{% endfor %}" dpdk_tunnel_interface : "{{neutron_external_interface}}" diff --git a/doc/source/reference/networking-guide.rst b/doc/source/reference/networking-guide.rst index 86b299c496..52fd39971a 100644 --- a/doc/source/reference/networking-guide.rst +++ b/doc/source/reference/networking-guide.rst @@ -254,23 +254,6 @@ the future, a new config option will be introduced to allow systemd to be used on all host distros for those who do not wish to enable the network manager service on ubuntu. -To manage ovs-dpdk the neutron ovs agent must be configured to use -the netdev datapath_type in the ml2.conf. At present this is not automated -and must be set via kolla's external config support. To set the datapath_type -create a file with the following content at -/etc/kolla/config/neutron/ml2_conf.ini - -:: - - [ovs] - datapath_type = netdev - - -In the future, the requirement to use the external config will be removed by -automatically computing the value of ovs_datapath based on the value of -enable_ovs_dpdk and then using the ovs_datapath variable to template out this -setting in the ml2_conf.ini automatically. - Limitations -----------