On XenServer 5.5, interface-reconfigure is not called when creating
internal bridges, so we jump through extra hoops to determine the
network UUIDs. The code that handled this was not properly retrieving
the UUIDs from XAPI, so the field would never be set. This commit
corrects that.
Bug #2666
if [ -n "${address}" ] ; then
set_vif_external_id "vif-mac" "${address}"
fi
if [ -n "${address}" ] ; then
set_vif_external_id "vif-mac" "${address}"
fi
-xs550_set_internal_network_uuid()
-{
if $xs550; then
# vNetManager needs to know the network UUID(s) associated with each
# datapath. Normally interface-reconfigure adds them, but XAPI does
if $xs550; then
# vNetManager needs to know the network UUID(s) associated with each
# datapath. Normally interface-reconfigure adds them, but XAPI does
# the initial ovs-vswitchd connection to vNetManager and setting this
# configuration variable, but vNetManager can tolerate that.
local bridge=$1
# the initial ovs-vswitchd connection to vNetManager and setting this
# configuration variable, but vNetManager can tolerate that.
local bridge=$1
- local net_uuid=$(xenstore-read "${PRIVATE}/network-uuid" 2>/dev/null)
if [ -n "${net_uuid}" ] ; then
logger -t scripts-vif "${bridge} network-uuids ${net_uuid}"
echo "-- br-set-external-id $bridge network-uuids ${net_uuid}"
if [ -n "${net_uuid}" ] ; then
logger -t scripts-vif "${bridge} network-uuids ${net_uuid}"
echo "-- br-set-external-id $bridge network-uuids ${net_uuid}"
;;
openvswitch)
if [ "$TYPE" = "vif" ] ; then
;;
openvswitch)
if [ "$TYPE" = "vif" ] ; then
- local vif_details=$(handle_vswitch_vif_details)
+ local vif_details=$(handle_vswitch_vif_details $bridge)
- $vsctl -- --if-exists del-port $dev -- add-port $bridge $dev $vif_details $(xs550_set_internal_network_uuid $bridge)
+ $vsctl -- --if-exists del-port $dev -- add-port $bridge $dev $vif_details