On Wed, May 9, 2012 at 9:48 AM, Ben Pfaff <b...@nicira.com> wrote: > Are you suggesting that we add --no-wait as well? I think that would > be unwise, because it introduces a race: sometimes, the new network > interface will not exist when the script exits.
Thanks. I will send a patch to fix the debian startup scripts that uses the "--no-wait" option. ~Guru > > On Wed, May 09, 2012 at 09:40:23AM -0700, Gurucharan Shetty wrote: >> 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