# HG changeset patch
# User Ben Pfaff <blp@xxxxxxxxxx>
# Date 1278595551 -3600
# Node ID a3c387c9835cee7e280e5e99436d720ff8971738
# Parent fed38a5f5a3ce46f59545f3d1ffdb0ad31c64744
[PATCH] xenserver: Set xs-network-uuids for both datapath and VLAN bridges.
>From c0a50086d9e60995b17bdd8a4e1f150caba337d5 Mon Sep 17 00:00:00 2001
Date: Mon, 22 Feb 2010 16:41:19 -0800
It makes sense to set xs-network-uuids for every bridge, so this commit
does so. It also makes the code a bit more readable by factoring logic
out into a new function.
Signed-off-by: Ben Pfaff <blp@xxxxxxxxxx>
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
...ensource_libexec_InterfaceReconfigureVswitch.py | 39 ++++++++++++--------
1 files changed, 23 insertions(+), 16 deletions(-)
diff -r fed38a5f5a3c -r a3c387c9835c scripts/InterfaceReconfigureVswitch.py
--- a/scripts/InterfaceReconfigureVswitch.py Thu Jul 08 14:25:51 2010 +0100
+++ b/scripts/InterfaceReconfigureVswitch.py Thu Jul 08 14:25:51 2010 +0100
@@ -257,6 +257,7 @@
vsctl_argv += ['# add physical device %s' % iface]
vsctl_argv += ['--', '--may-exist', 'add-port', bridge, iface]
+ vsctl_argv += set_br_external_ids(pif)
return vsctl_argv,extra_up_ports
def deconfigure_datapath(pif):
@@ -284,6 +285,26 @@
return vsctl_argv
+def set_br_external_ids(pif):
+ xs_network_uuids = []
+ for nwpif in db().get_pifs_by_device(db().get_pif_record(pif)['device']):
+ rec = db().get_pif_record(nwpif)
+
+ # When state is read from dbcache PIF.currently_attached
+ # is always assumed to be false... Err on the side of
+ # listing even detached networks for the time being.
+ #if nwpif != pif and not rec['currently_attached']:
+ # log("Network PIF %s not currently attached (%s)" %
(rec['uuid'],pifrec['uuid']))
+ # continue
+ nwrec = db().get_network_record(rec['network'])
+ xs_network_uuids += [nwrec['uuid']]
+
+ vsctl_argv = []
+ vsctl_argv += ['# configure xs-network-uuids']
+ vsctl_argv += ['--', 'br-set-external-id', pif_bridge_name(pif),
+ 'xs-network-uuids', ';'.join(xs_network_uuids)]
+ return vsctl_argv
+
#
#
#
@@ -324,22 +345,8 @@
# Stack a VLAN bridge on top of it.
vsctl_argv += ['--', '--may-exist', 'add-br',
bridge, pif_bridge_name(self._dp), pifrec['VLAN']]
- xs_network_uuids = []
- for nwpif in
db().get_pifs_by_device(db().get_pif_record(self._pif)['device']):
- rec = db().get_pif_record(nwpif)
- # When state is read from dbcache PIF.currently_attached
- # is always assumed to be false... Err on the side of
- # listing even detached networks for the time being.
- #if nwpif != pif and not rec['currently_attached']:
- # log("Network PIF %s not currently attached (%s)" %
(rec['uuid'],pifrec['uuid']))
- # continue
- nwrec = db().get_network_record(rec['network'])
- xs_network_uuids += [nwrec['uuid']]
-
- vsctl_argv += ['# configure xs-network-uuids']
- vsctl_argv += ['--', 'br-set-external-id', bridge,
- 'xs-network-uuids', ';'.join(xs_network_uuids)]
+ vsctl_argv += set_br_external_ids(self._pif)
if ipdev != bridge:
vsctl_argv += ["# deconfigure ipdev %s" % ipdev]
scripts/InterfaceReconfigureVswitch.py | 37 ++++++++++++++++++++-------------
1 files changed, 22 insertions(+), 15 deletions(-)
txti2Fm8hYZ6b.txt
Description: Text Data
_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api
|