From cce8270d30a4d8e4a9e6c021056d10e65dc0831c Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Wed, 25 Jul 2012 17:33:13 -0400 Subject: Send a full instance via rpc for finish_resize. Change the finish_resize method of the compute rpc API to take a full instance over rpc instead of just the instance UUID. This cuts down on database access needed by nova-compute. Part of blueprint no-db-messaging. Change-Id: I2b0c7cbd2ba9b6243c2c50e69e894d192e230491 --- nova/tests/compute/test_compute.py | 25 ++++++++++++++----------- nova/tests/compute/test_rpcapi.py | 5 +++-- 2 files changed, 17 insertions(+), 13 deletions(-) (limited to 'nova/tests') diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py index 6ccf2e312..660a49fe0 100644 --- a/nova/tests/compute/test_compute.py +++ b/nova/tests/compute/test_compute.py @@ -1064,13 +1064,14 @@ class ComputeTestCase(BaseTestCase): self.stubs.Set(self.compute.driver, 'finish_migration', fake) context = self.context.elevated() - instance = self._create_fake_instance() + instance = jsonutils.to_primitive(self._create_fake_instance()) self.compute.prep_resize(context, instance['uuid'], 1, {}, filter_properties={}) migration_ref = db.migration_get_by_instance_and_status(context, instance['uuid'], 'pre-migrating') - self.compute.finish_resize(context, instance['uuid'], - int(migration_ref['id']), {}, {}) + self.compute.finish_resize(context, + migration_id=int(migration_ref['id']), + disk_info={}, image={}, instance=instance) self.compute.terminate_instance(self.context, instance['uuid']) def test_finish_resize_handles_error(self): @@ -1085,15 +1086,15 @@ class ComputeTestCase(BaseTestCase): self.stubs.Set(self.compute.driver, 'finish_migration', throw_up) context = self.context.elevated() - instance = self._create_fake_instance() + instance = jsonutils.to_primitive(self._create_fake_instance()) self.compute.prep_resize(context, instance['uuid'], 1, {}, filter_properties={}) migration_ref = db.migration_get_by_instance_and_status(context, instance['uuid'], 'pre-migrating') self.assertRaises(test.TestingException, self.compute.finish_resize, - context, instance['uuid'], - int(migration_ref['id']), {}, {}) + context, migration_id=int(migration_ref['id']), + disk_info={}, image={}, instance=instance) instance = db.instance_get_by_uuid(context, instance['uuid']) self.assertEqual(instance['vm_state'], vm_states.ERROR) @@ -1160,7 +1161,7 @@ class ComputeTestCase(BaseTestCase): old_time = datetime.datetime(2012, 4, 1) cur_time = datetime.datetime(2012, 12, 21, 12, 21) timeutils.set_time_override(old_time) - instance = self._create_fake_instance() + instance = jsonutils.to_primitive(self._create_fake_instance()) context = self.context.elevated() old_type_id = instance_types.get_instance_type_by_name( 'm1.tiny')['id'] @@ -1179,8 +1180,9 @@ class ComputeTestCase(BaseTestCase): timeutils.set_time_override(cur_time) test_notifier.NOTIFICATIONS = [] - self.compute.finish_resize(context, instance['uuid'], - int(migration_ref['id']), {}, {}) + self.compute.finish_resize(context, + migration_id=int(migration_ref['id']), disk_info={}, image={}, + instance=instance) self.assertEquals(len(test_notifier.NOTIFICATIONS), 2) msg = test_notifier.NOTIFICATIONS[0] @@ -1337,8 +1339,9 @@ class ComputeTestCase(BaseTestCase): self.compute.resize_instance(context, inst_ref['uuid'], migration_ref['id'], {}) - self.compute.finish_resize(context, inst_ref['uuid'], - int(migration_ref['id']), {}, {}) + self.compute.finish_resize(context, + migration_id=int(migration_ref['id']), disk_info={}, + image={}, instance=jsonutils.to_primitive(inst_ref)) # Prove that the instance size is now the new size inst_ref = db.instance_get_by_uuid(context, instance['uuid']) diff --git a/nova/tests/compute/test_rpcapi.py b/nova/tests/compute/test_rpcapi.py index 48aa60b98..6bac3c99f 100644 --- a/nova/tests/compute/test_rpcapi.py +++ b/nova/tests/compute/test_rpcapi.py @@ -52,7 +52,7 @@ class ComputeRpcAPITestCase(test.TestCase): 'add_fixed_ip_to_instance', 'attach_volume', 'check_can_live_migrate_destination', 'check_can_live_migrate_source', 'confirm_resize', - 'detach_volume', 'get_console_output', + 'detach_volume', 'finish_resize', 'get_console_output', 'pause_instance', 'reboot_instance', 'suspend_instance', 'unpause_instance' ] @@ -161,7 +161,8 @@ class ComputeRpcAPITestCase(test.TestCase): def test_finish_resize(self): self._test_compute_api('finish_resize', 'cast', instance=self.fake_instance, migration_id='id', - image='image', disk_info='disk_info', host='host') + image='image', disk_info='disk_info', host='host', + version='1.14') def test_finish_revert_resize(self): self._test_compute_api('finish_revert_resize', 'cast', -- cgit