From 685eae9bd007e60f12bde411fda78cae1b4d708b Mon Sep 17 00:00:00 2001 From: Yuriy Zveryanskyy Date: Wed, 12 Jun 2013 16:38:32 +0300 Subject: update_dns() method optimization. update_dns() method in NetworkManager rewrited, in new version used only one db api call. Change-Id: Ib56c642d53e7a80439875bc304c4874d6ef4dcca --- nova/network/manager.py | 15 ++++++--------- 1 file 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() -- cgit