summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/api/openstack/__init__.py4
-rw-r--r--nova/api/openstack/images.py20
-rw-r--r--nova/api/openstack/views/images.py8
-rw-r--r--nova/tests/api/openstack/test_images.py31
4 files changed, 17 insertions, 46 deletions
diff --git a/nova/api/openstack/__init__.py b/nova/api/openstack/__init__.py
index 0ac67fdba..1ec943f55 100644
--- a/nova/api/openstack/__init__.py
+++ b/nova/api/openstack/__init__.py
@@ -129,7 +129,7 @@ class APIRouterV10(APIRouter):
member=self.server_members)
mapper.resource("image", "images",
- controller=images.Controller_v1_0(),
+ controller=images.ControllerV10(),
collection={'detail': 'GET'})
@@ -142,7 +142,7 @@ class APIRouterV11(APIRouter):
member=self.server_members)
mapper.resource("image", "images",
- controller=images.Controller_v1_1(),
+ controller=images.ControllerV11(),
collection={'detail': 'GET'})
diff --git a/nova/api/openstack/images.py b/nova/api/openstack/images.py
index 2357bfd3d..bc7338699 100644
--- a/nova/api/openstack/images.py
+++ b/nova/api/openstack/images.py
@@ -29,13 +29,15 @@ class Controller(wsgi.Controller):
OpenStack API. Version-inspecific code goes here.
"""
- _builder = images_view.Builder_v1_0()
-
_serialization_metadata = {
'application/xml': {
"attributes": {
"image": ["id", "name", "updated", "created", "status",
- "serverId", "progress"]}}}
+ "serverId", "progress"],
+ "link": ["rel", "type", "href"],
+ },
+ },
+ }
def __init__(self, image_service=None, compute_service=None):
"""
@@ -109,8 +111,8 @@ class Controller(wsgi.Controller):
raise exc.HTTPBadRequest()
try:
- server_id = image["serverId"]
- image_name = image["name"]
+ server_id = image["image"]["serverId"]
+ image_name = image["image"]["name"]
except KeyError:
raise exc.HTTPBadRequest()
@@ -118,15 +120,15 @@ class Controller(wsgi.Controller):
return self._builder.build(req, image, True)
-class Controller_v1_0(Controller):
+class ControllerV10(Controller):
"""
Version 1.0 specific controller logic.
"""
- _builder = images_view.Builder_v1_0()
+ _builder = images_view.ViewBuilderV10()
-class Controller_v1_1(Controller):
+class ControllerV11(Controller):
"""
Version 1.1 specific controller logic.
"""
- _builder = images_view.Builder_v1_1()
+ _builder = images_view.ViewBuilderV11()
diff --git a/nova/api/openstack/views/images.py b/nova/api/openstack/views/images.py
index 1631d1fe3..c41e60546 100644
--- a/nova/api/openstack/views/images.py
+++ b/nova/api/openstack/views/images.py
@@ -16,7 +16,7 @@
# under the License.
-class Builder(object):
+class ViewBuilder(object):
"""
Base class for generating responses to OpenStack API requests for
information about images.
@@ -41,11 +41,11 @@ class Builder(object):
return image
-class Builder_v1_0(Builder):
+class ViewBuilderV10(ViewBuilder):
pass
-class Builder_v1_1(Builder):
+class ViewBuilderV11(ViewBuilder):
"""
OpenStack API v1.1 Image Builder
"""
@@ -54,7 +54,7 @@ class Builder_v1_1(Builder):
"""
Return a standardized image structure for display by the API.
"""
- image = Builder.build(self, request, image_obj, detail)
+ image = ViewBuilder.build(self, request, image_obj, detail)
href = "%s/images/%s" % (request.application_url, image_obj["id"])
image["links"] = [{
diff --git a/nova/tests/api/openstack/test_images.py b/nova/tests/api/openstack/test_images.py
index c313192b7..c5a866bc7 100644
--- a/nova/tests/api/openstack/test_images.py
+++ b/nova/tests/api/openstack/test_images.py
@@ -262,9 +262,6 @@ class ImageControllerWithGlanceServiceTest(test.TestCase):
"href": href,
}],
}
- print test_image
- print
- print response_list
self.assertTrue(test_image in response_list)
self.assertEqual(len(response_list), len(self.IMAGE_FIXTURES))
@@ -321,31 +318,3 @@ class ImageControllerWithGlanceServiceTest(test.TestCase):
self.assertTrue(test_image in response_list)
self.assertEqual(len(response_list), len(self.IMAGE_FIXTURES))
-
- def test_get_image_create_empty(self):
- request = webob.Request.blank('/v1.1/images')
- request.method = "POST"
- response = request.get_response(fakes.wsgi_app())
- self.assertEqual(400, response.status_int)
-
- def test_get_image_create_bad_no_name(self):
- request = webob.Request.blank('/v1.1/images')
- request.method = "POST"
- request.content_type = "application/json"
- request.body = json.dumps({
- "serverId": 1,
- })
- response = request.get_response(fakes.wsgi_app())
- self.assertEqual(400, response.status_int)
-
- def test_get_image_create_bad_no_id(self):
- request = webob.Request.blank('/v1.1/images')
- request.method = "POST"
- request.content_type = "application/json"
- request.body = json.dumps({
- "name" : "Snapshot Test",
- })
- response = request.get_response(fakes.wsgi_app())
- self.assertEqual(400, response.status_int)
-
-