summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-06-20 19:07:49 +0000
committerGerrit Code Review <review@openstack.org>2013-06-20 19:07:49 +0000
commit04e92b37d15672603390cb13d46106f32704ba3e (patch)
treed074aa0de8936372450963821e09eff801955577
parent7c25e74f05b7d4b1707b621db0789319519604e8 (diff)
parent79633bbe98d1b144c890a31bd80400283dc0934b (diff)
downloadnova-04e92b37d15672603390cb13d46106f32704ba3e.tar.gz
nova-04e92b37d15672603390cb13d46106f32704ba3e.tar.xz
nova-04e92b37d15672603390cb13d46106f32704ba3e.zip
Merge "Remove a layer of nesting in _poll_unconfirmed_resizes()"
-rwxr-xr-xnova/compute/manager.py114
1 files changed, 58 insertions, 56 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 982545e0c..0a6a9d08d 100755
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -3677,62 +3677,64 @@ class ComputeManager(manager.SchedulerDependentManager):
@periodic_task.periodic_task
def _poll_unconfirmed_resizes(self, context):
- if CONF.resize_confirm_window > 0:
- capi = self.conductor_api
- migrations = capi.migration_get_unconfirmed_by_dest_compute(
- context, CONF.resize_confirm_window, self.host)
-
- migrations_info = dict(migration_count=len(migrations),
- confirm_window=CONF.resize_confirm_window)
-
- if migrations_info["migration_count"] > 0:
- LOG.info(_("Found %(migration_count)d unconfirmed migrations "
- "older than %(confirm_window)d seconds"),
- migrations_info)
-
- def _set_migration_to_error(migration, reason, **kwargs):
- LOG.warn(_("Setting migration %(migration_id)s to error: "
- "%(reason)s"),
- {'migration_id': migration['id'], 'reason': reason},
- **kwargs)
- self.conductor_api.migration_update(context, migration,
- 'error')
-
- for migration in migrations:
- instance_uuid = migration['instance_uuid']
- LOG.info(_("Automatically confirming migration "
- "%(migration_id)s for instance %(instance_uuid)s"),
- {'migration_id': migration['id'],
- 'instance_uuid': instance_uuid})
- try:
- instance = self.conductor_api.instance_get_by_uuid(
- context, instance_uuid)
- except exception.InstanceNotFound:
- reason = (_("Instance %s not found") %
- instance_uuid)
- _set_migration_to_error(migration, reason)
- continue
- if instance['vm_state'] == vm_states.ERROR:
- reason = _("In ERROR state")
- _set_migration_to_error(migration, reason,
- instance=instance)
- continue
- 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") %
- {'vm_state': vm_state,
- 'task_state': task_state})
- _set_migration_to_error(migration, reason,
- instance=instance)
- continue
- try:
- self.conductor_api.compute_confirm_resize(
- context, instance, migration_ref=migration)
- except Exception as e:
- LOG.error(_("Error auto-confirming resize: %s. "
- "Will retry later.") % e, instance=instance)
+ if CONF.resize_confirm_window == 0:
+ return
+
+ capi = self.conductor_api
+ migrations = capi.migration_get_unconfirmed_by_dest_compute(
+ context, CONF.resize_confirm_window, self.host)
+
+ migrations_info = dict(migration_count=len(migrations),
+ confirm_window=CONF.resize_confirm_window)
+
+ if migrations_info["migration_count"] > 0:
+ LOG.info(_("Found %(migration_count)d unconfirmed migrations "
+ "older than %(confirm_window)d seconds"),
+ migrations_info)
+
+ def _set_migration_to_error(migration, reason, **kwargs):
+ LOG.warn(_("Setting migration %(migration_id)s to error: "
+ "%(reason)s"),
+ {'migration_id': migration['id'], 'reason': reason},
+ **kwargs)
+ self.conductor_api.migration_update(context, migration,
+ 'error')
+
+ for migration in migrations:
+ instance_uuid = migration['instance_uuid']
+ LOG.info(_("Automatically confirming migration "
+ "%(migration_id)s for instance %(instance_uuid)s"),
+ {'migration_id': migration['id'],
+ 'instance_uuid': instance_uuid})
+ try:
+ instance = self.conductor_api.instance_get_by_uuid(
+ context, instance_uuid)
+ except exception.InstanceNotFound:
+ reason = (_("Instance %s not found") %
+ instance_uuid)
+ _set_migration_to_error(migration, reason)
+ continue
+ if instance['vm_state'] == vm_states.ERROR:
+ reason = _("In ERROR state")
+ _set_migration_to_error(migration, reason,
+ instance=instance)
+ continue
+ 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") %
+ {'vm_state': vm_state,
+ 'task_state': task_state})
+ _set_migration_to_error(migration, reason,
+ instance=instance)
+ continue
+ try:
+ self.conductor_api.compute_confirm_resize(
+ context, instance, migration_ref=migration)
+ except Exception as e:
+ LOG.error(_("Error auto-confirming resize: %s. "
+ "Will retry later.") % e, instance=instance)
@periodic_task.periodic_task
def _instance_usage_audit(self, context):