diff options
author | Zuul <zuul@review.openstack.org> | 2018-09-19 16:30:32 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2018-09-19 16:30:32 +0000 |
commit | fff857bd7babb16fdc52d5d5e83e8191bd178849 (patch) | |
tree | 19ca700bd1eaded86e107f34ac22661b661cfddc | |
parent | fe0c1033d900c59d879997a1bba4722ae6d420c6 (diff) | |
parent | f5b8a0a09baa3522f5c6f120d84db738cc236ab1 (diff) | |
download | nova-fff857bd7babb16fdc52d5d5e83e8191bd178849.tar.gz |
Merge "Return 400 when compute host is not found" into stable/ocata
-rw-r--r-- | nova/api/openstack/compute/migrate_server.py | 3 | ||||
-rw-r--r-- | nova/tests/unit/api/openstack/compute/test_migrate_server.py | 21 |
2 files changed, 22 insertions, 2 deletions
diff --git a/nova/api/openstack/compute/migrate_server.py b/nova/api/openstack/compute/migrate_server.py index 44bf0a57f7..cb543d7b0e 100644 --- a/nova/api/openstack/compute/migrate_server.py +++ b/nova/api/openstack/compute/migrate_server.py @@ -102,7 +102,6 @@ class MigrateServerController(wsgi.Controller): raise exc.HTTPNotFound(explanation=e.format_message()) except (exception.NoValidHost, exception.ComputeServiceUnavailable, - exception.ComputeHostNotFound, exception.InvalidHypervisorType, exception.InvalidCPUInfo, exception.UnableToMigrateToSelf, @@ -121,6 +120,8 @@ class MigrateServerController(wsgi.Controller): raise exc.HTTPBadRequest(explanation=ex.format_message()) except exception.InstanceIsLocked as e: raise exc.HTTPConflict(explanation=e.format_message()) + except exception.ComputeHostNotFound as e: + raise exc.HTTPBadRequest(explanation=e.format_message()) except exception.InstanceInvalidState as state_error: common.raise_http_conflict_for_instance_invalid_state(state_error, 'os-migrateLive', id) diff --git a/nova/tests/unit/api/openstack/compute/test_migrate_server.py b/nova/tests/unit/api/openstack/compute/test_migrate_server.py index 387901533e..57722f170d 100644 --- a/nova/tests/unit/api/openstack/compute/test_migrate_server.py +++ b/nova/tests/unit/api/openstack/compute/test_migrate_server.py @@ -421,8 +421,27 @@ class MigrateServerTestsV234(MigrateServerTestsV230): def test_migrate_live_migration_with_old_nova_not_supported(self): pass + def test_migrate_live_compute_host_not_found(self): + exc = exception.ComputeHostNotFound( + reason="Compute host %(host)s could not be found.", + host='hostname') + self.mox.StubOutWithMock(self.compute_api, 'live_migrate') + instance = self._stub_instance_get() + self.compute_api.live_migrate(self.context, instance, None, + self.disk_over_commit, 'hostname', + self.force, self.async).AndRaise(exc) + + self.mox.ReplayAll() + body = {'os-migrateLive': + {'host': 'hostname', 'block_migration': 'auto'}} + + self.assertRaises(webob.exc.HTTPBadRequest, + self.controller._migrate_live, + self.req, instance.uuid, body=body) + def test_migrate_live_unexpected_error(self): - exc = exception.NoValidHost(reason="No valid host found") + exc = exception.InvalidHypervisorType( + reason="The supplied hypervisor type of is invalid.") self.mox.StubOutWithMock(self.compute_api, 'live_migrate') instance = self._stub_instance_get() self.compute_api.live_migrate(self.context, instance, None, |