From a70ff93200b5f34712d4c83d0ccfb522a7d01d3e Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 14 Mar 2018 15:28:51 +0100 Subject: [run-virt/iptables-helper] Handle race condition when adding interfaces --- .../iptables-helper/data/opt/openslx/iptables/iptables-reloader | 2 ++ .../data/opt/openslx/iptables/iptables-reloader-worker | 5 ++++- core/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env | 3 ++- core/modules/vmware12/data/opt/openslx/scripts/systemd-vmware_env | 3 ++- 4 files changed, 10 insertions(+), 3 deletions(-) (limited to 'core') diff --git a/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader b/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader index 60ca1e2c..d29b7725 100755 --- a/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader +++ b/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader @@ -1,5 +1,7 @@ #!/bin/ash +rm -f -- "/run/iptables-reloader.cache" "/run/iptables-reloader.lock" + /opt/openslx/iptables/iptables-reloader-worker exec /opt/openslx/sbin/inotifyd /opt/openslx/iptables/iptables-reloader-worker /opt/openslx/iptables/rules.d:cndmy diff --git a/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader-worker b/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader-worker index 43e35eca..4ee3ac8a 100755 --- a/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader-worker +++ b/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader-worker @@ -29,7 +29,10 @@ reload_rules () { done # No change? Do nothing... - [ -s "${ALL_RULES}" -a -s "${ALL_RULES}.new" ] && diff "${ALL_RULES}" "${ALL_RULES}.new" && exit 0 + if [ -s "${ALL_RULES}" ] && [ -s "${ALL_RULES}.new" ] && diff "${ALL_RULES}" "${ALL_RULES}.new"; then + rm -f -- "${ALL_RULES}.new" + exit 0 + fi # Reset # Filter diff --git a/core/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env b/core/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env index ff4d58c5..fde7c9c5 100755 --- a/core/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env +++ b/core/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env @@ -86,7 +86,8 @@ vmnetif () { vmnet="$(( vmnet + 1 ))" done fi - + # Printergui rules etc. + systemctl --no-block restart openslx-iptables.service } vmblock () { diff --git a/core/modules/vmware12/data/opt/openslx/scripts/systemd-vmware_env b/core/modules/vmware12/data/opt/openslx/scripts/systemd-vmware_env index ff4d58c5..fde7c9c5 100755 --- a/core/modules/vmware12/data/opt/openslx/scripts/systemd-vmware_env +++ b/core/modules/vmware12/data/opt/openslx/scripts/systemd-vmware_env @@ -86,7 +86,8 @@ vmnetif () { vmnet="$(( vmnet + 1 ))" done fi - + # Printergui rules etc. + systemctl --no-block restart openslx-iptables.service } vmblock () { -- cgit v1.2.3-55-g7522