diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-06-07 18:45:46 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-06-07 18:45:46 +0000 |
| commit | f088bdfd1cabcb5d03f473d20d7e76e3287acd9c (patch) | |
| tree | a0f414fa677913bdb77738ee22ff219c645b400e | |
| parent | cf34a6015762a82780f86004a76439e1e21340f8 (diff) | |
| parent | 8db54f3bd590e71c6c6e383c928aa82fc28b3379 (diff) | |
| download | nova-f088bdfd1cabcb5d03f473d20d7e76e3287acd9c.tar.gz nova-f088bdfd1cabcb5d03f473d20d7e76e3287acd9c.tar.xz nova-f088bdfd1cabcb5d03f473d20d7e76e3287acd9c.zip | |
Merge "Don't query nova-network on startup."
| -rw-r--r-- | nova/api/openstack/common.py | 10 | ||||
| -rw-r--r-- | nova/api/openstack/compute/contrib/cloudpipe.py | 4 | ||||
| -rw-r--r-- | nova/compute/manager.py | 2 | ||||
| -rw-r--r-- | nova/compute/utils.py | 7 | ||||
| -rw-r--r-- | nova/tests/api/openstack/compute/contrib/test_cloudpipe.py | 14 |
5 files changed, 19 insertions, 18 deletions
diff --git a/nova/api/openstack/common.py b/nova/api/openstack/common.py index 3756f91a8..93b5a36ab 100644 --- a/nova/api/openstack/common.py +++ b/nova/api/openstack/common.py @@ -26,11 +26,11 @@ from xml.dom import minidom from nova.api.openstack import wsgi from nova.api.openstack import xmlutil from nova.compute import task_states +from nova.compute import utils as compute_utils from nova.compute import vm_states from nova import exception from nova import flags from nova import log as logging -from nova.network import model as network_model from nova import quota @@ -321,12 +321,6 @@ def get_networks_for_instance_from_nw_info(nw_info): return networks -def get_nw_info_for_instance(context, instance): - info_cache = instance['info_cache'] or {} - cached_nwinfo = info_cache.get('network_info') or [] - return network_model.NetworkInfo.hydrate(cached_nwinfo) - - def get_networks_for_instance(context, instance): """Returns a prepared nw_info list for passing into the view builders @@ -338,7 +332,7 @@ def get_networks_for_instance(context, instance): {'addr': '172.16.2.1', 'version': 4}]}, ...} """ - nw_info = get_nw_info_for_instance(context, instance) + nw_info = compute_utils.get_nw_info_for_instance(instance) return get_networks_for_instance_from_nw_info(nw_info) diff --git a/nova/api/openstack/compute/contrib/cloudpipe.py b/nova/api/openstack/compute/contrib/cloudpipe.py index b0d17ff14..1d4c63da0 100644 --- a/nova/api/openstack/compute/contrib/cloudpipe.py +++ b/nova/api/openstack/compute/contrib/cloudpipe.py @@ -16,13 +16,13 @@ import os -from nova.api.openstack import common from nova.api.openstack import extensions from nova.api.openstack import wsgi from nova.api.openstack import xmlutil from nova.auth import manager from nova.cloudpipe import pipelib from nova import compute +from nova.compute import utils as compute_utils from nova.compute import vm_states from nova import db from nova import exception @@ -91,7 +91,7 @@ class CloudpipeController(object): return rv rv['instance_id'] = instance['uuid'] rv['created_at'] = utils.isotime(instance['created_at']) - nw_info = common.get_nw_info_for_instance(elevated, instance) + nw_info = compute_utils.get_nw_info_for_instance(instance) if not nw_info: return rv vif = nw_info[0] diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 4735f4a76..522cb77cc 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -287,7 +287,7 @@ class ComputeManager(manager.SchedulerDependentManager): LOG.debug(_('Current state is %(drv_state)s, state in DB is ' '%(db_state)s.'), locals(), instance=instance) - net_info = self._get_instance_nw_info(context, instance) + net_info = compute_utils.get_nw_info_for_instance(instance) if ((expect_running and FLAGS.resume_guests_state_on_host_boot) or FLAGS.start_guests_on_host_boot): LOG.info(_('Rebooting instance after nova-compute restart.'), diff --git a/nova/compute/utils.py b/nova/compute/utils.py index f63203a1a..67a174f51 100644 --- a/nova/compute/utils.py +++ b/nova/compute/utils.py @@ -19,6 +19,7 @@ from nova import db from nova import flags from nova import log +from nova.network import model as network_model from nova import notifications from nova.notifier import api as notifier_api @@ -100,3 +101,9 @@ def notify_about_instance_usage(context, instance, event_suffix, notifier_api.notify(context, 'compute.%s' % host, 'compute.instance.%s' % event_suffix, notifier_api.INFO, usage_info) + + +def get_nw_info_for_instance(instance): + info_cache = instance['info_cache'] or {} + cached_nwinfo = info_cache.get('network_info') or [] + return network_model.NetworkInfo.hydrate(cached_nwinfo) diff --git a/nova/tests/api/openstack/compute/contrib/test_cloudpipe.py b/nova/tests/api/openstack/compute/contrib/test_cloudpipe.py index f6e1fbcb6..c082e315f 100644 --- a/nova/tests/api/openstack/compute/contrib/test_cloudpipe.py +++ b/nova/tests/api/openstack/compute/contrib/test_cloudpipe.py @@ -15,9 +15,9 @@ from lxml import etree -from nova.api.openstack import common from nova.api.openstack.compute.contrib import cloudpipe from nova.api.openstack import wsgi +from nova.compute import utils as compute_utils from nova import db from nova import flags from nova import test @@ -65,11 +65,11 @@ class CloudpipeTest(test.TestCase): def test_cloudpipe_list_no_network(self): - def common_get_nw_info_for_instance(context, instance): + def fake_get_nw_info_for_instance(instance): return {} - self.stubs.Set(common, "get_nw_info_for_instance", - common_get_nw_info_for_instance) + self.stubs.Set(compute_utils, "get_nw_info_for_instance", + fake_get_nw_info_for_instance) self.stubs.Set(self.controller.compute_api, "get_all", compute_api_get_all) req = fakes.HTTPRequest.blank('/v2/fake/os-cloudpipe') @@ -86,12 +86,12 @@ class CloudpipeTest(test.TestCase): return {'vpn_public_address': '127.0.0.1', 'vpn_public_port': 22} - def common_get_nw_info_for_instance(context, instance): + def fake_get_nw_info_for_instance(instance): return fake_network.fake_get_instance_nw_info(self.stubs, spectacular=True) - self.stubs.Set(common, "get_nw_info_for_instance", - common_get_nw_info_for_instance) + self.stubs.Set(compute_utils, "get_nw_info_for_instance", + fake_get_nw_info_for_instance) self.stubs.Set(self.controller.network_api, "get", network_api_get) self.stubs.Set(self.controller.compute_api, "get_all", |
