Fix up xenapi tests for instance flavors

This is in preparation for dropping the flavor compat support.

Change-Id: Ie52d3de12da9fbc1148f0951c866f1e8b7b2412a
This commit is contained in:
Dan Smith 2015-06-16 07:34:07 -07:00
parent d055f3bda5
commit db74457d90
1 changed files with 20 additions and 40 deletions

View File

@ -204,27 +204,19 @@ def stub_vm_utils_with_vdi_attached_here(function):
return decorated_function return decorated_function
def get_create_system_metadata(context, instance_type_id): def create_instance_with_system_metadata(context, instance_values):
flavor = db.flavor_get(context, instance_type_id)
return flavors.save_flavor_info({}, flavor)
def create_instance_with_system_metadata(context, instance_values, obj=False):
inst = objects.Instance(context=context, inst = objects.Instance(context=context,
system_metadata={}) system_metadata={})
for k, v in instance_values.items(): for k, v in instance_values.items():
setattr(inst, k, v) setattr(inst, k, v)
with mock.patch.object(inst, 'save'): inst.flavor = objects.Flavor.get_by_id(context,
inst.set_flavor(objects.Flavor.get_by_id( instance_values['instance_type_id'])
context, inst.old_flavor = None
instance_values['instance_type_id'])) inst.new_flavor = None
inst.create() inst.create()
inst.pci_devices = objects.PciDeviceList(objects=[]) inst.pci_devices = objects.PciDeviceList(objects=[])
if obj: return inst
return inst
else:
return base.obj_to_primitive(inst)
class XenAPIVolumeTestCase(stubs.XenAPITestBaseNoDB): class XenAPIVolumeTestCase(stubs.XenAPITestBaseNoDB):
@ -748,11 +740,11 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
# NOTE(danms): xenapi test stubs have flavor 5 with no # NOTE(danms): xenapi test stubs have flavor 5 with no
# vcpu_weight # vcpu_weight
flavor.vcpu_weight = None flavor.vcpu_weight = None
with mock.patch.object(instance, 'save'): instance.flavor = flavor
instance.set_flavor(flavor)
instance.create() instance.create()
else: else:
instance = objects.Instance.get_by_id(self.context, instance_id) instance = objects.Instance.get_by_id(self.context, instance_id,
expected_attrs=['flavor'])
network_info = fake_network.fake_get_instance_nw_info(self.stubs) network_info = fake_network.fake_get_instance_nw_info(self.stubs)
if empty_dns: if empty_dns:
@ -1553,16 +1545,12 @@ iface eth0 inet6 static
network_info = fake_network.fake_get_instance_nw_info(self.stubs) network_info = fake_network.fake_get_instance_nw_info(self.stubs)
image_meta = {'id': IMAGE_VHD, image_meta = {'id': IMAGE_VHD,
'disk_format': 'vhd'} 'disk_format': 'vhd'}
inst_obj = objects.Instance.get_by_uuid(
self.context, instance['uuid'],
expected_attrs=['system_metadata', 'metadata', 'info_cache',
'security_groups'])
if spawn: if spawn:
self.conn.spawn(self.context, inst_obj, image_meta, [], 'herp', self.conn.spawn(self.context, instance, image_meta, [], 'herp',
network_info) network_info)
if obj: if obj:
return inst_obj return instance
return instance return base.obj_to_primitive(instance)
def test_destroy_clean_up_kernel_and_ramdisk(self): def test_destroy_clean_up_kernel_and_ramdisk(self):
def fake_lookup_kernel_ramdisk(session, vm_ref): def fake_lookup_kernel_ramdisk(session, vm_ref):
@ -1734,8 +1722,7 @@ class XenAPIMigrateInstance(stubs.XenAPITestBase):
def _test_revert_migrate(self, power_on): def _test_revert_migrate(self, power_on):
instance = create_instance_with_system_metadata(self.context, instance = create_instance_with_system_metadata(self.context,
self.instance_values, self.instance_values)
obj=True)
self.called = False self.called = False
self.fake_vm_start_called = False self.fake_vm_start_called = False
self.fake_finish_revert_migration_called = False self.fake_finish_revert_migration_called = False
@ -1785,8 +1772,7 @@ class XenAPIMigrateInstance(stubs.XenAPITestBase):
def _test_finish_migrate(self, power_on): def _test_finish_migrate(self, power_on):
instance = create_instance_with_system_metadata(self.context, instance = create_instance_with_system_metadata(self.context,
self.instance_values, self.instance_values)
obj=True)
self.called = False self.called = False
self.fake_vm_start_called = False self.fake_vm_start_called = False
@ -1823,8 +1809,7 @@ class XenAPIMigrateInstance(stubs.XenAPITestBase):
values = copy.copy(self.instance_values) values = copy.copy(self.instance_values)
values["root_gb"] = 0 values["root_gb"] = 0
values["ephemeral_gb"] = 0 values["ephemeral_gb"] = 0
instance = create_instance_with_system_metadata(self.context, values, instance = create_instance_with_system_metadata(self.context, values)
obj=True)
def fake_vdi_resize(*args, **kwargs): def fake_vdi_resize(*args, **kwargs):
raise Exception("This shouldn't be called") raise Exception("This shouldn't be called")
@ -1840,8 +1825,7 @@ class XenAPIMigrateInstance(stubs.XenAPITestBase):
def test_finish_migrate_no_resize_vdi(self): def test_finish_migrate_no_resize_vdi(self):
instance = create_instance_with_system_metadata(self.context, instance = create_instance_with_system_metadata(self.context,
self.instance_values, self.instance_values)
obj=True)
def fake_vdi_resize(*args, **kwargs): def fake_vdi_resize(*args, **kwargs):
raise Exception("This shouldn't be called") raise Exception("This shouldn't be called")
@ -2311,8 +2295,7 @@ class XenAPIAutoDiskConfigTestCase(stubs.XenAPITestBase):
disk_image_type = vm_utils.ImageType.DISK_VHD disk_image_type = vm_utils.ImageType.DISK_VHD
instance = create_instance_with_system_metadata(self.context, instance = create_instance_with_system_metadata(self.context,
self.instance_values, self.instance_values)
obj=True)
vm_ref = xenapi_fake.create_vm(instance['name'], 'Halted') vm_ref = xenapi_fake.create_vm(instance['name'], 'Halted')
vdi_ref = xenapi_fake.create_vdi(instance['name'], 'fake') vdi_ref = xenapi_fake.create_vdi(instance['name'], 'fake')
@ -2449,8 +2432,7 @@ class XenAPIGenerateLocal(stubs.XenAPITestBase):
# Test swap disk generation. # Test swap disk generation.
instance_values = dict(self.instance_values, instance_type_id=5) instance_values = dict(self.instance_values, instance_type_id=5)
instance = create_instance_with_system_metadata(self.context, instance = create_instance_with_system_metadata(self.context,
instance_values, instance_values)
obj=True)
def fake_generate_swap(*args, **kwargs): def fake_generate_swap(*args, **kwargs):
self.called = True self.called = True
@ -2462,8 +2444,7 @@ class XenAPIGenerateLocal(stubs.XenAPITestBase):
# Test ephemeral disk generation. # Test ephemeral disk generation.
instance_values = dict(self.instance_values, instance_type_id=4) instance_values = dict(self.instance_values, instance_type_id=4)
instance = create_instance_with_system_metadata(self.context, instance = create_instance_with_system_metadata(self.context,
instance_values, instance_values)
obj=True)
def fake_generate_ephemeral(*args): def fake_generate_ephemeral(*args):
self.called = True self.called = True
@ -2476,8 +2457,7 @@ class XenAPIGenerateLocal(stubs.XenAPITestBase):
instance_values.pop('kernel_id') instance_values.pop('kernel_id')
instance_values.pop('ramdisk_id') instance_values.pop('ramdisk_id')
instance = create_instance_with_system_metadata(self.context, instance = create_instance_with_system_metadata(self.context,
instance_values, instance_values)
obj=True)
def fake_generate_ephemeral(*args): def fake_generate_ephemeral(*args):
pass pass