From f7deddb89ce63c2ccc7a207461188aeb7a41af32 Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Thu, 2 Feb 2012 16:28:55 -0800 Subject: Fix status transition when reverting resize Present the instance being reverted with a 'REVERT_RESIZE' status instead of 'ACTIVE' after a revertResize action is triggered. Fixes bug 924371 Change-Id: I12e98733fd00c0794fb9a4acb0cc6752ca02e855 --- nova/tests/api/openstack/compute/test_servers.py | 5 +++++ nova/tests/test_compute.py | 9 +++++++++ 2 files changed, 14 insertions(+) (limited to 'nova/tests') diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py index c6438380e..07c15561d 100644 --- a/nova/tests/api/openstack/compute/test_servers.py +++ b/nova/tests/api/openstack/compute/test_servers.py @@ -1376,6 +1376,11 @@ class ServerStatusTest(test.TestCase): task_states.RESIZE_VERIFY) self.assertEqual(response['server']['status'], 'VERIFY_RESIZE') + def test_revert_resize(self): + response = self._get_with_state(vm_states.RESIZING, + task_states.RESIZE_REVERTING) + self.assertEqual(response['server']['status'], 'REVERT_RESIZE') + def test_password_update(self): response = self._get_with_state(vm_states.ACTIVE, task_states.UPDATING_PASSWORD) diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py index 400e6949f..bc52bb1b5 100644 --- a/nova/tests/test_compute.py +++ b/nova/tests/test_compute.py @@ -1169,6 +1169,10 @@ class ComputeTestCase(BaseTestCase): self.compute.finish_revert_resize(context, inst_ref['uuid'], migration_ref['id']) + instance = db.instance_get_by_uuid(context, instance['uuid']) + self.assertEqual(instance['vm_state'], vm_states.ACTIVE) + self.assertEqual(instance['task_state'], None) + inst_ref = db.instance_get_by_uuid(context, instance_uuid) instance_type_ref = db.instance_type_get(context, inst_ref['instance_type_id']) @@ -2182,6 +2186,11 @@ class ComputeAPITestCase(BaseTestCase): instance = db.instance_get_by_uuid(context, instance['uuid']) self.compute_api.revert_resize(context, instance) + + instance = db.instance_get_by_uuid(context, instance['uuid']) + self.assertEqual(instance['vm_state'], vm_states.RESIZING) + self.assertEqual(instance['task_state'], task_states.RESIZE_REVERTING) + self.compute.terminate_instance(context, instance['uuid']) def test_resize_invalid_flavor_fails(self): -- cgit