diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py index 2f5e5fb5b2b7..ba641c6236bc 100644 --- a/nova/api/openstack/compute/servers.py +++ b/nova/api/openstack/compute/servers.py @@ -627,6 +627,7 @@ class ServersController(wsgi.Controller): raise exc.HTTPBadRequest(explanation=msg) except (exception.ImageNotActive, exception.ImageBadRequest, + exception.FixedIpNotFoundForAddress, exception.FlavorDiskTooSmall, exception.FlavorMemoryTooSmall, exception.InvalidMetadata, diff --git a/nova/tests/unit/api/openstack/compute/test_serversV21.py b/nova/tests/unit/api/openstack/compute/test_serversV21.py index efe8afc32c90..5f35d0a1fb66 100644 --- a/nova/tests/unit/api/openstack/compute/test_serversV21.py +++ b/nova/tests/unit/api/openstack/compute/test_serversV21.py @@ -2983,6 +2983,15 @@ class ServersControllerCreateTest(test.TestCase): self.controller.create, self.req, body=self.body) + @mock.patch.object(compute_api.API, 'create', + side_effect=exception.FixedIpNotFoundForAddress( + address='dummy')) + def test_create_instance_raise_fixed_ip_not_found_bad_request(self, + mock_create): + self.assertRaises(webob.exc.HTTPBadRequest, + self.controller.create, + self.req, body=self.body) + @mock.patch.object(compute_api.API, 'create') def test_create_instance_invalid_personality(self, mock_create): codec = 'utf8'