← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1226756] Re: xenapi sync_power_states peridodic task can traceback when instance not found

 

** Changed in: nova
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1226756

Title:
  xenapi sync_power_states peridodic task can traceback when instance
  not found

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  When an instance is not found on the hypervisor during the
  sync_power_states periodic task, possibly because it's being
  resized/migrated, there's a traceback in the compute logs.

  2013-09-10 17:46:27.736 32525 ERROR nova.openstack.common.periodic_task [-] Error during ComputeManager._sync_power_states: Could not find VM with name instance-00ab07fd-b5b0-44cb-8b62-9df838c7f468
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task Traceback (most recent call last):
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task   File "/opt/rackstack/410.23/nova/lib/python2.6/site-packages/nova/openstack/common/periodic_task.py", line 180, in run_periodic_tasks
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task     task(self, context)
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task   File "/opt/rackstack/410.23/nova/lib/python2.6/site-packages/nova/compute/manager.py", line 4623, in _sync_power_states
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task     vm_instance = self.driver.get_info(db_instance)
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task   File "/opt/rackstack/410.23/nova/lib/python2.6/site-packages/nova/virt/xenapi/driver.py", line 318, in get_info
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task     return self._vmops.get_info(instance)
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task   File "/opt/rackstack/410.23/nova/lib/python2.6/site-packages/nova/virt/xenapi/vmops.py", line 1488, in get_info
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task     vm_ref = vm_ref or self._get_vm_opaque_ref(instance)
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task   File "/opt/rackstack/410.23/nova/lib/python2.6/site-packages/nova/virt/xenapi/vmops.py", line 800, in _get_vm_opaque_ref
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task     instance['name'])
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task NotFound: Could not find VM with name instance-00ab07fd-b5b0-44cb-8b62-9df838c7f468
  2013-09-10 17:46:27.736 32525 TRACE nova.openstack.common.periodic_task

  
  This is happening because the xenapi raises a NotFound exception but the sync_power_states task is expecting an InstanceNotFound exception.   NotFound is a general exception and InstanceNotFound is a more specific one so it would be better to raise InstanceNotFound and catch NotFound.  But for this case it should be ok to just raise InstanceNotFound.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1226756/+subscriptions