← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1724172] [NEW] Allocation of an evacuated instance is not cleaned on the source host if instance is not defined on the hypervisor

 

Public bug reported:

Nova does not clean up the allocation of an evacuated instance from the
recovered source compute host if the instance is not any more defined on
the hypervisor.

To reproduce:
* Boot an instance
* Kill the compute host the instance is booted on
* Evacuate the instance
* Recover the original compute host in a way that clears the instance definition from the hypervisor (e.g. redeploy the compute host).
* Check the allocations of the instance in placement API. The allocation against the source compute host is not cleaned up.

The compute manager is supposed to clean up evacuated instances during
the compute manager init_host method by calling
_destroy_evacuated_instances. However that function only iterates on
instances known by the hypervisor [1].

[1]
https://github.com/openstack/nova/blob/5e4c98a58f1afeaa903829f5e3f28cd6dc30bf4b/nova/compute/manager.py#L654

** Affects: nova
     Importance: Undecided
     Assignee: Balazs Gibizer (balazs-gibizer)
         Status: New


** Tags: evacuate

** Tags added: evacuate

-- 
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/1724172

Title:
  Allocation of an evacuated instance is not cleaned on the source host
  if instance is not defined on the hypervisor

Status in OpenStack Compute (nova):
  New

Bug description:
  Nova does not clean up the allocation of an evacuated instance from
  the recovered source compute host if the instance is not any more
  defined on the hypervisor.

  To reproduce:
  * Boot an instance
  * Kill the compute host the instance is booted on
  * Evacuate the instance
  * Recover the original compute host in a way that clears the instance definition from the hypervisor (e.g. redeploy the compute host).
  * Check the allocations of the instance in placement API. The allocation against the source compute host is not cleaned up.

  The compute manager is supposed to clean up evacuated instances during
  the compute manager init_host method by calling
  _destroy_evacuated_instances. However that function only iterates on
  instances known by the hypervisor [1].

  [1]
  https://github.com/openstack/nova/blob/5e4c98a58f1afeaa903829f5e3f28cd6dc30bf4b/nova/compute/manager.py#L654

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


Follow ups