summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuriy Zveryanskyy <yzveryanskyy@mirantis.com>2013-06-12 16:38:32 +0300
committerYuriy Zveryanskyy <yzveryanskyy@mirantis.com>2013-06-12 16:38:32 +0300
commit685eae9bd007e60f12bde411fda78cae1b4d708b (patch)
treed9576ff3272d04c29c56e9c77a44de04833db22e
parent32fca6ab41f1553476feed40cb8d64554d8a2977 (diff)
downloadnova-685eae9bd007e60f12bde411fda78cae1b4d708b.tar.gz
nova-685eae9bd007e60f12bde411fda78cae1b4d708b.tar.xz
nova-685eae9bd007e60f12bde411fda78cae1b4d708b.zip
update_dns() method optimization.
update_dns() method in NetworkManager rewrited, in new version used only one db api call. Change-Id: Ib56c642d53e7a80439875bc304c4874d6ef4dcca
-rw-r--r--nova/network/manager.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/nova/network/manager.py b/nova/network/manager.py
index 5d58edb97..95ffcd806 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -1407,15 +1407,12 @@ class NetworkManager(manager.Manager):
if CONF.fake_network:
return
- for network_id in network_ids:
- network = self.db.network_get(context, network_id)
- if not network['multi_host']:
- continue
- host_networks = self.db.network_get_all_by_host(context, self.host)
- for host_network in host_networks:
- if host_network['id'] == network_id:
- dev = self.driver.get_dev(network)
- self.driver.update_dns(context, dev, network)
+ networks = [network for network in
+ self.db.network_get_all_by_host(context, self.host)
+ if network['multi_host'] and network['id'] in network_ids]
+ for network in networks:
+ dev = self.driver.get_dev(network)
+ self.driver.update_dns(context, dev, network)
def add_network_to_project(self, ctxt, project_id, network_uuid):
raise NotImplementedError()