Antoni Segura Puimedon has uploaded a new change for review.

Change subject: [WIP] Reduce the amount of netinfo instantiation.
......................................................................

[WIP] Reduce the amount of netinfo instantiation.

This patch attempts to reuse netinfo instances as much as
possible to improve scalability.

Change-Id: Id7948d6b57badbac7fd3ac3fdf6ce71eceea8dc7
Signed-off-by: Antoni S. Puimedon <[email protected]>
---
M vdsm/configNetwork.py
1 file changed, 14 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/84/11084/1

diff --git a/vdsm/configNetwork.py b/vdsm/configNetwork.py
index 068edb3..9364a09 100755
--- a/vdsm/configNetwork.py
+++ b/vdsm/configNetwork.py
@@ -1093,8 +1093,10 @@
 
 
 def delNetwork(network, vlan=None, bonding=None, nics=None, force=False,
-               configWriter=None, implicitBonding=True, **options):
-    _netinfo = netinfo.NetInfo()
+               configWriter=None, implicitBonding=True, _netinfo=None,
+               **options):
+    if _netinfo is None:
+        _netinfo = netinfo.NetInfo()
 
     if configWriter is None:
         configWriter = ConfigWriter()
@@ -1247,11 +1249,12 @@
                                      "Unknown nics in: %r" % list(nics))
 
 
-def _editBondings(bondings, configWriter):
+def _editBondings(bondings, configWriter, _netinfo=None):
     """ Add/Edit bond interface """
     logger = logging.getLogger("_editBondings")
 
-    _netinfo = netinfo.NetInfo()
+    if _netinfo is None:
+        _netinfo = netinfo.NetInfo()
 
     for bond, bondAttrs in bondings.iteritems():
         logger.debug("Creating/Editing bond %s with attributes %s",
@@ -1294,11 +1297,12 @@
         ifup(bond)
 
 
-def _removeBondings(bondings, configWriter):
+def _removeBondings(bondings, configWriter, _netinfo=None):
     """ Remove bond interface """
     logger = logging.getLogger("_removeBondings")
 
-    _netinfo = netinfo.NetInfo()
+    if _netinfo is None:
+        _netinfo = netinfo.NetInfo()
 
     for bond, bondAttrs in bondings.items():
         if 'remove' in bondAttrs:
@@ -1381,17 +1385,18 @@
                 if network in _netinfo.networks:
                     logger.debug("Removing network %r" % network)
                     delNetwork(network, configWriter=configWriter, force=force,
-                               implicitBonding=False)
+                               implicitBonding=False, _netinfo=_netinfo)
                     if 'remove' in networkAttrs:
                         del networks[network]
                 else:
                     networksAdded.add(network)
 
             # Remove bonds with 'remove' attribute
-            _removeBondings(bondings, configWriter)
+            _removeBondings(bondings, configWriter, _netinfo)
 
             # Check whether bonds should be resized
-            _editBondings(bondings, configWriter)
+            _netinfo.updateBonds()
+            _editBondings(bondings, configWriter, _netinfo)
 
             # We need to use the newest bonding info.
             _netinfo.updateBonds()


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id7948d6b57badbac7fd3ac3fdf6ce71eceea8dc7
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Antoni Segura Puimedon <[email protected]>
_______________________________________________
vdsm-patches mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to