WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-api

[Xen-API] [PATCH 5 of 7] [PATCH] xenserver: Fix vNetManager internal net

To: xen-api@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-API] [PATCH 5 of 7] [PATCH] xenserver: Fix vNetManager internal network compatibility with XS 5.5.0
From: David Scott <dave.scott@xxxxxxxxxxxxx>
Date: Thu, 8 Jul 2010 14:30:47 +0100
Delivery-date: Thu, 08 Jul 2010 06:43:16 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <patchbomb.1278595842@ely>
List-help: <mailto:xen-api-request@lists.xensource.com?subject=help>
List-id: Discussion of API issues surrounding Xen <xen-api.lists.xensource.com>
List-post: <mailto:xen-api@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=unsubscribe>
References: <patchbomb.1278595842@ely>
Sender: xen-api-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mercurial-patchbomb/1.4.3
# HG changeset patch
# User Ben Pfaff <blp@xxxxxxxxxx>
# Date 1278595822 -3600
# Node ID cc07101c76554555b3d0d318a9522afb7001bd1c
# Parent  55274f6110830e7d64685be8f0a02d50eb05aab5
[PATCH] xenserver: Fix vNetManager internal network compatibility with XS 5.5.0.

>From b09d5ec96a32c906bb35770937120401f64e90b7 Mon Sep 17 00:00:00 2001
Date: Tue, 2 Mar 2010 12:20:43 -0800
The previous commit depends on XAPI to add "xs-network-uuids" external IDs
for internal networks.  Only recent XAPI builds do this and in particular
the version in XenServer 5.5.0 does not.  This commit restores support
for these older XenServer versions.

The xs-network-names field is no longer set.  We plan to avoid the need for
it in the software that once used it.  It was always a bit of a kluge
anyhow.

CC: Ian Campbell <ian.campbell@xxxxxxxxxx>
Signed-off-by: Ben Pfaff <blp@xxxxxxxxxx>
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
 scripts/vif |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff -r 55274f611083 -r cc07101c7655 scripts/vif
--- a/scripts/vif       Thu Jul 08 14:30:21 2010 +0100
+++ b/scripts/vif       Thu Jul 08 14:30:22 2010 +0100
@@ -103,6 +103,32 @@
     fi
 }
 
+xs550_set_internal_network_uuid()
+{
+    . /etc/xensource-inventory
+    if test "$PRODUCT_VERSION" = "5.5.0" || test "${BUILD_NUMBER%p}" -le 26131
+    then
+        # vNetManager needs to know the network UUID(s) associated with each
+        # datapath.  Normally interface-reconfigure adds them, but XAPI does
+        # not use interface-reconfigure for internal networks. Instead, XAPI
+        # calls the addbr ioctl internally, so we have to do it here instead
+        # for internal networks.  This is only acceptable because xapi is lazy
+        # about creating internal networks: it only creates one just before it
+        # adds the first vif to it.  There may still be a brief delay between
+        # 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} xs-network-uuids ${net_uuid}"
+            echo "-- br-set-external-id \"$bridge\" xs-network-uuids 
\"${net_uuid}\""
+        fi
+    else
+        # XAPI after 5.5.0 sets the network external ids itself, via ovs-vsctl.
+        :
+    fi
+}
+
 add_to_bridge()
 {
     local address=$(xenstore-read "${PRIVATE}/bridge-MAC")
@@ -133,7 +159,7 @@
                local vif_details=$(handle_vswitch_vif_details)
            fi
 
-           $vsctl -- --if-exists del-port $dev -- add-port $bridge $dev 
$vif_details
+           $vsctl -- --if-exists del-port $dev -- add-port $bridge $dev 
$vif_details $(xs550_set_internal_network_uuid)
            ;;
     esac
            
 scripts/vif |  28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)


Attachment: txt253wkMxXmJ.txt
Description: Text Data

_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api
<Prev in Thread] Current Thread [Next in Thread>