[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-API] [PATCH 1/4] xenserver: Kill bond slaves' dhclients when bringing up bond master.
From 5a6a6e0aeb9af861b778de16bcad0fcf199f5eec Mon Sep 17 00:00:00 2001 From: Ben Pfaff <blp@xxxxxxxxxx> Date: Fri, 16 Jul 2010 09:22:23 -0700Subject: [PATCH 1/4] 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@xxxxxxxxxx> Acked-by: Ian Campbell <Ian.Campbell@xxxxxxxxxx> CC: Dominic Curran <dominic.curran@xxxxxxxxxx> Reported-by: Michael Mao <mmao@xxxxxxxxxx> Bug #2668. --- scripts/InterfaceReconfigureVswitch.py | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 deletions(-)diff --git a/scripts/InterfaceReconfigureVswitch.py b/scripts/InterfaceReconfigureVswitch.py index a8dff53..4766850 100644 --- a/scripts/InterfaceReconfigureVswitch.py +++ b/scripts/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 -- 1.6.3.3 _______________________________________________ xen-api mailing list xen-api@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/mailman/listinfo/xen-api
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |