Live migration does not restrict to the original cell

Bug #1712210 reported by Matt Riedemann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Medium
Matt Riedemann
Pike
Fix Released
Medium
Matt Riedemann

Bug Description

Migration operations between multiple cells is not supported in Pike, but the LiveMigrateTask in conductor does not restrict the RequestSpec.requested_destination.cell to the original cell that the instance is in when calling the scheduler's select_destination method.

https://github.com/openstack/nova/blob/16.0.0.0rc1/nova/conductor/tasks/live_migrate.py#L153

And when forcing a host during live migration, it completely bypasses the scheduler altogether:

https://github.com/openstack/nova/blob/16.0.0.0rc1/nova/conductor/tasks/live_migrate.py#L91

We could fix the former by adding the cell mapping to the requested_destination like for a cold migration:

https://github.com/openstack/nova/blob/16.0.0.0rc1/nova/conductor/tasks/migrate.py#L51-L65

As for the latter (forced host, bypass the scheduler), we could just leave it and let it fail - you'd likely get some kind of unhelpful RPC error since the computes can't talk to each other. Or we could get the cell mapping for the source node and destination node and verify they are the same and fail in a clear way if they are not.

Revision history for this message
Matt Riedemann (mriedem) wrote :

I've tagged this with pike-rc-potential but this one might not be worth holding up RC2 for the fix. We could just put out a known issue release note.

Changed in nova:
status: New → Triaged
assignee: nobody → Chris Friesen (cbf123)
tags: added: pike-rc-potential
Matt Riedemann (mriedem)
Changed in nova:
assignee: Chris Friesen (cbf123) → Matt Riedemann (mriedem)
status: Triaged → In Progress
Revision history for this message
Matt Riedemann (mriedem) wrote :

This was fixed with this change: https://review.openstack.org/#/c/496419/

I screwed up the bug tag in the commit message which is why it wasn't linked here.

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
Matt Riedemann (mriedem) wrote :

This is the stable/pike backport: https://review.openstack.org/#/c/496729/

tags: removed: pike-rc-potential
Revision history for this message
Matt Riedemann (mriedem) wrote :

https://review.openstack.org/#/c/496729/ is merged, but the commit targeted a different bug, which is why it didn't close this out. It was fixed in the 16.0.0 Pike GA.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.