summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-02-08 22:51:10 +0000
committerGerrit Code Review <review@openstack.org>2012-02-08 22:51:10 +0000
commit650d822dbd24de3586c61319576117ff4568bd2c (patch)
tree0045d4502dc5eeb0f337fb84207e0a7170d339b8
parent6ca8e79dca4e8e9767fff61e95040aa61f51014b (diff)
parent041e325dd03cbe5874770708f8e3f2b4a73d756c (diff)
downloadnova-650d822dbd24de3586c61319576117ff4568bd2c.tar.gz
nova-650d822dbd24de3586c61319576117ff4568bd2c.tar.xz
nova-650d822dbd24de3586c61319576117ff4568bd2c.zip
Merge "Consistently update instance in nova/compute/manager.py"
-rw-r--r--nova/compute/manager.py22
-rw-r--r--nova/tests/test_compute.py2
2 files changed, 8 insertions, 16 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 5103ffdd6..84536a040 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -213,8 +213,7 @@ class ComputeManager(manager.SchedulerDependentManager):
def _set_instance_error_state(self, context, instance_uuid):
self._instance_update(context,
instance_uuid,
- vm_state=vm_states.ERROR,
- task_state=None)
+ vm_state=vm_states.ERROR)
def init_host(self):
"""Initialization for a standalone compute service."""
@@ -437,8 +436,7 @@ class ComputeManager(manager.SchedulerDependentManager):
return
except Exception as e:
with utils.save_and_reraise_exception():
- self._instance_update(context, instance_uuid,
- vm_state=vm_states.ERROR)
+ self._set_instance_error_state(context, instance_uuid)
def _check_instance_not_already_created(self, context, instance):
"""Ensure an instance with the same name is not already present."""
@@ -1195,9 +1193,7 @@ class ComputeManager(manager.SchedulerDependentManager):
same_host = instance_ref['host'] == FLAGS.host
if same_host and not FLAGS.allow_resize_to_same_host:
- self._instance_update(context,
- instance_uuid,
- vm_state=vm_states.ERROR)
+ self._set_instance_error_state(context, instance_uuid)
msg = _('destination same as source!')
raise exception.MigrationError(msg)
@@ -1253,9 +1249,7 @@ class ComputeManager(manager.SchedulerDependentManager):
with utils.save_and_reraise_exception():
msg = _('%s. Setting instance vm_state to ERROR')
LOG.error(msg % error)
- self._instance_update(context,
- instance_uuid,
- vm_state=vm_states.ERROR)
+ self._set_instance_error_state(context, instance_uuid)
self.db.migration_update(context,
migration_id,
@@ -1330,9 +1324,7 @@ class ComputeManager(manager.SchedulerDependentManager):
with utils.save_and_reraise_exception():
msg = _('%s. Setting instance vm_state to ERROR')
LOG.error(msg % error)
- self._instance_update(context,
- instance_ref.uuid,
- vm_state=vm_states.ERROR)
+ self._set_instance_error_state(context, instance_ref.uuid)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@checks_instance_lock
@@ -1485,7 +1477,7 @@ class ComputeManager(manager.SchedulerDependentManager):
context = context.elevated()
LOG.debug(_('instance %s: locking'), instance_uuid, context=context)
- self.db.instance_update(context, instance_uuid, {'locked': True})
+ self._instance_update(context, instance_uuid, locked=True)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@wrap_instance_fault
@@ -1494,7 +1486,7 @@ class ComputeManager(manager.SchedulerDependentManager):
context = context.elevated()
LOG.debug(_('instance %s: unlocking'), instance_uuid, context=context)
- self.db.instance_update(context, instance_uuid, {'locked': False})
+ self._instance_update(context, instance_uuid, locked=False)
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@wrap_instance_fault
diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py
index 221f86fe7..33861000d 100644
--- a/nova/tests/test_compute.py
+++ b/nova/tests/test_compute.py
@@ -590,7 +590,7 @@ class ComputeTestCase(BaseTestCase):
inst_ref = db.instance_get_by_uuid(self.context, instance_uuid)
self.assertEqual(inst_ref['vm_state'], vm_states.ERROR)
- self.assertEqual(inst_ref['task_state'], None)
+ self.assertEqual(inst_ref['task_state'], task_states.UPDATING_PASSWORD)
self.compute.terminate_instance(self.context, inst_ref['uuid'])