From f3fb16a7935e91f8c9034d1da84a2b17cbe186f8 Mon Sep 17 00:00:00 2001 From: Alex Meade Date: Thu, 29 Sep 2011 15:58:43 -0400 Subject: [PATCH] Adds the tenant id to the create images response Location header Fixes bug 862672 Change-Id: I85fc91c64146b02718dad77686762e26bdfce08c --- nova/api/openstack/servers.py | 5 ++++- nova/tests/api/openstack/test_server_actions.py | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py index d01efd9046b..8da3a8ff84f 100644 --- a/nova/api/openstack/servers.py +++ b/nova/api/openstack/servers.py @@ -1244,7 +1244,10 @@ def _action_create_image(self, input_dict, req, instance_id): # build location of newly-created image entity image_id = str(image['id']) - image_ref = os.path.join(req.application_url, 'images', image_id) + image_ref = os.path.join(req.application_url, + context.project_id, + 'images', + image_id) resp = webob.Response(status_int=202) resp.headers['Location'] = image_ref diff --git a/nova/tests/api/openstack/test_server_actions.py b/nova/tests/api/openstack/test_server_actions.py index 04b603237d3..4625a4809b3 100644 --- a/nova/tests/api/openstack/test_server_actions.py +++ b/nova/tests/api/openstack/test_server_actions.py @@ -871,7 +871,7 @@ def test_create_image(self): response = req.get_response(fakes.wsgi_app()) self.assertEqual(202, response.status_int) location = response.headers['Location'] - self.assertEqual('http://localhost/v1.1/images/123', location) + self.assertEqual('http://localhost/v1.1/fake/images/123', location) def test_create_image_snapshots_disabled(self): """Don't permit a snapshot if the allow_instance_snapshots flag is @@ -904,7 +904,7 @@ def test_create_image_with_metadata(self): response = req.get_response(fakes.wsgi_app()) self.assertEqual(202, response.status_int) location = response.headers['Location'] - self.assertEqual('http://localhost/v1.1/images/123', location) + self.assertEqual('http://localhost/v1.1/fake/images/123', location) def test_create_image_with_too_much_metadata(self): body = {