summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Polenchuk <mpolenchuk@mirantis.com>2018-08-30 15:34:59 +0400
committerMichael Polenchuk <mpolenchuk@mirantis.com>2018-09-03 12:32:35 +0400
commit34d812e03b3e039c69f3b18c098cd924e10551c5 (patch)
treeb9615fef9bd0e0633114673d72117b4b0e7eddd1
parentc4d91eca1ba1614648fb2ae96340ed2876f64cd3 (diff)
[odl/dpdk] Make dedicated public network scheme
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>
-rwxr-xr-xmcp/config/states/networks3
-rw-r--r--mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j229
2 files changed, 28 insertions, 4 deletions
diff --git a/mcp/config/states/networks b/mcp/config/states/networks
index e9a9f5190..e0d2aeea3 100755
--- a/mcp/config/states/networks
+++ b/mcp/config/states/networks
@@ -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
diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2
index 0eb133329..0ad368611 100644
--- a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2
@@ -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 %}