summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/ec2/cloud.py6
-rw-r--r--nova/api/metadata/base.py4
-rw-r--r--nova/api/openstack/compute/views/servers.py3
3 files changed, 7 insertions, 6 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index 6bc5185bf..a35460576 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -1084,10 +1084,8 @@ class CloudController(object):
@staticmethod
def _format_instance_type(instance, result):
- if instance['instance_type']:
- result['instanceType'] = instance['instance_type'].get('name')
- else:
- result['instanceType'] = None
+ instance_type = instance_types.extract_instance_type(instance)
+ result['instanceType'] = instance_type['name']
@staticmethod
def _format_group_set(instance, result):
diff --git a/nova/api/metadata/base.py b/nova/api/metadata/base.py
index 41f36541c..896c8fbd7 100644
--- a/nova/api/metadata/base.py
+++ b/nova/api/metadata/base.py
@@ -28,6 +28,7 @@ from oslo.config import cfg
from nova.api.ec2 import ec2utils
from nova.api.metadata import password
from nova import block_device
+from nova.compute import instance_types
from nova import conductor
from nova import context
from nova import network
@@ -210,7 +211,8 @@ class InstanceMetadata():
meta_data['product-codes'] = []
if self._check_version('2007-08-29', version):
- meta_data['instance-type'] = self.instance['instance_type']['name']
+ instance_type = instance_types.extract_instance_type(self.instance)
+ meta_data['instance-type'] = instance_type['name']
if False and self._check_version('2007-10-10', version):
# TODO(vish): store ancestor ids
diff --git a/nova/api/openstack/compute/views/servers.py b/nova/api/openstack/compute/views/servers.py
index 165d363a4..f00ab9921 100644
--- a/nova/api/openstack/compute/views/servers.py
+++ b/nova/api/openstack/compute/views/servers.py
@@ -22,6 +22,7 @@ from nova.api.openstack import common
from nova.api.openstack.compute.views import addresses as views_addresses
from nova.api.openstack.compute.views import flavors as views_flavors
from nova.api.openstack.compute.views import images as views_images
+from nova.compute import instance_types
from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
@@ -180,7 +181,7 @@ class ViewBuilder(common.ViewBuilder):
return ""
def _get_flavor(self, request, instance):
- instance_type = instance["instance_type"]
+ instance_type = instance_types.extract_instance_type(instance)
if not instance_type:
LOG.warn(_("Instance has had its instance_type removed "
"from the DB"), instance=instance)