diff options
| author | Dan Prince <dan.prince@rackspace.com> | 2012-01-17 14:33:16 -0500 |
|---|---|---|
| committer | Dan Prince <dan.prince@rackspace.com> | 2012-01-17 15:31:26 -0500 |
| commit | c7d2f020f0fdf04b24bd21668e7a02796f1f5538 (patch) | |
| tree | f58c19ad9bdded8182c0878282a5d3e23f89991a | |
| parent | 8c1e0022028a454f536ff211aa200cab9b0111aa (diff) | |
Allow instances in 'BUILD' state to be deleted.
Fixes LP Bug #907808.
Change-Id: I4332e9e822db507951af07bd654a27b3e2ce3973
| -rw-r--r-- | nova/compute/api.py | 4 | ||||
| -rw-r--r-- | nova/tests/api/openstack/compute/test_servers.py | 7 |
2 files changed, 5 insertions, 6 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py index a75d5c027..6f9930187 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -839,9 +839,9 @@ class API(base.Base): # allowed but the EC2 API appears to allow from RESCUED and STOPPED # too @wrap_check_policy - @check_instance_state(vm_state=[vm_states.ACTIVE, vm_states.SHUTOFF, + @check_instance_state(vm_state=[vm_states.ACTIVE, vm_states.BUILDING, vm_states.ERROR, vm_states.RESCUED, - vm_states.STOPPED]) + vm_states.SHUTOFF, vm_states.STOPPED]) @scheduler_api.reroute_compute("delete") def delete(self, context, instance): """Terminate an instance.""" diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py index 0cc8a7706..0fafa1e77 100644 --- a/nova/tests/api/openstack/compute/test_servers.py +++ b/nova/tests/api/openstack/compute/test_servers.py @@ -1394,10 +1394,9 @@ class ServersControllerTest(test.TestCase): self.server_delete_called = True self.stubs.Set(nova.db, 'instance_destroy', instance_destroy_mock) - self.assertRaises(webob.exc.HTTPConflict, - self.controller.delete, - req, - FAKE_UUID) + self.controller.delete(req, FAKE_UUID) + + self.assertEqual(self.server_delete_called, True) def test_delete_server_instance_while_resize(self): req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID) |
