diff options
author | Brian Kruger <bkruger+ovsdev@gmail.com> | 2012-05-09 09:13:42 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2012-05-09 12:32:17 -0700 |
commit | cfa9bf12e1fda7733e83dffbe14b2eecbf9a9813 (patch) | |
tree | 1e2155f26959c8ca3c5bfdf220035c6b0124a8d3 /rhel | |
parent | a6a60925d7425685dd7876ec7da162fa5d73a3b8 (diff) |
rhel: Add timeouts to network scripts.
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@gmail.com>
[blp@nicira.com fixed up a conflict against master]
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'rhel')
-rwxr-xr-x | rhel/etc_sysconfig_network-scripts_ifdown-ovs | 5 | ||||
-rwxr-xr-x | rhel/etc_sysconfig_network-scripts_ifup-ovs | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/rhel/etc_sysconfig_network-scripts_ifdown-ovs b/rhel/etc_sysconfig_network-scripts_ifdown-ovs index 3b5252d7..19047d8b 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 b800ce05..c4278790 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" ;; |