Add ports to ovs bridge config 61/56261/1
authorMichael Polenchuk <mpolenchuk@mirantis.com>
Tue, 3 Apr 2018 15:24:12 +0000 (19:24 +0400)
committerMichael Polenchuk <mpolenchuk@mirantis.com>
Mon, 23 Apr 2018 10:53:47 +0000 (10:53 +0000)
To avoid race with interfaces initialization specify all
the ports that belong to a bridge in the config file.

Change-Id: Ie4f48e7a81d4659a0f43749cdd518dbeffe2e35f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
(cherry picked from commit 9c9a1adc6f2501507a68b1926ea93efcb40782d1)

mcp/patches/0015-Set-ovs-bridges-as-L3-interfaces.patch
mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute_pdf.yml.j2

index 86c1d51..c55a372 100644 (file)
@@ -14,10 +14,10 @@ Change-Id: I1e83129cc184cf481bea21d7aa452bf60d9e0499
 
 diff --git a/linux/files/ovs_bridge b/linux/files/ovs_bridge
 new file mode 100644
-index 0000000..216581f
+index 0000000..c609e45
 --- /dev/null
 +++ b/linux/files/ovs_bridge
-@@ -0,0 +1,10 @@
+@@ -0,0 +1,13 @@
 +auto {{ bridge_name }}
 +allow-ovs {{ bridge_name }}
 +iface {{ bridge_name }} inet static
@@ -25,6 +25,9 @@ index 0000000..216581f
 +  address {{ bridge.address }}
 +  netmask {{ bridge.netmask }}
 +  mtu {{ bridge.get('mtu', '1500') }}
++  {%- if bridge.use_interfaces is defined %}
++  ovs_ports {{ bridge.use_interfaces|join(' ') }}
++  {%- endif %}
 +  {%- if bridge.datapath_type is defined %}
 +  ovs_extra set Bridge ${IFACE} datapath_type={{ bridge.datapath_type }}
 +  {%- endif %}
@@ -43,7 +46,7 @@ index 222ca8e..efb0307 100644
  mtu {{ port.get('mtu', '1500') }}
  ovs_bridge {{ port.bridge }}
 diff --git a/linux/network/interface.sls b/linux/network/interface.sls
-index fa37e5e..b5ed1ae 100644
+index 180f912..dcb295b 100644
 --- a/linux/network/interface.sls
 +++ b/linux/network/interface.sls
 @@ -91,6 +91,34 @@ add_int_{{ int_name }}_to_ovs_dpdk_bridge_{{ interface_name }}:
index 412ca48..998253c 100644 (file)
@@ -80,6 +80,8 @@ parameters:
           proto: static
           address: ${_param:external_address}
           netmask: ${_param:opnfv_net_public_mask}
+          use_interfaces:
+            - {{ nm.cmp001.nic_public }}{% if nm.vlan_public | int > 0 %}.{{ nm.vlan_public }}{% endif %}
           route:
             public:
               address: 0.0.0.0