The TODO at the end of the method was based on some old
nova-compute behavior which was removed with change
I39d93dbf8552605e34b9f146e3613e6af62a1774 in Rocky.
Instead of logging a warning, ConsumerAllocationRetrievalFailed
is now raised since without the instance consumer allocations
on the source node during a forced evacuate we cannot proceed
with making those allocations on the destination host.
The method is refactored a bit for clarity while in here and
to drop the big nesting.
Remember that this method is *only* called in the case of a
live migration or evacuate operation with a forced target host
and evacuate is the only case where source_allocations are not
provided.
Change-Id: I988d1bd4d7eb1a01d443e3d93964bd09afcc4929