diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py index 8f407ddf9dbe..855128788522 100644 --- a/nova/api/openstack/compute/servers.py +++ b/nova/api/openstack/compute/servers.py @@ -653,6 +653,7 @@ class ServersController(wsgi.Controller): raise exc.HTTPBadRequest(explanation=msg) except (exception.ImageNotActive, exception.ImageBadRequest, + exception.ImageNotAuthorized, exception.FixedIpNotFoundForAddress, exception.FlavorNotFound, exception.FlavorDiskTooSmall, diff --git a/nova/tests/unit/api/openstack/compute/test_serversV21.py b/nova/tests/unit/api/openstack/compute/test_serversV21.py index 8622c3f7af76..a427da10b4df 100644 --- a/nova/tests/unit/api/openstack/compute/test_serversV21.py +++ b/nova/tests/unit/api/openstack/compute/test_serversV21.py @@ -3241,6 +3241,14 @@ class ServersControllerCreateTest(test.TestCase): self.assertRaises(webob.exc.HTTPBadRequest, self._test_create_extra, {}) + @mock.patch.object(compute_api.API, 'create', + side_effect=exception.ImageNotAuthorized( + project_id=FAKE_UUID)) + def test_create_instance_with_image_not_authorized(self, + mock_create): + self.assertRaises(webob.exc.HTTPBadRequest, + self._test_create_extra, {}) + @mock.patch.object(compute_api.API, 'create', side_effect=exception.InstanceExists( name='instance-name'))