commit 7f282839911222223652245b2dd12ca26d42a9d3
Author: Matt Riedemann <email address hidden>
Date: Mon Aug 21 18:35:07 2017 -0400
Allocate resources on forced dest host during live migration
When forcing a host during live migration, conductor bypasses
the scheduler so the scheduler won't create an allocation in
Placement against the destination host.
With change Ia93168b1560267178059284186fb2b7096c7e81f, once all
computes are upgraded to Pike, the computes won't auto-heal the
allocations for their respective nodes either, so we end up with
no allocation for the destination node during a live migration when
the host is forced.
This change makes conductor use the source compute node allocations
for the instance to claim the same resource amounts on the forced
destination host in Placement. If the claim fails, a
MigrationPreCheckError is raised.
This is a short-term fix for Pike. A longer-term fix to avoid this
duplication with the scheduler is to have conductor call the
scheduler even when force=True but pass a flag to the scheduler
so it skips the filters but still makes the claim on the destination
node.
Finally, some comments are left in the live_migrate method in the
compute API code since this is all tightly-coupled between the
API and conductor when a host is specified in the request, and it's
easy to get lost on what the API is doing to the request spec which
changes how conductor behaves, i.e. if it calls the scheduler or not.
Change-Id: I40b5af5e85b1266402a7e4bdeb3705e1b0bd6f3b
Closes-Bug: #1712008
(cherry picked from commit 5d3a11b9c9a6a5aecd46ad7ecc635215184d930e)
Reviewed: https:/ /review. openstack. org/496727 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=7f282839911 222223652245b2d d12ca26d42a9d3
Committed: https:/
Submitter: Jenkins
Branch: stable/pike
commit 7f2828399112222 23652245b2dd12c a26d42a9d3
Author: Matt Riedemann <email address hidden>
Date: Mon Aug 21 18:35:07 2017 -0400
Allocate resources on forced dest host during live migration
When forcing a host during live migration, conductor bypasses
the scheduler so the scheduler won't create an allocation in
Placement against the destination host.
With change Ia93168b1560267 178059284186fb2 b7096c7e81f, once all
computes are upgraded to Pike, the computes won't auto-heal the
allocations for their respective nodes either, so we end up with
no allocation for the destination node during a live migration when
the host is forced.
This change makes conductor use the source compute node allocations eCheckError is raised.
for the instance to claim the same resource amounts on the forced
destination host in Placement. If the claim fails, a
MigrationPr
This is a short-term fix for Pike. A longer-term fix to avoid this
duplication with the scheduler is to have conductor call the
scheduler even when force=True but pass a flag to the scheduler
so it skips the filters but still makes the claim on the destination
node.
Finally, some comments are left in the live_migrate method in the
compute API code since this is all tightly-coupled between the
API and conductor when a host is specified in the request, and it's
easy to get lost on what the API is doing to the request spec which
changes how conductor behaves, i.e. if it calls the scheduler or not.
Change-Id: I40b5af5e85b126 6402a7e4bdeb370 5e1b0bd6f3b ecd46ad7ecc6352 15184d930e)
Closes-Bug: #1712008
(cherry picked from commit 5d3a11b9c9a6a5a