From: Justin Pettit Date: Wed, 21 Apr 2010 10:42:52 +0000 (-0700) Subject: xenserver: Set internal network-uuids in Bridge table on XS5.5 X-Git-Tag: v1.0.0~100 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=79eb8b002c588e6f7495a0cd73d8a0597a458442;p=sliver-openvswitch.git xenserver: Set internal network-uuids in Bridge table on XS5.5 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 --- diff --git a/xenserver/etc_xensource_scripts_vif b/xenserver/etc_xensource_scripts_vif index e82642953..eed87fabc 100755 --- a/xenserver/etc_xensource_scripts_vif +++ b/xenserver/etc_xensource_scripts_vif @@ -116,10 +116,7 @@ handle_vswitch_vif_details() 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 @@ -131,7 +128,6 @@ xs550_set_internal_network_uuid() # 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}" @@ -166,10 +162,10 @@ add_to_bridge() ;; openvswitch) if [ "$TYPE" = "vif" ] ; then - local vif_details=$(handle_vswitch_vif_details) + local vif_details=$(handle_vswitch_vif_details $bridge) fi - $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 ;; esac