XAPI calls the "update" method of the vswitch-cfg-update plugin whenever it
starts or restarts. Thus, this is a good place to trigger updating network
UUIDs. This commit implements that behavior. This should fix the problem
of network UUIDs not being updated on pool join, since XAPI restarts when
it joins a pool.
When XenServer 5.5 support is no longer interesting, we should integrate
the refresh-network-uuids script into the XAPI plugin.
Lightly tested, works for me on 5.6.810-31078p.
See-also: http://openvswitch.org/pipermail/dev_openvswitch.org/2010-June/002216.html
Suggested-by: Rob Hoes <rob.hoes@citrix.com>
Bug #2097.
pass
def update(session, args):
+ # Refresh bridge network UUIDs in case this host joined or left a pool.
+ script = "/usr/share/openvswitch/scripts/refresh-network-uuids"
+ try:
+ retval = subprocess.call(script)
+ if retval != 0:
+ syslog.syslog("%s exited with status %d" % (script, retval))
+ except OSError, e:
+ syslog.syslog("%s: failed to execute (%s)" % (script, e.strerror))
+
pools = session.xenapi.pool.get_all()
# We assume there is only ever one pool...
if len(pools) == 0: