diff options
author | Michael Polenchuk <mpolenchuk@mirantis.com> | 2018-01-26 17:52:31 +0400 |
---|---|---|
committer | Michael Polenchuk <mpolenchuk@mirantis.com> | 2018-01-26 17:52:31 +0400 |
commit | 2bd6a0ed390285ec8f17cc8c71a9147485ca860b (patch) | |
tree | c18aec6596cb5ff46b94cc70b48a7308e448b461 /mcp | |
parent | 8b48875e30afa4c60f27310df548a18c18e9af60 (diff) |
[ovs/dpdk] Configure vxlan for baremetal scenario
* switch ovs/dpdk scenario from vlan to vxlan mode
* force br-ex interface to mitigate race with incorrect state
* remove dpdk packages list (already in upstream)
Change-Id: Ib827cef2d67879fd2a86d286ca2118b22493274d
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Diffstat (limited to 'mcp')
-rw-r--r-- | mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml | 1 | ||||
-rwxr-xr-x | mcp/config/states/networking_gw | 12 | ||||
-rw-r--r-- | mcp/patches/0013-dpdk-Support-ovs-bridge-tagging.patch | 30 | ||||
-rw-r--r-- | mcp/patches/patches.list | 1 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/compute.yml.j2 (renamed from mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/compute.yml) | 15 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/init.yml | 2 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/compute.yml | 5 |
7 files changed, 55 insertions, 11 deletions
diff --git a/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml b/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml index b475387bd..eec97eb96 100644 --- a/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml +++ b/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml @@ -15,6 +15,7 @@ cluster: - dpdk - openstack_ha - networks + - networking_gw virtual: nodes: - cfg01 diff --git a/mcp/config/states/networking_gw b/mcp/config/states/networking_gw new file mode 100755 index 000000000..ea7c87b01 --- /dev/null +++ b/mcp/config/states/networking_gw @@ -0,0 +1,12 @@ +#!/bin/bash -e +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +CI_DEBUG=${CI_DEBUG:-0}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x + +salt -I 'neutron:gateway' cmd.run 'ifup --force --ignore-errors br-ex' diff --git a/mcp/patches/0013-dpdk-Support-ovs-bridge-tagging.patch b/mcp/patches/0013-dpdk-Support-ovs-bridge-tagging.patch new file mode 100644 index 000000000..f73931ea8 --- /dev/null +++ b/mcp/patches/0013-dpdk-Support-ovs-bridge-tagging.patch @@ -0,0 +1,30 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2018 Mirantis Inc., Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Michael Polenchuk <mpolenchuk@mirantis.com> +Date: Mon, 22 Jan 2018 15:22:47 +0400 +Subject: [PATCH] [dpdk] Support ovs bridge tagging + +Bring in "tag" option for dpdk/ovs bridges +to support vlan-tagged vxlan mode. + +Change-Id: I7f1f88233694f2c8b968a6cf55584f32879ec042 + +diff --git a/linux/network/dpdk.sls b/linux/network/dpdk.sls +index 1ac9e25..05fe05f 100644 +--- a/linux/network/dpdk.sls ++++ b/linux/network/dpdk.sls +@@ -110,7 +110,7 @@ linux_network_dpdk_bond_mode_{{ interface_name }}: + + linux_network_dpdk_bridge_interface_{{ interface_name }}: + cmd.run: +- - name: "ovs-vsctl add-br {{ interface_name }} -- set bridge {{ interface_name }} datapath_type=netdev" ++ - name: "ovs-vsctl add-br {{ interface_name }} -- set bridge {{ interface_name }} datapath_type=netdev{% if interface.tag is defined %} -- set port {{ interface_name }} tag={{ interface.tag }}{% endif %}" + - unless: "ovs-vsctl show | grep {{ interface_name }}" + + {# OVS dpdk needs ip address for vxlan termination on bridge br-prv #} diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list index 1b3bfeab0..34d913ab2 100644 --- a/mcp/patches/patches.list +++ b/mcp/patches/patches.list @@ -17,3 +17,4 @@ /usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch /usr/share/salt-formulas/env: 0011-system.repo-Debian-Add-keyserver-proxy-support.patch /usr/share/salt-formulas/env: 0012-linux.storage.lvm-Disable-filter.patch +/usr/share/salt-formulas/env: 0013-dpdk-Support-ovs-bridge-tagging.patch diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/compute.yml.j2 index cfe92020d..76fa17946 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/compute.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/compute.yml.j2 @@ -5,6 +5,11 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +{%- if conf.idf is defined and conf.idf.net_config is defined -%} + {%- set vlan_private = conf['idf']['net_config']['private']['vlan'] -%} +{%- else -%} + {%- set vlan_private = '1000' -%} +{%- endif -%} --- classes: - cluster.baremetal-mcp-pike-common-ha.openstack_compute @@ -23,11 +28,6 @@ parameters: libvirt_bin: /etc/default/libvirtd linux: network: - dpdk_pkgs: - - dpdk - - dpdk-dev - - dpdk-igb-uio-dkms - - dpdk-rte-kni-dkms interface: dpdk0: name: ${_param:dpdk0_name} @@ -40,3 +40,8 @@ parameters: br-prv: enabled: true type: dpdk_ovs_bridge + address: ${_param:tenant_address} + netmask: 255.255.255.0 + {%- if vlan_private and vlan_private != 'native' %} + tag: {{ vlan_private }} + {%- endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/init.yml index 7d85fda41..49af851cc 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/init.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/init.yml @@ -10,7 +10,7 @@ classes: - cluster.baremetal-mcp-pike-common-ha.openstack_init parameters: _param: - neutron_tenant_network_types: "flat,vlan" + neutron_tenant_network_types: "flat,vxlan" neutron_tenant_vlan_range: "1000:1030" nova_cpu_pinning: "5-7,13-15" compute_hugepages_size: 2M diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/compute.yml b/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/compute.yml index 819fa5efa..c59cdaade 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/compute.yml +++ b/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/compute.yml @@ -19,11 +19,6 @@ parameters: tenant_network_types: ${_param:neutron_tenant_network_types} linux: network: - dpdk_pkgs: - - dpdk - - dpdk-dev - - dpdk-igb-uio-dkms - - dpdk-rte-kni-dkms interface: dpdk0: name: ${_param:dpdk0_name} |