summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-01-19 19:51:11 +0000
committerGerrit Code Review <review@openstack.org>2012-01-19 19:51:11 +0000
commit4f204a6d75f2d48608aeeafae20ab3bf8cbadf73 (patch)
treeb145f37cd64feb8d52419817f063a872aaed2b96
parent4672ec7c95845ddd1df29ffa88848c22df512a42 (diff)
parentc7d2f020f0fdf04b24bd21668e7a02796f1f5538 (diff)
Merge "Allow instances in 'BUILD' state to be deleted."
-rw-r--r--nova/compute/api.py4
-rw-r--r--nova/tests/api/openstack/compute/test_servers.py7
2 files changed, 5 insertions, 6 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py
index 012217584..d28f0be4b 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)