diff options
author | Yuriy Zveryanskyy <yzveryanskyy@mirantis.com> | 2013-06-12 16:38:32 +0300 |
---|---|---|
committer | Yuriy Zveryanskyy <yzveryanskyy@mirantis.com> | 2013-06-12 16:38:32 +0300 |
commit | 685eae9bd007e60f12bde411fda78cae1b4d708b (patch) | |
tree | d9576ff3272d04c29c56e9c77a44de04833db22e | |
parent | 32fca6ab41f1553476feed40cb8d64554d8a2977 (diff) | |
download | nova-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.py | 15 |
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() |