I spent some time earlier this week tracking down a problem I've
experienced under both Fedora 19 and 20: upon a reboot, br-ex would
not be configured with an ip address despite a valid configuration in
/etc/sysconfig/network-scripts/ifcfg-br-ex.  I've seen a few other
people report this problem as well.

It turns out this was due to the following logic in ifup-ovs:

  if check_device_down "${DEVICE}"; then
          ovs-vsctl -t ${TIMEOUT} -- --may-exist add-br "$DEVICE" $OVS_OPTIO
          ${OVS_EXTRA+-- $OVS_EXTRA} \
          ${STP+-- set bridge "$DEVICE" stp_enable="${STP}"}
  else
          OVSBRIDGECONFIGURED="yes"
  fi

The call to check_device_down was always returning false, setting
OVSBRIDGECONFIGURED=yes, so the call to ifup-eth later in the script
never happens:

  # When dhcp is not enabled, it is possible that someone may want
  # a standalone bridge (i.e it may not have any ports). Configure it.
  if [ "${OVSBOOTPROTO}" != "dhcp" ] && [ -z "${OVSINTF}" ] && \
          [ "${OVSBRIDGECONFIGURED}" != "yes" ]; then
          ${OTHERSCRIPT} ${CONFIG}
  fi

I think this is happening because OVS devices are persistent, so when the
system starts up ovs, br-ex is (a) created and (b) has the link state
set to "up".

I've fixed this locally by simply removing the "else" component of
that first if statement, so that it looks like:

  if check_device_down "${DEVICE}"; then
          ovs-vsctl -t ${TIMEOUT} -- --may-exist add-br "$DEVICE" $OVS_OPTIO
          ${OVS_EXTRA+-- $OVS_EXTRA} \
          ${STP+-- set bridge "$DEVICE" stp_enable="${STP}"}
  fi

Does that seem reasonable?  The only consequence of this is that
$OTHERSCRIPT will be called every time one runs "ifup
<bridge-device>".

Also, just to be explicit, this is only a problem with "standalone"
bridges -- bridge devices that don't have any ports configured through
ifcfg-... scripts.

Cheers,

-- 
Lars Kellogg-Stedman <l...@redhat.com> | larsks @ irc
Cloud Engineering / OpenStack          | "   "  @ twitter

Attachment: pgpLoizS4SbxN.pgp
Description: PGP signature

_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to