[ovs-dev] [PATCH] xenserver: make ovs-xenserverd startup configurable and disable it for 5.6.0 onwards.

Ian Campbell Ian.Campbell at citrix.com
Fri Jun 4 03:42:22 PDT 2010


On Fri, 2010-06-04 at 00:04 +0100, Ben Pfaff wrote:

> Here's a proposed fix for everyone to review, then:

I finally managed to repro the failure, it turns out simple networking
configurations are harder to get right than complex ones since complex
ones will inevitably trigger some sort of call to interface-reconfigure
etc.

With that I was able to test and confirm that this patch works as
expected.

Ian.

> 
> --8<--------------------------cut here-------------------------->8--
> 
> From 6315d5b3fe82bf7df7b938957fa46a3e42f5f42b Mon Sep 17 00:00:00 2001
> From: Ben Pfaff <blp at nicira.com>
> Date: Thu, 3 Jun 2010 16:03:26 -0700
> Subject: [PATCH] xenserver: Update network UUIDs whenever XAPI restarts.
> 
> According to:
> http://openvswitch.org/pipermail/dev_openvswitch.org/2010-June/002216.html
> XAPI calls the "update" method of plugins 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.
> 
> Suggested-by: Rob Hoes <rob.hoes at citrix.com>
> Bug #2097.
> ---
>  .../etc_xapi.d_plugins_openvswitch-cfg-update      |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
> 
> diff --git a/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update b/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
> index 04d0774..ebc1b36 100755
> --- a/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
> +++ b/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
> @@ -39,6 +39,15 @@ def delete_cacert():
>          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:






More information about the dev mailing list