diff options
| author | Brian Waldon <brian.waldon@rackspace.com> | 2011-11-04 12:44:30 -0400 |
|---|---|---|
| committer | Brian Waldon <brian.waldon@rackspace.com> | 2011-11-09 08:53:40 -0500 |
| commit | cb05f783d0c26063b2ce069c7f2a8fd794f4fa0e (patch) | |
| tree | 6073d9ebcd6393b502d8717d5c1b4fff66d6a275 /nova/tests | |
| parent | 93c02408754e7cec274c6d2580bc04f5e333eade (diff) | |
Reducing the number of compute calls to Glance
Fixes bug 886224
Change-Id: Ibd270d24eb68cc2503fee933a2154125995d352d
Diffstat (limited to 'nova/tests')
| -rw-r--r-- | nova/tests/glance/stubs.py | 9 | ||||
| -rw-r--r-- | nova/tests/test_vmwareapi.py | 9 | ||||
| -rw-r--r-- | nova/tests/test_xenapi.py | 25 |
3 files changed, 32 insertions, 11 deletions
diff --git a/nova/tests/glance/stubs.py b/nova/tests/glance/stubs.py index 1567393e3..5c0f4f05e 100644 --- a/nova/tests/glance/stubs.py +++ b/nova/tests/glance/stubs.py @@ -14,6 +14,7 @@ # License for the specific language governing permissions and limitations # under the License. +import copy import StringIO from nova import exception @@ -74,11 +75,15 @@ class FakeGlance(object): pass def get_image_meta(self, image_id): - return self.IMAGE_FIXTURES[int(image_id)]['image_meta'] + meta = copy.deepcopy(self.IMAGE_FIXTURES[int(image_id)]['image_meta']) + meta['id'] = image_id + return meta def get_image(self, image_id): image = self.IMAGE_FIXTURES[int(image_id)] - return image['image_meta'], image['image_data'] + meta = copy.deepcopy(image['image_meta']) + meta['id'] = image_id + return meta, image['image_data'] NOW_GLANCE_FORMAT = "2010-10-11T10:30:22" diff --git a/nova/tests/test_vmwareapi.py b/nova/tests/test_vmwareapi.py index 704e362fd..9dacda4b3 100644 --- a/nova/tests/test_vmwareapi.py +++ b/nova/tests/test_vmwareapi.py @@ -74,6 +74,12 @@ class VMWareAPIVMTestCase(test.TestCase): 'mac': 'DE:AD:BE:EF:00:00', 'rxtx_cap': 3})] + self.image = { + 'id': 'c1c8ce3d-c2e0-4247-890c-ccf5cc1c004c', + 'disk_format': 'vhd', + 'size': 512, + } + def tearDown(self): super(VMWareAPIVMTestCase, self).tearDown() vmwareapi_fake.cleanup() @@ -95,7 +101,8 @@ class VMWareAPIVMTestCase(test.TestCase): """Create and spawn the VM.""" self._create_instance_in_the_db() self.type_data = db.instance_type_get_by_name(None, 'm1.large') - self.conn.spawn(self.context, self.instance, self.network_info) + self.conn.spawn(self.context, self.instance, self.image, + self.network_info) self._check_vm_record() def _check_vm_record(self): diff --git a/nova/tests/test_xenapi.py b/nova/tests/test_xenapi.py index 6587bedd1..ee8d5ae20 100644 --- a/nova/tests/test_xenapi.py +++ b/nova/tests/test_xenapi.py @@ -423,7 +423,9 @@ class XenAPIVMTestCase(test.TestCase): if empty_dns: network_info[0][1]['dns'] = [] - self.conn.spawn(self.context, instance, network_info) + image_meta = {'id': glance_stubs.FakeGlance.IMAGE_VHD, + 'disk_format': 'vhd'} + self.conn.spawn(self.context, instance, image_meta, network_info) self.create_vm_record(self.conn, os_type, instance_id) self.check_vm_record(self.conn, check_injection) self.assertTrue(instance.os_type) @@ -694,8 +696,10 @@ class XenAPIVMTestCase(test.TestCase): 'label': 'fake', 'mac': 'DE:AD:BE:EF:00:00', 'rxtx_cap': 3})] + image_meta = {'id': glance_stubs.FakeGlance.IMAGE_VHD, + 'disk_format': 'vhd'} if spawn: - self.conn.spawn(self.context, instance, network_info) + self.conn.spawn(self.context, instance, image_meta, network_info) return instance @@ -842,9 +846,10 @@ class XenAPIMigrateInstance(test.TestCase): 'label': 'fake', 'mac': 'DE:AD:BE:EF:00:00', 'rxtx_cap': 3})] + image_meta = {'id': instance.image_ref, 'disk_format': 'vhd'} conn.finish_migration(self.context, self.migration, instance, dict(base_copy='hurr', cow='durr'), - network_info, resize_instance=True) + network_info, image_meta, resize_instance=True) self.assertEqual(self.called, True) self.assertEqual(self.fake_vm_start_called, True) @@ -883,9 +888,10 @@ class XenAPIMigrateInstance(test.TestCase): 'label': 'fake', 'mac': 'DE:AD:BE:EF:00:00', 'rxtx_cap': 3})] + image_meta = {'id': instance.image_ref, 'disk_format': 'vhd'} conn.finish_migration(self.context, self.migration, instance, dict(base_copy='hurr', cow='durr'), - network_info, resize_instance=True) + network_info, image_meta, resize_instance=True) self.assertEqual(self.called, True) self.assertEqual(self.fake_vm_start_called, True) @@ -918,9 +924,10 @@ class XenAPIMigrateInstance(test.TestCase): 'label': 'fake', 'mac': 'DE:AD:BE:EF:00:00', 'rxtx_cap': 3})] + image_meta = {'id': instance.image_ref, 'disk_format': 'vhd'} conn.finish_migration(self.context, self.migration, instance, dict(base_copy='hurr', cow='durr'), - network_info, resize_instance=True) + network_info, image_meta, resize_instance=True) def test_finish_migrate_no_resize_vdi(self): instance = db.instance_create(self.context, self.instance_values) @@ -949,9 +956,10 @@ class XenAPIMigrateInstance(test.TestCase): 'rxtx_cap': 3})] # Resize instance would be determined by the compute call + image_meta = {'id': instance.image_ref, 'disk_format': 'vhd'} conn.finish_migration(self.context, self.migration, instance, dict(base_copy='hurr', cow='durr'), - network_info, resize_instance=False) + network_info, image_meta, resize_instance=False) class XenAPIImageTypeTestCase(test.TestCase): @@ -986,8 +994,9 @@ class XenAPIDetermineDiskImageTestCase(test.TestCase): def assert_disk_type(self, disk_type): ctx = context.RequestContext('fake', 'fake') - dt = vm_utils.VMHelper.determine_disk_image_type( - self.fake_instance, ctx) + fake_glance = glance_stubs.FakeGlance('') + image_meta = fake_glance.get_image_meta(self.fake_instance.image_ref) + dt = vm_utils.VMHelper.determine_disk_image_type(image_meta) self.assertEqual(disk_type, dt) def test_instance_disk(self): |
