Change in vdsm[master]: Add a backward reference their master device for Vlan, Bond ...

wudxw at linux.vnet.ibm.com wudxw at linux.vnet.ibm.com
Mon May 20 03:30:35 UTC 2013


Mark Wu has uploaded a new change for review.

Change subject: Add a backward reference their master device for Vlan, Bond and Nic
......................................................................

Add a backward reference their master device for Vlan, Bond and Nic

The netmodels keeps refrence to slave device for a master device, but
the slave device doesn't have a backward reference. This patch adds
the reference on configuring, which can make it easier to handle
properly according to its usage on removing an interface.

Change-Id: Iba8958549a301c9faac70a32cbafdf320128c85a
Signed-off-by: Mark Wu <wudxw at linux.vnet.ibm.com>
---
M vdsm/netmodels.py
1 file changed, 17 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/70/14870/1

diff --git a/vdsm/netmodels.py b/vdsm/netmodels.py
index ef2d5c0..4efd08b 100644
--- a/vdsm/netmodels.py
+++ b/vdsm/netmodels.py
@@ -36,7 +36,11 @@
         self.ip = ipconfig
         self.mtu = mtu
         self.state = state
+        self.master = None
         self.configurator = configurator
+
+    def setMaster(self, master):
+        self.master = master
 
     def configure(self, network=None, bridge=None, bonding=None, vlan=None,
                   **opts):
@@ -62,11 +66,13 @@
         if device is None:
             raise ConfigNetworkError(ne.ERR_BAD_PARAMS, 'Missing required vlan'
                                      ' underlying device definition.')
+        device.setMaster(self)
         self.device = device
         self.name = device.name + '.' + tag
         self.tag = tag
         self.ip = ipconfig
         self.mtu = mtu
+        self.master = None
         self.configurator = configurator
 
     def __str__(self):
@@ -74,6 +80,9 @@
 
     def __repr__(self):
         return '.%s(%r)' % (self.tag, self.device)
+
+    def setMaster(self, master):
+        self.master = master
 
     def configure(self, network=None, bridge=None, **opts):
         self.configurator.configureVlan(self, network=network, bridge=bridge,
@@ -107,6 +116,8 @@
         self.ip = ipconfig
         self.mtu = mtu
         self.state = state
+        for port in ports:
+            port.setMaster(self)
         self.ports = ports
         self.forwardDelay = forwardDelay
         self.stp = stp
@@ -144,7 +155,10 @@
         self.configurator = configurator
         self.mtu = mtu
         self.ip = ipconfig
+        self.master = None
         if slaves:
+            for slave in slaves:
+                slave.setMaster(self)
             self.slaves = slaves
         else:
             raise ConfigNetworkError(ne.ERR_BAD_PARAMS, 'Missing required '
@@ -158,6 +172,9 @@
     def __str__(self):
         return self.name
 
+    def setMaster(self, master):
+        self.master = master
+
     def configure(self, **opts):
         self.configurator.configureBond(self, **opts)
 


--
To view, visit http://gerrit.ovirt.org/14870
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iba8958549a301c9faac70a32cbafdf320128c85a
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Mark Wu <wudxw at linux.vnet.ibm.com>


More information about the vdsm-patches mailing list