When evacuating a server in a multi-cell environment
we need to restrict the scheduling request during
evacuate to the cell in which the instance already exists
since we don't support cross-cell evacuate.
This fixes the issue by restricting the RequestSpec to
the instance's current cell during evacuate in the same
way we do during unshelve.
Note that this should also improve performance when
rebuilding a server with a new image since we will only
look for the ComputeNode from the targeted cell rather
than iterate all enabled cells during scheduling.
Reviewed: https:/ /review. opendev. org/650429 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=95df2a239c3 2f2ee5d00f06a59 a9e91b59f3aca5
Committed: https:/
Submitter: Zuul
Branch: master
commit 95df2a239c32f2e e5d00f06a59a9e9 1b59f3aca5
Author: Matt Riedemann <email address hidden>
Date: Fri Apr 5 15:36:00 2019 -0400
Restrict RequestSpec to cell when evacuating
When evacuating a server in a multi-cell environment
we need to restrict the scheduling request during
evacuate to the cell in which the instance already exists
since we don't support cross-cell evacuate.
This fixes the issue by restricting the RequestSpec to
the instance's current cell during evacuate in the same
way we do during unshelve.
Note that this should also improve performance when
rebuilding a server with a new image since we will only
look for the ComputeNode from the targeted cell rather
than iterate all enabled cells during scheduling.
Change-Id: I497180fb81fd96 6d1d3d4b54ac66d 2609347583e
Closes-Bug: #1823370