From e425b65b3d7e0736ce14c7523c8af85754eda27b Mon Sep 17 00:00:00 2001 From: Chris Behrens Date: Sat, 28 Jul 2012 06:13:07 +0000 Subject: Make compute only auto-confirm its own instances Fixes bug 1030226 Change-Id: I0e0cf0c9950f34b1bdab856b2e1c6872b29fdedc --- nova/compute/api.py | 2 -- nova/compute/manager.py | 13 +++++++------ 2 files changed, 7 insertions(+), 8 deletions(-) (limited to 'nova/compute') diff --git a/nova/compute/api.py b/nova/compute/api.py index d97390e04..f78e13f20 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -1348,8 +1348,6 @@ class API(base.Base): self.db.migration_update(context, migration_ref['id'], {'status': 'confirmed'}) - self.db.instance_update(context, instance['uuid'], - {'host': migration_ref['dest_compute'], }) @wrap_check_policy @check_instance_state(vm_state=[vm_states.ACTIVE, vm_states.STOPPED], diff --git a/nova/compute/manager.py b/nova/compute/manager.py index f41b20a97..686409e47 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -2477,8 +2477,8 @@ class ComputeManager(manager.SchedulerDependentManager): @manager.periodic_task def _poll_unconfirmed_resizes(self, context): if FLAGS.resize_confirm_window > 0: - migrations = self.db.migration_get_all_unconfirmed(context, - FLAGS.resize_confirm_window) + migrations = self.db.migration_get_unconfirmed_by_dest_compute( + context, FLAGS.resize_confirm_window, FLAGS.host) migrations_info = dict(migration_count=len(migrations), confirm_window=FLAGS.resize_confirm_window) @@ -2516,10 +2516,11 @@ class ComputeManager(manager.SchedulerDependentManager): _set_migration_to_error(migration_id, reason % locals(), instance=instance) continue - if instance['vm_state'] != vm_states.RESIZED \ - or instance['task_state'] is not None: - state = instance['vm_state'] - reason = _("In %(state)s vm_state, not RESIZED") + vm_state = instance['vm_state'] + task_state = instance['task_state'] + if vm_state != vm_states.RESIZED or task_state is not None: + reason = _("In states %(vm_state)s/%(task_state)s, not" + "RESIZED/None") _set_migration_to_error(migration_id, reason % locals(), instance=instance) continue -- cgit