I'm also not sure why the _destroy_evacuated_instances method in the ComputeManager is including 'accepted' migrations, since that is set in the API when the migration record is created and doesn't mean the migration is done.
Looking at the functional recreate patch https://review.openstack.org/#/c/498482/, one way this could happen is that conductor fails to find a host and the migration record is never set to failed or error. It still seems odd that we don't filter the instance.host != self.host in the compute _destroy_evacuated_instances method.
I'm also not sure why the _destroy_ evacuated_ instances method in the ComputeManager is including 'accepted' migrations, since that is set in the API when the migration record is created and doesn't mean the migration is done.
Looking at the functional recreate patch https:/ /review. openstack. org/#/c/ 498482/, one way this could happen is that conductor fails to find a host and the migration record is never set to failed or error. It still seems odd that we don't filter the instance.host != self.host in the compute _destroy_ evacuated_ instances method.