From eef2dfa580c1a675efc2af46830547befe89dd0f Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Mon, 7 Nov 2011 15:47:09 -0500 Subject: Set task state to UPDATING_PASSWORD when needed Fixes bug 885389 Change-Id: Ia4b91fc8ccc55cac4f484f64c73398e803480eac --- nova/tests/test_compute.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'nova/tests') diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py index b235bcade..3ff3bb425 100644 --- a/nova/tests/test_compute.py +++ b/nova/tests/test_compute.py @@ -362,7 +362,36 @@ class ComputeTestCase(test.TestCase): """Ensure instance can have its admin password set""" instance_id = self._create_instance() self.compute.run_instance(self.context, instance_id) + db.instance_update(self.context, instance_id, + {'task_state': task_states.UPDATING_PASSWORD}) + + inst_ref = db.instance_get(self.context, instance_id) + self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE) + self.assertEqual(inst_ref['task_state'], task_states.UPDATING_PASSWORD) + self.compute.set_admin_password(self.context, instance_id) + + inst_ref = db.instance_get(self.context, instance_id) + self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE) + self.assertEqual(inst_ref['task_state'], None) + + self.compute.terminate_instance(self.context, instance_id) + + def test_set_admin_password_api(self): + """Ensure instance can have its admin password set""" + instance_id = self._create_instance() + self.compute.run_instance(self.context, instance_id) + + inst_ref = db.instance_get(self.context, instance_id) + self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE) + self.assertEqual(inst_ref['task_state'], None) + + self.compute_api.set_admin_password(self.context, instance_id) + + inst_ref = db.instance_get(self.context, instance_id) + self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE) + self.assertEqual(inst_ref['task_state'], task_states.UPDATING_PASSWORD) + self.compute.terminate_instance(self.context, instance_id) def test_inject_file(self): -- cgit