[Yahoo-eng-team] [Bug 1724172] Re: Allocation of an evacuated instance is not cleaned on the source host if instance is not defined on the hypervisor
** Also affects: nova/pike Importance: Undecided Status: New ** Changed in: nova/pike Status: New => In Progress ** Changed in: nova/pike Importance: Undecided => Low ** Changed in: nova/pike Assignee: (unassigned) => Balazs Gibizer (balazs-gibizer) -- 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): Fix Released Status in OpenStack Compute (nova) pike series: In Progress Status in OpenStack Compute (nova) queens series: Fix Committed Status in OpenStack Compute (nova) rocky series: Fix Committed Status in OpenStack Compute (nova) stein series: Fix Committed 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp
[Yahoo-eng-team] [Bug 1724172] Re: Allocation of an evacuated instance is not cleaned on the source host if instance is not defined on the hypervisor
** Also affects: nova/stein Importance: Undecided Status: New ** Also affects: nova/queens Importance: Undecided Status: New ** Also affects: nova/rocky Importance: Undecided Status: New ** Changed in: nova/stein Status: New => In Progress ** Changed in: nova/stein Importance: Undecided => Medium ** Changed in: nova/stein Assignee: (unassigned) => Balazs Gibizer (balazs-gibizer) ** Changed in: nova/queens Status: New => Confirmed ** Changed in: nova/rocky Importance: Undecided => Medium ** Changed in: nova/queens Importance: Undecided => Medium ** Changed in: nova/rocky Status: New => Confirmed -- 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): Fix Released Status in OpenStack Compute (nova) queens series: Confirmed Status in OpenStack Compute (nova) rocky series: Confirmed Status in OpenStack Compute (nova) stein series: In Progress 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp
[Yahoo-eng-team] [Bug 1724172] Re: Allocation of an evacuated instance is not cleaned on the source host if instance is not defined on the hypervisor
Reviewed: https://review.opendev.org/512623 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=9cacaad14e8c18e99e85d9dc04308fee91303f8f Submitter: Zuul Branch:master commit 9cacaad14e8c18e99e85d9dc04308fee91303f8f Author: Balazs Gibizer Date: Tue Oct 17 15:06:59 2017 +0200 cleanup evacuated instances not on hypervisor When the compute host recovers from a failure the compute manager destroys instances that were evacuated from the host while it was down. However these code paths only consider evacuated instances that are still reported by the hypervisor. This means that if the compute host is recovered in a way that the hypervisor lost the definition of the instances (for example the compute host was redeployed) then the allocation of these instances will not be deleted. This patch makes sure that the instance allocation is cleaned up even if the driver doesn't return that instance as exists on the hypervisor. Note that the functional test coverage will be added on top as it needs some refactoring that would make the bugfix non backportable. Change-Id: I4bc81b482380c5778781659c4d167a712316dab4 Closes-Bug: #1724172 ** Changed in: nova Status: In Progress => 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/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): Fix Released 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp