[ovs-dev] InterfaceReconfigureVswitch.py fix didn't make it into xen-api?
Ian Campbell
Ian.Campbell at eu.citrix.com
Fri Feb 11 20:02:40 UTC 2011
On Fri, 2011-02-11 at 18:23 +0000, Ben Pfaff wrote:
> The following fix to InterfaceReconfigureVswitch.py was committed to
> the OVS repository in July 2010. It has an ack from Ian and I CC'd it
> to Dominic, but it looks to me like it didn't make it upstream into
> xen-api.hg. Could you check on that for me?
Thanks for bringing it to our attention.
I'm not sure where this patch got too. I'll chase it up on Monday.
> As background, we'd like OVS to not have to replace these scripts at
> all, but of course we'll have to if we don't get all of our bugfixes
> included upstream.
Absolutely!
BTW xen-api development has recently moved to git at github.com. Would
you be willing to use the github tools to create pull requests against
xen-api.git, which is supposed to help track things and stop them
getting forgotten about/missed, in the future?
If not (I haven't used it myself yet, so I don't know how much of a
burden it is to use) then CCing the xen-api list as you have been should
continue to be sufficient too. This patch well-predates any advice for
you to do that so it wouldn't have helped here.
As a backstop patches to these scripts should at least get picked up
when a new version of openvswitch is sync'd into XCP.
Thanks,
Ian.
>
> Thanks,
>
> Ben.
>
> --8<--------------------------cut here-------------------------->8--
>
> From: Ben Pfaff <blp at nicira.com>
> Date: Fri, 16 Jul 2010 09:22:23 -0700
> Subject: [PATCH] xenserver: Kill bond slaves' dhclients when bringing up bond master.
>
> This fixes the converse of the problem addressed by commit fe19e820
> "xenserver: Kill bond master's dhclient when bringing up bond slave". In
> that commit's log message, I claimed that the converse was not a problem,
> but I was wrong. I must have screwed up in testing, because it really is
> a problem. This commit fixes it.
>
> Signed-off-by: Ben Pfaff <blp at nicira.com>
> Acked-by: Ian Campbell <Ian.Campbell at citrix.com>
> CC: Dominic Curran <dominic.curran at citrix.com>
> Reported-by: Michael Mao <mmao at nicira.com>
> Bug #2668.
> ---
> AUTHORS | 1 +
> ...ensource_libexec_InterfaceReconfigureVswitch.py | 18 +++++++++++++-----
> 2 files changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/AUTHORS b/AUTHORS
> index b0f31d9..97f7c67 100644
> --- a/AUTHORS
> +++ b/AUTHORS
> @@ -37,6 +37,7 @@ Jan Medved jmedved at juniper.net
> Jeongkeun Lee jklee at hp.com
> Joan Cirer joan at ev0.net
> John Galgay john at galgay.net
> +Michael Mao mmao at nicira.com
> Paulo Cravero pcravero at as2594.net
> Peter Balland peter at nicira.com
> Ram Jothikumar rjothikumar at nicira.com
> diff --git a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
> index 1e45759..ef2f1fe 100644
> --- a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
> +++ b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
> @@ -431,17 +431,25 @@ class DatapathVswitch(Datapath):
> def bring_down_existing(self):
> # interface-reconfigure is never explicitly called to down a
> # bond master. However, when we are called to up a slave it
> - # is implicit that we are destroying the master.
> + # is implicit that we are destroying the master. Conversely,
> + # when we are called to up a bond is is implicit that we are
> + # taking down the slaves.
> #
> - # This is (only) important in the case where the bond master
> - # uses DHCP. We need to kill the dhclient process, otherwise
> - # bringing the bond master back up later will fail because
> - # ifup will refuse to start a duplicate dhclient.
> + # This is (only) important in the case where the device being
> + # implicitly taken down uses DHCP. We need to kill the
> + # dhclient process, otherwise performing the inverse operation
> + # later later will fail because ifup will refuse to start a
> + # duplicate dhclient.
> bond_masters = pif_get_bond_masters(self._pif)
> for master in bond_masters:
> log("action_up: bring down bond master %s" % (pif_netdev_name(master)))
> run_command(["/sbin/ifdown", pif_bridge_name(master)])
>
> + bond_slaves = pif_get_bond_slaves(self._pif)
> + for slave in bond_slaves:
> + log("action_up: bring down bond slave %s" % (pif_netdev_name(slave)))
> + run_command(["/sbin/ifdown", pif_bridge_name(slave)])
> +
> def configure(self):
> # Bring up physical devices. ovs-vswitchd initially enables or
> # disables bond slaves based on whether carrier is detected
More information about the dev
mailing list