From 43df41c4a198341a5da390f777a15d82e27ff9c4 Mon Sep 17 00:00:00 2001 From: Qin Zhao Date: Tue, 23 Jun 2015 17:39:59 +0800 Subject: [PATCH] Use flavor object in compute manager This code change uses comma for flavor object in compute manager. Related to blueprint liberty-objects Change-Id: Ie68f05979778d0e66c620e0c2e7839b4582da9c7 --- nova/compute/claims.py | 6 +++--- nova/compute/manager.py | 20 +++++++++---------- nova/compute/resource_tracker.py | 6 +++--- nova/tests/unit/compute/test_claims.py | 4 ++-- .../unit/compute/test_resource_tracker.py | 1 + nova/tests/unit/compute/test_tracker.py | 4 ++-- 6 files changed, 21 insertions(+), 20 deletions(-) diff --git a/nova/compute/claims.py b/nova/compute/claims.py index a012367378..03694c1953 100644 --- a/nova/compute/claims.py +++ b/nova/compute/claims.py @@ -275,12 +275,12 @@ class ResizeClaim(Claim): @property def disk_gb(self): - return (self.instance_type['root_gb'] + - self.instance_type['ephemeral_gb']) + return (self.instance_type.root_gb + + self.instance_type.ephemeral_gb) @property def memory_mb(self): - return self.instance_type['memory_mb'] + self.overhead['memory_mb'] + return self.instance_type.memory_mb + self.overhead['memory_mb'] @property def numa_topology(self): diff --git a/nova/compute/manager.py b/nova/compute/manager.py index cc5cb51bb1..40ec7b0668 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -3410,11 +3410,11 @@ class ComputeManager(manager.Manager): old_vm_state = sys_meta.pop('old_vm_state', vm_states.ACTIVE) instance.system_metadata = sys_meta - instance.memory_mb = instance_type['memory_mb'] - instance.vcpus = instance_type['vcpus'] - instance.root_gb = instance_type['root_gb'] - instance.ephemeral_gb = instance_type['ephemeral_gb'] - instance.instance_type_id = instance_type['id'] + instance.memory_mb = instance_type.memory_mb + instance.vcpus = instance_type.vcpus + instance.root_gb = instance_type.root_gb + instance.ephemeral_gb = instance_type.ephemeral_gb + instance.instance_type_id = instance_type.id instance.host = migration.source_compute instance.node = migration.source_node instance.save() @@ -3679,11 +3679,11 @@ class ComputeManager(manager.Manager): @staticmethod def _set_instance_info(instance, instance_type): - instance.instance_type_id = instance_type['id'] - instance.memory_mb = instance_type['memory_mb'] - instance.vcpus = instance_type['vcpus'] - instance.root_gb = instance_type['root_gb'] - instance.ephemeral_gb = instance_type['ephemeral_gb'] + instance.instance_type_id = instance_type.id + instance.memory_mb = instance_type.memory_mb + instance.vcpus = instance_type.vcpus + instance.root_gb = instance_type.root_gb + instance.ephemeral_gb = instance_type.ephemeral_gb instance.set_flavor(instance_type) def _finish_resize(self, context, instance, migration, disk_info, diff --git a/nova/compute/resource_tracker.py b/nova/compute/resource_tracker.py index 44631908bd..de4cf02a82 100644 --- a/nova/compute/resource_tracker.py +++ b/nova/compute/resource_tracker.py @@ -173,7 +173,7 @@ class ResourceTracker(object): # get memory overhead required to build this instance: overhead = self.driver.estimate_instance_overhead(instance_type) LOG.debug("Memory overhead for %(flavor)d MB instance; %(overhead)d " - "MB", {'flavor': instance_type['memory_mb'], + "MB", {'flavor': instance_type.memory_mb, 'overhead': overhead['memory_mb']}) claim = claims.ResizeClaim(context, instance, instance_type, @@ -203,7 +203,7 @@ class ResourceTracker(object): migration.dest_node = self.nodename migration.dest_host = self.driver.get_host_ip_addr() migration.old_instance_type_id = instance.flavor.id - migration.new_instance_type_id = instance_type['id'] + migration.new_instance_type_id = instance_type.id migration.status = 'pre-migrating' migration.instance_uuid = instance.uuid migration.source_compute = instance.host @@ -250,7 +250,7 @@ class ResourceTracker(object): instance['system_metadata']) if (instance_type is not None and - instance_type['id'] == itype['id']): + instance_type.id == itype['id']): numa_topology = hardware.numa_get_constraints( itype, image_meta) usage = self._get_usage_dict( diff --git a/nova/tests/unit/compute/test_claims.py b/nova/tests/unit/compute/test_claims.py index f65a19b05a..105f1420cb 100644 --- a/nova/tests/unit/compute/test_claims.py +++ b/nova/tests/unit/compute/test_claims.py @@ -36,7 +36,7 @@ class FakeResourceHandler(object): def test_resources(self, usage, limits): self.test_called = True - self.usage_is_itype = usage.get('name') is 'fakeitype' + self.usage_is_itype = usage.get('name') == 'fakeitype' return [] @@ -112,7 +112,7 @@ class ClaimTestCase(test.NoDBTestCase): 'ephemeral_gb': 2 } instance_type.update(**kwargs) - return instance_type + return objects.Flavor(**instance_type) def _fake_resources(self, values=None): resources = { diff --git a/nova/tests/unit/compute/test_resource_tracker.py b/nova/tests/unit/compute/test_resource_tracker.py index 1344e62610..08db8ecebe 100644 --- a/nova/tests/unit/compute/test_resource_tracker.py +++ b/nova/tests/unit/compute/test_resource_tracker.py @@ -480,6 +480,7 @@ class BaseTestCase(test.TestCase): 'extra_specs': {}, } instance_type.update(**kwargs) + instance_type = objects.Flavor(**instance_type) id_ = instance_type['id'] self._instance_types[id_] = instance_type diff --git a/nova/tests/unit/compute/test_tracker.py b/nova/tests/unit/compute/test_tracker.py index d357b31cfc..e657a76280 100644 --- a/nova/tests/unit/compute/test_tracker.py +++ b/nova/tests/unit/compute/test_tracker.py @@ -1156,7 +1156,7 @@ class TestResizeClaim(BaseTestCase): self.rt.compute_node = copy.deepcopy(_COMPUTE_NODE_FIXTURES[0]) self.instance = _INSTANCE_FIXTURES[0].obj_clone() - self.flavor = _INSTANCE_TYPE_FIXTURES[1] + self.flavor = _INSTANCE_TYPE_OBJ_FIXTURES[1] self.limits = {} # not using mock.sentinel.ctx because resize_claim calls #elevated @@ -1251,7 +1251,7 @@ class TestResizeClaim(BaseTestCase): with mock.patch.object(self.rt, '_create_migration') as migr_mock: migr_mock.return_value = migr_obj claim = self.rt.resize_claim(self.ctx, self.instance, - _INSTANCE_TYPE_FIXTURES[1], None) + _INSTANCE_TYPE_OBJ_FIXTURES[1], None) self.audit(self.rt, [self.instance], [migr_obj], self.instance) self.assertNotEqual(expected, self.rt.compute_node)