From 0162a42970b833c2d5d0802ff4c55f65fa253ee2 Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Wed, 12 Oct 2011 16:28:24 -0400 Subject: Convert instancetype.flavorid to string Fixes bug 861666. This also removes some direct database access in favor of using nova.compute.instance_types throughout the code. Change-Id: I572cc19454fa76f435f5672d3d6e7ed55c8817da --- nova/api/ec2/admin.py | 5 +++-- nova/api/openstack/flavors.py | 11 ++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'nova/api') diff --git a/nova/api/ec2/admin.py b/nova/api/ec2/admin.py index c1b1fa53a..d9a64506d 100644 --- a/nova/api/ec2/admin.py +++ b/nova/api/ec2/admin.py @@ -25,6 +25,7 @@ import netaddr import urllib from nova import compute +from nova.compute import instance_types from nova import db from nova import exception from nova import flags @@ -126,8 +127,8 @@ class AdminController(object): def describe_instance_types(self, context, **_kwargs): """Returns all active instance types data (vcpus, memory, etc.)""" - inst_types = db.instance_type_get_all(context) - inst_type_dicts = [instance_dict(i) for i in inst_types] + inst_types = instance_types.get_all_types() + inst_type_dicts = [instance_dict(i) for i in inst_types.values()] return {'instanceTypeSet': inst_type_dicts} def describe_user(self, _context, name, **_kwargs): diff --git a/nova/api/openstack/flavors.py b/nova/api/openstack/flavors.py index 0727ee258..4c3e860d6 100644 --- a/nova/api/openstack/flavors.py +++ b/nova/api/openstack/flavors.py @@ -18,11 +18,12 @@ import webob from lxml import etree -from nova import db -from nova import exception from nova.api.openstack import views from nova.api.openstack import wsgi from nova.api.openstack import xmlutil +from nova.compute import instance_types +from nova import db +from nova import exception class Controller(object): @@ -57,17 +58,17 @@ class Controller(object): pass # ignore bogus values per spec ctxt = req.environ['nova.context'] - inst_types = db.api.instance_type_get_all(ctxt, filters=filters) + inst_types = instance_types.get_all_types(filters=filters) builder = self._get_view_builder(req) items = [builder.build(inst_type, is_detail=is_detail) - for inst_type in inst_types] + for inst_type in inst_types.values()] return items def show(self, req, id): """Return data about the given flavor id.""" try: ctxt = req.environ['nova.context'] - flavor = db.api.instance_type_get_by_flavor_id(ctxt, id) + flavor = instance_types.get_instance_type_by_flavor_id(id) except exception.NotFound: return webob.exc.HTTPNotFound() -- cgit