Looks good to me. Probably adding the --no-wait along with the timeout
option is not that important.

On Wed, May 9, 2012 at 9:19 AM, Ben Pfaff <b...@nicira.com> wrote:
> From: Brian Kruger <bkruger+ovs...@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+ovs...@gmail.com>
> [b...@nicira.com fixed up a conflict against master]
> Signed-off-by: Ben Pfaff <b...@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          w...@nicira.com
>  Andy Southgate          andy.southg...@citrix.com
>  Arun Sharma             arun.sha...@calsoftinc.com
>  Ben Pfaff               b...@nicira.com
> +Brian Kruger            bkruger+ovs...@gmail.com
>  Bryan Phillippe         b...@toroki.com
>  Casey Barker            crbar...@google.com
>  Chris Wright            chr...@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
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to