From f163bffa55d770e70725751f53212792b9de128b Mon Sep 17 00:00:00 2001 From: Dan Smith Date: Mon, 4 Mar 2013 19:27:17 -0500 Subject: Remove uses of instance['instance_type'] from powervm driver. This is one change in a series aimed at removing the use of instance-linked instance_type objects, in favor of the decoupled type data in system_metadata. See bug 1140119 for more details. Change-Id: I885a807d00f7f909665da6e7a3382295a43258c9 --- nova/tests/test_powervm.py | 9 +++++++-- nova/virt/powervm/blockdev.py | 5 +++-- nova/virt/powervm/driver.py | 4 +++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/nova/tests/test_powervm.py b/nova/tests/test_powervm.py index 6fd3fa035..a951ba44c 100644 --- a/nova/tests/test_powervm.py +++ b/nova/tests/test_powervm.py @@ -22,6 +22,7 @@ from nova import context from nova import db from nova import test +from nova.compute import instance_types from nova.compute import power_state from nova.compute import task_states from nova.network import model as network_model @@ -150,13 +151,17 @@ class PowerVMDriverTestCase(test.TestCase): def _create_instance(self): fake.stub_out_image_service(self.stubs) - return db.instance_create(context.get_admin_context(), + ctxt = context.get_admin_context() + instance_type = db.instance_type_get(ctxt, 1) + sys_meta = instance_types.save_instance_type_info({}, instance_type) + return db.instance_create(ctxt, {'user_id': 'fake', 'project_id': 'fake', 'instance_type_id': 1, 'memory_mb': 1024, + 'vcpus': 2, 'image_ref': '155d900f-4e14-4e4c-a73d-069cbf4541e6', - 'vcpus': 2}) + 'system_metadata': sys_meta}) def test_list_instances(self): instances = self.powervm_connection.list_instances() diff --git a/nova/virt/powervm/blockdev.py b/nova/virt/powervm/blockdev.py index 75f90e327..c8d58d939 100644 --- a/nova/virt/powervm/blockdev.py +++ b/nova/virt/powervm/blockdev.py @@ -20,6 +20,7 @@ import re from oslo.config import cfg +from nova.compute import instance_types from nova.compute import task_states from nova.image import glance from nova.openstack.common import excutils @@ -174,8 +175,8 @@ class PowerVMLocalVolumeAdapter(PowerVMDiskAdapter): # calculate root device size in bytes # we respect the minimum root device size in constants - size_gb = max(instance['instance_type']['root_gb'], - constants.POWERVM_MIN_ROOT_GB) + instance_type = instance_types.extract_instance_type(instance) + size_gb = max(instance_type['root_gb'], constants.POWERVM_MIN_ROOT_GB) size = size_gb * 1024 * 1024 * 1024 try: diff --git a/nova/virt/powervm/driver.py b/nova/virt/powervm/driver.py index 7484e91b6..c388eecfd 100755 --- a/nova/virt/powervm/driver.py +++ b/nova/virt/powervm/driver.py @@ -19,6 +19,7 @@ import time from oslo.config import cfg +from nova.compute import instance_types from nova.image import glance from nova.openstack.common import log as logging from nova.virt import driver @@ -276,7 +277,8 @@ class PowerVMDriver(driver.ComputeDriver): """ lpar_obj = self._powervm._create_lpar_instance(instance) - new_lv_size = instance['instance_type']['root_gb'] + instance_type = instance_types.extract_instance_type(instance) + new_lv_size = instance_type['root_gb'] old_lv_size = disk_info['old_lv_size'] if 'root_disk_file' in disk_info: disk_size = max(int(new_lv_size), int(old_lv_size)) -- cgit