[ovs-dev] [PATCH] rhel: Add timeouts to network scripts.
Ben Pfaff
blp at nicira.com
Wed May 9 16:19:31 UTC 2012
From: Brian Kruger <bkruger+ovsdev at gmail.com>
If the daemon(s) aren't running for whatever reason, the RHEL ovs
ifup/ifdown scripts don't take that into account and an attempt to reboot a
system could take forever. (literally. endless loop!) Here are a couple of
patches (one of ifup, one for ifdown) to add timeouts (10 seconds), because
it runs per interface you have configured and that could take awhile to
reboot a system if needed.
Signed-off-by: Brian Kruger <bkruger+ovsdev at gmail.com>
[blp at nicira.com fixed up a conflict against master]
Signed-off-by: Ben Pfaff <blp at nicira.com>
---
I'm sending this patch out in the standard email form for review.
Guru, will you take a look at it?
(My apologies if anyone gets multiple copies: the MTA gave me an
error code on the first try.)
AUTHORS | 1 +
rhel/etc_sysconfig_network-scripts_ifdown-ovs | 5 +++--
rhel/etc_sysconfig_network-scripts_ifup-ovs | 9 +++++----
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/AUTHORS b/AUTHORS
index e207f3c..89472b3 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -8,6 +8,7 @@ Andrew Lambeth wal at nicira.com
Andy Southgate andy.southgate at citrix.com
Arun Sharma arun.sharma at calsoftinc.com
Ben Pfaff blp at nicira.com
+Brian Kruger bkruger+ovsdev at gmail.com
Bryan Phillippe bp at toroki.com
Casey Barker crbarker at google.com
Chris Wright chrisw at sous-sol.org
diff --git a/rhel/etc_sysconfig_network-scripts_ifdown-ovs b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
index 3b5252d..19047d8 100755
--- a/rhel/etc_sysconfig_network-scripts_ifdown-ovs
+++ b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
@@ -22,6 +22,7 @@ cd /etc/sysconfig/network-scripts
[ -f ../network ] && . ../network
CONFIG=${1}
+TIMEOUT=10
source_config
@@ -37,12 +38,12 @@ case "$TYPE" in
OVSBridge)
${OTHERSCRIPT} ${CONFIG} $2
retval=$?
- ovs-vsctl -- --if-exists del-br "$DEVICE"
+ ovs-vsctl -t ${TIMEOUT} -- --if-exists del-br "$DEVICE"
;;
OVSPort|OVSIntPort|OVSBond)
${OTHERSCRIPT} ${CONFIG} $2
retval=$?
- ovs-vsctl -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
+ ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
;;
*)
echo $"Invalid OVS interface type $TYPE"
diff --git a/rhel/etc_sysconfig_network-scripts_ifup-ovs b/rhel/etc_sysconfig_network-scripts_ifup-ovs
index b800ce0..c427879 100755
--- a/rhel/etc_sysconfig_network-scripts_ifup-ovs
+++ b/rhel/etc_sysconfig_network-scripts_ifup-ovs
@@ -22,6 +22,7 @@ cd /etc/sysconfig/network-scripts
[ -f ../network ] && . ../network
CONFIG=${1}
+TIMEOUT=10
need_config ${CONFIG}
@@ -35,7 +36,7 @@ fi
case "$TYPE" in
OVSBridge)
- ovs-vsctl -- --may-exist add-br "$DEVICE" $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
+ ovs-vsctl -t ${TIMEOUT} -- --may-exist add-br "$DEVICE" $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
if [ "${OVSBOOTPROTO}" = "dhcp" ] && [ -n "${OVSINTF}" ]; then
case " ${OVSDHCPINTERFACES} " in
*" ${OVSINTF} "*)
@@ -50,12 +51,12 @@ case "$TYPE" in
OVSPort)
/sbin/ifup "$OVS_BRIDGE"
${OTHERSCRIPT} ${CONFIG} ${2}
- ovs-vsctl -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
+ ovs-vsctl -t ${TIMEOUT} -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
OVSINTF=${DEVICE} /sbin/ifup "$OVS_BRIDGE"
;;
OVSIntPort)
/sbin/ifup "$OVS_BRIDGE"
- ovs-vsctl -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS -- set Interface "$DEVICE" type=internal ${OVS_EXTRA+-- $OVS_EXTRA}
+ ovs-vsctl -t ${TIMEOUT} -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS -- set Interface "$DEVICE" type=internal ${OVS_EXTRA+-- $OVS_EXTRA}
${OTHERSCRIPT} ${CONFIG} ${2}
;;
OVSBond)
@@ -63,7 +64,7 @@ case "$TYPE" in
for _iface in $BOND_IFACES; do
/sbin/ifup ${_iface}
done
- ovs-vsctl -- --fake-iface add-bond "$OVS_BRIDGE" "$DEVICE" ${BOND_IFACES} $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
+ ovs-vsctl -t ${TIMEOUT} -- --fake-iface add-bond "$OVS_BRIDGE" "$DEVICE" ${BOND_IFACES} $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
${OTHERSCRIPT} ${CONFIG} ${2}
OVSINTF=${DEVICE} /sbin/ifup "$OVS_BRIDGE"
;;
--
1.7.2.5
More information about the dev
mailing list