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
Change-Id: I3ce6f6275bfe09d43718c3a491b3991a804027bd
(cherry picked from commit e5a34fffdf97fcda7d0abfdc9e23485479ca2c4f)
Reviewed: https:/ /review. opendev. org/c/openstack /nova/+ /816954 /opendev. org/openstack/ nova/commit/ 037e588788e60d7 b51ebe2cbb0787b 3008f402fd
Committed: https:/
Submitter: "Zuul (22348)"
Branch: stable/xena
commit 037e588788e60d7 b51ebe2cbb0787b 3008f402fd
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 a7d0abfdc9e2348 5479ca2c4f)
Change-Id: I3ce6f6275bfe09
(cherry picked from commit e5a34fffdf97fcd