Merge "Fix HTTP response code for network APIs and improve error message"
This commit is contained in:
commit
16beb012ec
|
@ -835,11 +835,11 @@ class ServersController(wsgi.Controller):
|
|||
exception.InvalidMetadata,
|
||||
exception.InvalidRequest,
|
||||
exception.MultiplePortsNotApplicable,
|
||||
exception.InstanceUserDataMalformed,
|
||||
exception.PortNotFound,
|
||||
exception.SecurityGroupNotFound,
|
||||
exception.InstanceUserDataMalformed) as error:
|
||||
exception.NetworkNotFound) as error:
|
||||
raise exc.HTTPBadRequest(explanation=error.format_message())
|
||||
except exception.PortNotFound as error:
|
||||
raise exc.HTTPNotFound(explanation=error.format_message())
|
||||
except exception.PortInUse as error:
|
||||
raise exc.HTTPConflict(explanation=error.format_message())
|
||||
|
||||
|
|
|
@ -970,6 +970,7 @@ class Controller(wsgi.Controller):
|
|||
exception.InvalidMetadata,
|
||||
exception.InvalidRequest,
|
||||
exception.MultiplePortsNotApplicable,
|
||||
exception.NetworkNotFound,
|
||||
exception.PortNotFound,
|
||||
exception.SecurityGroupNotFound,
|
||||
exception.InvalidBDM) as error:
|
||||
|
|
|
@ -2327,6 +2327,18 @@ class ServersControllerCreateTest(test.TestCase):
|
|||
self.assertRaises(webob.exc.HTTPBadRequest,
|
||||
self._test_create_extra, params)
|
||||
|
||||
def test_create_instance_with_neturonv2_not_found_network(self):
|
||||
network = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'
|
||||
requested_networks = [{'uuid': network}]
|
||||
params = {'networks': requested_networks}
|
||||
|
||||
def fake_create(*args, **kwargs):
|
||||
raise exception.NetworkNotFound(network_id=network)
|
||||
|
||||
self.stubs.Set(compute_api.API, 'create', fake_create)
|
||||
self.assertRaises(webob.exc.HTTPBadRequest,
|
||||
self._test_create_extra, params)
|
||||
|
||||
def test_create_instance_with_neutronv2_port_not_found(self):
|
||||
network = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'
|
||||
port = 'eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee'
|
||||
|
@ -2337,7 +2349,7 @@ class ServersControllerCreateTest(test.TestCase):
|
|||
raise exception.PortNotFound(port_id=port)
|
||||
|
||||
self.stubs.Set(compute_api.API, 'create', fake_create)
|
||||
self.assertRaises(webob.exc.HTTPNotFound,
|
||||
self.assertRaises(webob.exc.HTTPBadRequest,
|
||||
self._test_create_extra, params)
|
||||
|
||||
|
||||
|
|
|
@ -2949,6 +2949,19 @@ class ServersControllerCreateTest(test.TestCase):
|
|||
self.assertRaises(webob.exc.HTTPConflict,
|
||||
self._test_create_extra, params)
|
||||
|
||||
def test_create_instance_with_neturonv2_not_found_network(self):
|
||||
self.flags(network_api_class='nova.network.neutronv2.api.API')
|
||||
network = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'
|
||||
requested_networks = [{'uuid': network}]
|
||||
params = {'networks': requested_networks}
|
||||
|
||||
def fake_create(*args, **kwargs):
|
||||
raise exception.NetworkNotFound(network_id=network)
|
||||
|
||||
self.stubs.Set(compute_api.API, 'create', fake_create)
|
||||
self.assertRaises(webob.exc.HTTPBadRequest,
|
||||
self._test_create_extra, params)
|
||||
|
||||
def test_create_instance_with_neutronv2_port_not_found(self):
|
||||
self.flags(network_api_class='nova.network.neutronv2.api.API')
|
||||
network = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'
|
||||
|
|
Loading…
Reference in New Issue