diff --git a/nova_dpm/tests/unit/virt/dpm/test_vm.py b/nova_dpm/tests/unit/virt/dpm/test_vm.py index 1209e42..4a511a2 100755 --- a/nova_dpm/tests/unit/virt/dpm/test_vm.py +++ b/nova_dpm/tests/unit/virt/dpm/test_vm.py @@ -113,11 +113,13 @@ class VmPartitionInstanceTestCase(TestCase): self.client = zhmcclient.Client(self.session) self.cpc = self.client.cpcs.find(**{"name": "cpc_1"}) self.flags(host="foo") + + flavor = flavor_obj.Flavor() + flavor.vcpus = 1 + flavor.memory_mb = 512 self.instance = instance_obj.Instance() self.instance.uuid = '6511ee0f-0d64-4392-b9e0-aaaaaaaaaaaa' - self.flavor = flavor_obj.Flavor() - self.flavor.vcpus = 1 - self.flavor.memory_mb = 512 + self.instance.flavor = flavor self.part_name = "OpenStack-foo-" + self.instance.uuid self.part_description = 'OpenStack CPCSubset=foo' @@ -154,7 +156,7 @@ class VmPartitionInstanceTestCase(TestCase): # to hbas except hba_create partition.hbas.create(dpm_hba_dict) self.partition_inst = vm.PartitionInstance( - self.instance, self.cpc, self.flavor) + self.instance, self.cpc) def test_properties(self): properties = self.partition_inst.properties() @@ -170,9 +172,9 @@ class VmPartitionInstanceTestCase(TestCase): properties = { 'name': partition_name, 'description': self.part_description, - 'ifl-processors': self.flavor.vcpus, - 'initial-memory': self.flavor.memory_mb, - 'maximum-memory': self.flavor.memory_mb} + 'ifl-processors': self.instance.flavor.vcpus, + 'initial-memory': self.instance.flavor.memory_mb, + 'maximum-memory': self.instance.flavor.memory_mb} self.partition_inst.create(properties) partition = self.cpc.partitions.find(**{"name": partition_name}) diff --git a/nova_dpm/virt/dpm/driver.py b/nova_dpm/virt/dpm/driver.py index 3eae2c1..7c59cf3 100644 --- a/nova_dpm/virt/dpm/driver.py +++ b/nova_dpm/virt/dpm/driver.py @@ -20,10 +20,8 @@ Supports DPM APIs for virtualization in z Systems import nova_dpm.conf -from nova import context as context_object from nova import exception from nova.i18n import _ -from nova.objects import flavor as flavor_object from nova.virt import driver from nova_dpm.virt.dpm import client_proxy from nova_dpm.virt.dpm import constants @@ -318,14 +316,7 @@ class DPMDriver(driver.ComputeDriver): if instance.image_ref != '': raise exceptions.BootFromImageNotSupported() - if not flavor: - context = context_object.get_admin_context(read_deleted='yes') - flavor = ( - flavor_object.Flavor.get_by_id(context, - instance.instance_type_id)) - LOG.debug("Flavor = %s", flavor) - - inst = vm.PartitionInstance(instance, self._cpc, flavor) + inst = vm.PartitionInstance(instance, self._cpc) inst.create(inst.properties()) inst.attach_hbas() diff --git a/nova_dpm/virt/dpm/vm.py b/nova_dpm/virt/dpm/vm.py index 6f1b36a..f3a04ef 100644 --- a/nova_dpm/virt/dpm/vm.py +++ b/nova_dpm/virt/dpm/vm.py @@ -108,16 +108,15 @@ def cpcsubset_partition_list(cpc): class PartitionInstance(object): - def __init__(self, instance, cpc, flavor=None): + def __init__(self, instance, cpc): self.instance = instance - self.flavor = flavor self.cpc = cpc self.partition = self.get_partition() @staticmethod def create_object(instance, cpc, flavor=None): """Generator method. Simplifies things in unittests""" - return PartitionInstance(instance, cpc, flavor=None) + return PartitionInstance(instance, cpc) @property def partition_name(self): @@ -139,10 +138,10 @@ class PartitionInstance(object): properties = {} properties['name'] = self.partition_name properties['description'] = self.partition_description - if self.flavor is not None: - properties['ifl-processors'] = self.flavor.vcpus - properties['initial-memory'] = self.flavor.memory_mb - properties['maximum-memory'] = self.flavor.memory_mb + if self.instance.flavor is not None: + properties['ifl-processors'] = self.instance.flavor.vcpus + properties['initial-memory'] = self.instance.flavor.memory_mb + properties['maximum-memory'] = self.instance.flavor.memory_mb return properties def create(self, properties): @@ -386,7 +385,7 @@ class PartitionInstanceInfo(object): self.partition = None partition_manager = self.cpc.partitions partition_lists = partition_manager.list(full_properties=False) - inst = PartitionInstance(self.instance, self.cpc, None) + inst = PartitionInstance(self.instance, self.cpc) for partition in partition_lists: if partition.properties['name'] == inst.partition_name: self.partition = partition