From c7d2f020f0fdf04b24bd21668e7a02796f1f5538 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Tue, 17 Jan 2012 14:33:16 -0500 Subject: Allow instances in 'BUILD' state to be deleted. Fixes LP Bug #907808. Change-Id: I4332e9e822db507951af07bd654a27b3e2ce3973 --- nova/compute/api.py | 4 ++-- 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) -- cgit