summaryrefslogtreecommitdiffstats
path: root/mcp/patches/0007-network.interface-Fix-ifup-OVS-port-with-route.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mcp/patches/0007-network.interface-Fix-ifup-OVS-port-with-route.patch')
-rw-r--r--mcp/patches/0007-network.interface-Fix-ifup-OVS-port-with-route.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/mcp/patches/0007-network.interface-Fix-ifup-OVS-port-with-route.patch b/mcp/patches/0007-network.interface-Fix-ifup-OVS-port-with-route.patch
new file mode 100644
index 000000000..c36631aea
--- /dev/null
+++ b/mcp/patches/0007-network.interface-Fix-ifup-OVS-port-with-route.patch
@@ -0,0 +1,32 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Sun, 31 Dec 2017 16:06:30 +0100
+Subject: [PATCH] network.interface: Fix ifup OVS port with route
+
+This change attempts to fix the following sequence for nodes with
+OVS ports that also have routes defined:
+- state.sls linux.network; system.reboot; state.sls linux.network;
+
+If an OVS port also has a route defined, a route cfg file is
+created in </etc/network/if.{down,up}.d/>, which is sourced after
+system reboot before we (eventually) re-run `interface.sls`, leaving
+the OVS port in UP state, so `ifup` would fail.
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ linux/network/interface.sls | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/linux/network/interface.sls b/linux/network/interface.sls
+--- a/linux/network/interface.sls
++++ b/linux/network/interface.sls
+@@ -146,6 +146,10 @@ ovs_port_up_{{ interface_name }}:
+ - file: ovs_port_{{ interface_name }}_line2
+ - openvswitch_bridge: ovs_bridge_{{ interface.bridge }}
+ - file: linux_interfaces_final_include
++ {%- if interface.route is defined %}
++ - unless:
++ - ip link show {{ interface_name }} | grep -q '\<UP\>'
++ {% endif %}
+
+ {%- endif %}
+