[odl/dpdk] Make dedicated public network scheme 93/61593/5
authorMichael Polenchuk <mpolenchuk@mirantis.com>
Thu, 30 Aug 2018 11:34:59 +0000 (15:34 +0400)
committerMichael Polenchuk <mpolenchuk@mirantis.com>
Mon, 3 Sep 2018 08:32:35 +0000 (12:32 +0400)
In order to avoid TCP connection checksum issue (i.e. TX offloading
on ovs bridges) add linux bridge connected with ovs public bridge.

Change-Id: I4d266dd92756d5326dfa3d74fe2f376b26415812
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
mcp/config/states/networks
mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2

index e9a9f51..e0d2aee 100755 (executable)
@@ -38,3 +38,6 @@ salt -C 'I@nova:controller and *01*' cmd.run ". /root/keystonercv3; \
 
 # Discover compute hosts after they are registered
 salt -C 'I@nova:controller and *01*' state.sls_id nova_controller_discover_hosts nova
+
+# Set datapath type to netdev for public bridge
+((MCP_DPDK_MODE)) && salt -I 'nova:compute' cmd.run 'ovs-vsctl set bridge br-floating datapath_type=netdev' || /bin/true
index 0eb1333..0ad3686 100644 (file)
@@ -39,6 +39,30 @@ parameters:
           netmask: ${_param:opnfv_net_private_mask}
         {{ nm.cmp001.nic_private }}:
           type: dpdk  # Not a meaningful type, just match 'dpdk' for filtering
+        {{ nm.cmp001.nic_public }}:
+          enabled: true
+          type: eth
+          mtu: ${_param:interface_mtu}
+          proto: manual
+        br-floating:
+          enabled: true
+          type: ovs_bridge
+        float-to-ex:
+          enabled: true
+          type: ovs_port
+          mtu: ${_param:interface_mtu}
+          bridge: br-floating
+        br-ex:
+          enabled: true
+          type: bridge
+          address: ${_param:external_address}
+          netmask: ${_param:opnfv_net_public_mask}
+          use_interfaces:
+            - {{ ma.interface_str(nm.cmp001.nic_public, nm.vlan_public) }}
+          use_ovs_ports:
+            - float-to-ex
+          gateway: ${_param:opnfv_net_public_gw}
+          name_servers: {{ nm.dns_public }}
 {%- else %}
         br-mesh:
           enabled: true
@@ -48,7 +72,6 @@ parameters:
           netmask: ${_param:opnfv_net_private_mask}
           use_interfaces:
             - {{ ma.interface_str(nm.cmp001.nic_private, vlan_private_start) }}
-{%- endif %}
         ovs_port_{{ nm.cmp001.nic_public }}:
           enabled: true
           name: {{ ma.interface_str(nm.cmp001.nic_public, nm.vlan_public) }}
@@ -61,9 +84,6 @@ parameters:
         br-floating:
           enabled: true
           type: ovs_bridge
-{%- if conf.MCP_DPDK_MODE %}
-          datapath_type: netdev
-{%- endif %}
           proto: static
           address: ${_param:external_address}
           netmask: ${_param:opnfv_net_public_mask}
@@ -72,3 +92,4 @@ parameters:
           gateway: ${_param:opnfv_net_public_gw}
           name_servers: {{ nm.dns_public }}
           noifupdown: true
+{%- endif %}