Blob Blame History Raw
From 165284de4e03fb72fb9e4ca811fbcc77618ff02d Mon Sep 17 00:00:00 2001
From: Igor Lvovsky <ilvovsky@redhat.com>
Date: Mon, 4 Jun 2012 11:02:56 +0300
Subject: [PATCH 04/17] Iterates over delete candidates networks only once

Change-Id: Iec45c1cb3d76a70555e256f96c983e13a0518cbe
Signed-off-by: Igor Lvovsky <ilvovsky@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/5204
Reviewed-by: Livnat Peer <lpeer@redhat.com>
Reviewed-by: Shu Ming <shuming@linux.vnet.ibm.com>
Tested-by: Dan Kenigsberg <danken@redhat.com>
Reviewed-by: Dan Kenigsberg <danken@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/5546
Tested-by: Federico Simoncelli <fsimonce@redhat.com>
---
 vdsm/configNetwork.py |   26 ++++++++++++--------------
 1 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/vdsm/configNetwork.py b/vdsm/configNetwork.py
index b37ff0f..3f2e5fe 100755
--- a/vdsm/configNetwork.py
+++ b/vdsm/configNetwork.py
@@ -1010,26 +1010,23 @@ def setupNetworks(networks={}, bondings={}, **options):
         networksAdded = []
         #bondingNetworks = {}   # Reminder TODO
 
-        logger.info("Setting up network")
-        logger.debug("Setting up network according to configuration: networks:%r, bondings:%r, options:%r" % (networks, bondings, options))
+        logger.debug("Setting up network according to configuration: "
+                     "networks:%r, bondings:%r, options:%r" % (networks,
+                     bondings, options))
 
         force = options.get('force', False)
         if not utils.tobool(force):
             logging.debug("Validating configuration")
-            _validateNetworkSetup(dict(networks), dict(bondings), explicitBonding=options.get('explicitBonding', False))
+            _validateNetworkSetup(dict(networks), dict(bondings),
+                                  explicitBonding=options.get('explicitBonding',
+                                                              False))
 
         logger.debug("Applying...")
         try:
-            delnetworks = {}
-            for network, networkAttrs in networks.iteritems():
+            # Remove networks with 'remove' attribute
+            for network, networkAttrs in networks.items():
                 if 'remove' in networkAttrs:
-                    delnetworks[network] = networkAttrs
-
-            for network, networkAttrs in delnetworks.iteritems():
-                if networkAttrs.pop('remove', False):
-                    assert not networkAttrs
-
-                    logger.debug('Removing network %r'%network)
+                    logger.debug("Removing network %r" % network)
                     delNetwork(network, configWriter=configWriter, force=force)
                     del networks[network]
 
@@ -1041,12 +1038,13 @@ def setupNetworks(networks={}, bondings={}, **options):
                 d = dict(networkAttrs)
                 if 'bonding' in d:
                     d['nics'] = bondings[d['bonding']]['nics']
-                    d['bondingOptions'] = bondings[d['bonding']].get('options', None)
+                    d['bondingOptions'] = bondings[d['bonding']].get('options',
+                                                                     None)
                 else:
                     d['nics'] = [d.pop('nic')]
                 d['force'] = force
 
-                logger.debug('Adding network %r'%network)
+                logger.debug("Adding network %r" % network)
                 addNetwork(network, configWriter=configWriter, **d)
 
             if utils.tobool(options.get('connectivityCheck', True)):
-- 
1.7.1