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
