diff options
| author | Dan Smith <danms@us.ibm.com> | 2013-05-28 18:45:33 -0700 |
|---|---|---|
| committer | Dan Smith <danms@us.ibm.com> | 2013-06-07 11:43:37 -0700 |
| commit | eefc3c1892c523100470414d00a981ea9fbdf3ca (patch) | |
| tree | 59c26e57b40f23e44a5a51bae2a7a50aeccffe48 | |
| parent | e95807e8cda4463d7c9a2aab918bd2bda3d3cf9e (diff) | |
| download | nova-eefc3c1892c523100470414d00a981ea9fbdf3ca.tar.gz nova-eefc3c1892c523100470414d00a981ea9fbdf3ca.tar.xz nova-eefc3c1892c523100470414d00a981ea9fbdf3ca.zip | |
Use InstanceList object for init_host
Related to blueprint unified-object-model
Change-Id: Idcc4da2a6807a58966e267c62a7f134ce58c890a
| -rwxr-xr-x | nova/compute/manager.py | 6 | ||||
| -rw-r--r-- | nova/test.py | 5 | ||||
| -rw-r--r-- | nova/tests/compute/test_compute.py | 36 |
3 files changed, 30 insertions, 17 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 8c593bda5..6d4835e0b 100755 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -548,7 +548,7 @@ class ComputeManager(manager.SchedulerDependentManager): # NOTE(mriedem): check old_vm_state for STOPPED here, if it's # not in system_metadata we default to True for backwards # compatibility - sys_meta = utils.metadata_to_dict(instance['system_metadata']) + sys_meta = utils.instance_sys_meta(instance) power_on = sys_meta.get('old_vm_state') != vm_states.STOPPED block_dev_info = self._get_instance_volume_block_device_info( @@ -648,8 +648,8 @@ class ComputeManager(manager.SchedulerDependentManager): """Initialization for a standalone compute service.""" self.driver.init_host(host=self.host) context = nova.context.get_admin_context() - instances = self.conductor_api.instance_get_all_by_host(context, - self.host) + instances = instance_obj.InstanceList.get_by_host( + context, self.host, expected_attrs=['info_cache']) if CONF.defer_iptables_apply: self.driver.filter_defer_apply_on() diff --git a/nova/test.py b/nova/test.py index f0dba7c7c..886478362 100644 --- a/nova/test.py +++ b/nova/test.py @@ -41,6 +41,7 @@ from nova import context from nova import db from nova.db import migration from nova.network import manager as network_manager +from nova.objects import base as objects_base from nova.openstack.common.db.sqlalchemy import session from nova.openstack.common import log as logging from nova.openstack.common import timeutils @@ -225,6 +226,10 @@ class TestCase(testtools.TestCase): sqlite_clean_db=CONF.sqlite_clean_db) self.useFixture(_DB_CACHE) + # NOTE(danms): Make sure to reset us back to non-remote objects + # for each test to avoid interactions. + objects_base.NovaObject.indirection_api = None + mox_fixture = self.useFixture(MoxStubout()) self.mox = mox_fixture.mox self.stubs = mox_fixture.stubs diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py index 211838ea1..28b61eb22 100644 --- a/nova/tests/compute/test_compute.py +++ b/nova/tests/compute/test_compute.py @@ -62,6 +62,7 @@ from nova.openstack.common import uuidutils from nova import policy from nova import quota from nova import test +from nova.tests.api.openstack import fakes from nova.tests.compute import fake_resource_tracker from nova.tests.db import fakes as db_fakes from nova.tests import fake_instance @@ -4716,19 +4717,27 @@ class ComputeTestCase(BaseTestCase): def test_init_host(self): our_host = self.compute.host fake_context = 'fake-context' - startup_instances = ['inst1', 'inst2', 'inst3'] + inst = dict(fakes.stub_instance(1), + deleted_at=None, created_at=None, updated_at=None, + deleted=0, info_cache={'instance_uuid': 'fake-uuid', + 'network_info': None}) + startup_instances = [inst, inst, inst] def _do_mock_calls(defer_iptables_apply): self.compute.driver.init_host(host=our_host) context.get_admin_context().AndReturn(fake_context) - self.compute.conductor_api.instance_get_all_by_host( - fake_context, our_host).AndReturn(startup_instances) + db.instance_get_all_by_host( + fake_context, our_host, columns_to_join=['info_cache'] + ).AndReturn(startup_instances) if defer_iptables_apply: self.compute.driver.filter_defer_apply_on() self.compute._destroy_evacuated_instances(fake_context) - self.compute._init_instance(fake_context, startup_instances[0]) - self.compute._init_instance(fake_context, startup_instances[1]) - self.compute._init_instance(fake_context, startup_instances[2]) + self.compute._init_instance(fake_context, + mox.IsA(instance_obj.Instance)) + self.compute._init_instance(fake_context, + mox.IsA(instance_obj.Instance)) + self.compute._init_instance(fake_context, + mox.IsA(instance_obj.Instance)) if defer_iptables_apply: self.compute.driver.filter_defer_apply_off() self.compute._report_driver_status(fake_context) @@ -4739,8 +4748,7 @@ class ComputeTestCase(BaseTestCase): 'filter_defer_apply_on') self.mox.StubOutWithMock(self.compute.driver, 'filter_defer_apply_off') - self.mox.StubOutWithMock(self.compute.conductor_api, - 'instance_get_all_by_host') + self.mox.StubOutWithMock(db, 'instance_get_all_by_host') self.mox.StubOutWithMock(context, 'get_admin_context') self.mox.StubOutWithMock(self.compute, '_destroy_evacuated_instances') @@ -4784,8 +4792,7 @@ class ComputeTestCase(BaseTestCase): self.mox.StubOutWithMock(self.compute.driver, 'init_host') self.mox.StubOutWithMock(self.compute.driver, 'destroy') - self.mox.StubOutWithMock(self.compute.conductor_api, - 'instance_get_all_by_host') + self.mox.StubOutWithMock(db, 'instance_get_all_by_host') self.mox.StubOutWithMock(context, 'get_admin_context') self.mox.StubOutWithMock(self.compute, 'init_virt_events') self.mox.StubOutWithMock(self.compute, '_get_instances_on_driver') @@ -4796,8 +4803,9 @@ class ComputeTestCase(BaseTestCase): self.compute.driver.init_host(host=our_host) context.get_admin_context().AndReturn(fake_context) - self.compute.conductor_api.instance_get_all_by_host( - fake_context, our_host).AndReturn([]) + db.instance_get_all_by_host(fake_context, our_host, + columns_to_join=['info_cache'] + ).AndReturn([]) self.compute.init_virt_events() # simulate failed instance @@ -4867,7 +4875,7 @@ class ComputeTestCase(BaseTestCase): } fixed = dict(instance, task_state=None) self.mox.StubOutWithMock(compute_utils, 'get_nw_info_for_instance') - self.mox.StubOutWithMock(utils, 'metadata_to_dict') + self.mox.StubOutWithMock(utils, 'instance_sys_meta') self.mox.StubOutWithMock(self.compute.driver, 'plug_vifs') self.mox.StubOutWithMock(self.compute.driver, 'finish_revert_migration') @@ -4879,7 +4887,7 @@ class ComputeTestCase(BaseTestCase): compute_utils.get_nw_info_for_instance(instance).AndReturn( network_model.NetworkInfo()) self.compute.driver.plug_vifs(instance, []) - utils.metadata_to_dict(instance['system_metadata']).AndReturn(sys_meta) + utils.instance_sys_meta(instance).AndReturn(sys_meta) self.compute._get_instance_volume_block_device_info( self.context, instance).AndReturn([]) self.compute.driver.finish_revert_migration(instance, [], [], power_on) |
