Clean up allocations left by evacuation when deleting service
When a compute node goes down and all instances on the compute node
are evacuated, allocation records about these instance are still left
in the source compute node until nova-compute service is again started
on the node. However if a compute node is completely broken, it is not
possible to start the service again.
In this situation deleting nova-compute service for the compute node
doesn't delete its resource provider record, and even if a user tries
to delete the resource provider, the delete request is rejected because
allocations are still left on that node.
This change ensures that remaining allocations left by successful
evacuations are cleared when deleting a nova-compute service, to avoid
any resource provider record left even if a compute node can't be
recovered. Migration records are still left in 'done' status to trigger
clean-up tasks in case the compute node is recovered later.
Reviewed: https:/ /review. opendev. org/c/openstack /nova/+ /778696 /opendev. org/openstack/ nova/commit/ e5a34fffdf97fcd a7d0abfdc9e2348 5479ca2c4f
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit e5a34fffdf97fcd a7d0abfdc9e2348 5479ca2c4f
Author: Takashi Kajinami <email address hidden>
Date: Thu Mar 4 22:27:25 2021 +0900
Clean up allocations left by evacuation when deleting service
When a compute node goes down and all instances on the compute node
are evacuated, allocation records about these instance are still left
in the source compute node until nova-compute service is again started
on the node. However if a compute node is completely broken, it is not
possible to start the service again.
In this situation deleting nova-compute service for the compute node
doesn't delete its resource provider record, and even if a user tries
to delete the resource provider, the delete request is rejected because
allocations are still left on that node.
This change ensures that remaining allocations left by successful
evacuations are cleared when deleting a nova-compute service, to avoid
any resource provider record left even if a compute node can't be
recovered. Migration records are still left in 'done' status to trigger
clean-up tasks in case the compute node is recovered later.
Closes-Bug: #1829479 d43718c3a491b39 91a804027bd
Change-Id: I3ce6f6275bfe09