The allocation table has residual records when instance is evacuated and the source node is removed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
New
|
Undecided
|
Unassigned |
Bug Description
Description
===========
When compute service is down, we choose to evacuate the instance of corresponding node. If success, there will be two records in allocations table. Normally, we try to restore the nova-compute service and one of the records will be deleted when nova-compute service is restarted. However, if the node fails unrecoverably and becomes unavailable, the compute service will never restart. Eventually, the records in the table will remain.
Further more, if we delete the compute service in failed node, the corresponding records in resource_provider table will not be deleted too, because the remained record in allocation table references this record.
Ultimately, we will have at least two residual records.
Steps to reproduce
==================
1. Let compute service down
2. evacuate the instance on the node with commond:
nova evacuate instance_uuid
3.delete the service
nova service-delete service_id
Expected result
===============
The corrsponding records in allocations and resource_provider are deleted
Actual result
=============
You will find two records in allocation table and one them is invalid, ditto one in resource_provider table
Environment
===========
[root@nail1 ~]# rpm -qa | grep nova
openstack-
openstack-
python2-
openstack-
openstack-
openstack-
openstack-
python-
openstack-
openstack-
tags: | added: placement |
This sounds like a duplicate of bug 1724172.