From 0c05f52aaf024db6443336f69ebc7c6e037d06b9 Mon Sep 17 00:00:00 2001 From: Michael Polenchuk Date: Wed, 23 Jan 2019 15:36:57 +0400 Subject: Update openvswitch to 2.10 Change-Id: I0121b3190869528e5f2e9985f9e9299ac6c6724e Signed-off-by: Michael Polenchuk --- .../0001-Set-ovs-bridges-as-L3-interfaces.patch | 27 ++++++++++++++-------- .../all-mcp-arch-common/openvswitch_210.yml | 14 +++++++++++ .../cluster/mcp-common-noha/openstack_init.yml.j2 | 9 ++------ .../cluster/mcp-odl-noha/openstack/compute.yml.j2 | 5 ++++ .../cluster/mcp-odl-noha/openstack/gateway.yml.j2 | 2 ++ .../mcp-ovs-dpdk-noha/openstack/gateway.yml.j2 | 2 ++ 6 files changed, 43 insertions(+), 16 deletions(-) create mode 100644 mcp/reclass/classes/cluster/all-mcp-arch-common/openvswitch_210.yml diff --git a/mcp/patches/salt-formula-linux/0001-Set-ovs-bridges-as-L3-interfaces.patch b/mcp/patches/salt-formula-linux/0001-Set-ovs-bridges-as-L3-interfaces.patch index cf3da7feb..a1230be34 100644 --- a/mcp/patches/salt-formula-linux/0001-Set-ovs-bridges-as-L3-interfaces.patch +++ b/mcp/patches/salt-formula-linux/0001-Set-ovs-bridges-as-L3-interfaces.patch @@ -12,16 +12,18 @@ Subject: [PATCH] Set ovs bridges as L3 interfaces diff --git a/linux/files/ovs_bridge b/linux/files/ovs_bridge new file mode 100644 -index 0000000..d33864c +index 0000000..1322eeb --- /dev/null +++ b/linux/files/ovs_bridge -@@ -0,0 +1,18 @@ +@@ -0,0 +1,20 @@ +auto {{ bridge_name }} +allow-ovs {{ bridge_name }} -+iface {{ bridge_name }} inet static ++iface {{ bridge_name }} inet {{ bridge.get('proto', 'static' if bridge.address is defined else 'manual') }} + ovs_type OVSBridge ++ {%- if bridge.address is defined %} + address {{ bridge.address }} + netmask {{ bridge.netmask }} ++ {%- endif %} + {%- if bridge.use_interfaces is defined %} + ovs_ports {{ bridge.use_interfaces|join(' ') }} + {%- endif %} @@ -52,14 +54,13 @@ index 222ca8e..03072cd 100644 mtu {{ port.get('mtu', '1500') }} ovs_bridge {{ port.bridge }} diff --git a/linux/network/interface.sls b/linux/network/interface.sls -index a39fc37..c4a94a3 100644 +index a39fc37..8bce092 100644 --- a/linux/network/interface.sls +++ b/linux/network/interface.sls -@@ -92,6 +92,37 @@ add_int_{{ int_name }}_to_ovs_dpdk_bridge_{{ interface_name }}: +@@ -92,6 +92,35 @@ add_int_{{ int_name }}_to_ovs_dpdk_bridge_{{ interface_name }}: ovs_bridge_{{ interface_name }}: openvswitch_bridge.present: - name: {{ interface_name }} -+{%- if interface.get('proto', 'manual') == 'static' %} + file.managed: + - name: /etc/network/interfaces.u/ifcfg-{{ interface_name }} + - makedirs: True @@ -87,13 +88,21 @@ index a39fc37..c4a94a3 100644 + {%- if network.noifupdown|d(false) or interface.noifupdown|d(false) %} + - onlyif: /bin/false + {%- else %} -+ - unless: ip link show {{ interface_name }} | grep -q '\' ++ - unless: grep -qFx up /sys/class/net/{{ interface_name }}/operstate + {%- endif %} -+{%- endif %} {# add linux network interface into OVS bridge #} {%- for int_name, int in network.interface.items() %} -@@ -176,6 +207,9 @@ ovs_port_{{ interface_name }}_line2: +@@ -102,7 +131,7 @@ ovs_bridge_{{ interface_name }}: + + add_int_{{ int_name }}_to_ovs_bridge_{{ interface_name }}: + cmd.run: +- - unless: ovs-vsctl show | grep {{ int_name }} ++ - unless: ovs-vsctl list-ports {{ interface_name }} | grep -qFx {{ int_name }} + - name: ovs-vsctl{%- if network.ovs_nowait %} --no-wait{%- endif %} add-port {{ interface_name }} {{ int_name }} + + {%- endif %} +@@ -176,6 +205,9 @@ ovs_port_{{ interface_name }}_line2: ovs_port_up_{{ interface_name }}: cmd.run: - name: ifup {{ interface_name }} diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/openvswitch_210.yml b/mcp/reclass/classes/cluster/all-mcp-arch-common/openvswitch_210.yml new file mode 100644 index 000000000..cefca2e3e --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/openvswitch_210.yml @@ -0,0 +1,14 @@ +parameters: + _param: + repo_ovs_210: https://mirror.mirantis.com/nightly/openstack-rocky/${_param:linux_system_codename} + linux: + system: + repo: + openvswitch: + source: "deb ${_param:repo_ovs_210} ${_param:linux_system_codename} main" + clean_file: true + key_url: ${_param:repo_ovs_210}/archive-rocky.key + pin: + - pin: 'release l=openstack-rocky-nightly' + priority: 1101 + package: 'openvswitch* python3-openvswitch ovn* dpdk* libdpdk*' diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml.j2 index 54df34cc6..6c2c088e0 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml.j2 @@ -8,7 +8,7 @@ {%- import 'net_map.j2' as nm with context %} --- classes: - - cluster.all-mcp-arch-common.uca_repo + - cluster.all-mcp-arch-common.openvswitch_210 parameters: _param: openstack_region: RegionOne @@ -83,13 +83,8 @@ parameters: net.ipv4.tcp_congestion_control: yeah net.ipv4.tcp_slow_start_after_idle: 0 net.ipv4.tcp_fin_timeout: 30 - repo: - uca: - pin: - - pin: 'release o=Canonical' - priority: 1200 - package: 'openvswitch* python-openvswitch ovn* dpdk* libdpdk*' {%- if 'aarch64' in nm.cluster.arch %} + repo: armband_3: # Should be in sync with the repo config generated via curtin/MaaS source: "deb http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename} ${_param:openstack_version}-armband main" key: ${_param:armband_key} 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 3e912c1e3..5d8d26a1a 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 @@ -21,6 +21,7 @@ classes: parameters: linux: network: + ovs_nowait: false interface: {%- if '-ovs-' in conf.MCP_DEPLOY_SCENARIO %} dpdk0: @@ -48,11 +49,15 @@ parameters: br-floating: enabled: true type: ovs_bridge + datapath_type: netdev + use_interfaces: + - float-to-ex float-to-ex: enabled: true type: ovs_port mtu: ${_param:interface_mtu} bridge: br-floating + ovs_bridge: br-floating noifupdown: true br-ex: enabled: true diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/gateway.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/gateway.yml.j2 index 58ba34f56..c7272ffe8 100644 --- a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/gateway.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/gateway.yml.j2 @@ -27,6 +27,8 @@ parameters: proto: static address: ${_param:tenant_address} netmask: ${_param:opnfv_net_private_mask} + use_interfaces: + - {{ nm.ctl01.nic_private }} {%- else %} br-mesh: enabled: true diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/gateway.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/gateway.yml.j2 index 8d11eedcd..3ec0c8234 100644 --- a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/gateway.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/gateway.yml.j2 @@ -25,3 +25,5 @@ parameters: enabled: true type: ovs_bridge mtu: ${_param:interface_mtu} + use_interfaces: + - {{ nm.ctl01.nic_private }} -- cgit 1.2.3-korg