The allocation table has residual records when instance is evacuated and the source physical node is removed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Matt Riedemann | ||
Xena |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Description
===========
When the compute node service is down due to a failure, we choose to evacuate instances located on it. After successful evacuation, the relevant records in allocation table will not be cleared, it will only be cleared when the compute service of the source node is restored.
Unfortunately, if the failure node is down because of some unrecoverable failures, and compute service on it will never be restored, there will be residual records in the allocation table.
Further more, if we try to delete the down compute service, record associated with this service will not be deleted in reource_provider table, because of the residual record in allocation table.
Perhaps after a successful evacuation, we need to add operations to clear the allocation table, not just after the source node service is restored.
Steps to reproduce
==================
1.down a compute service
2.evacuate the instances on it
3.delete compute service with command: nova service-delete uuid
Expected result
===============
compute service is deleted successful, and resource_provider has no relevant record
Actual result
=============
compute service is deleted successful, but resource_provider still has relevant record
tags: | added: compute placement scheduler |
Maybe it sounds like this bug: https:/ /bugs.launchpad .net/nova/ +bug/1724172, but this bug considers the scenario of reusing the original physical node, rather than the case where the node is completely unavailable.