live migration (block migration) _post_live_migration may run with an expired token

Bug #1286142 reported by jan grant
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Expired
Undecided
Unassigned

Bug Description

A live migration of a large instance can take an arbitrarily long period of time.

Once the underlying driver calls nova.compute.manager._post_live_migration, the context that's passed in may have an expired credential attached to it. That makes the calls that the post-step runs fail.

These calls fall into two categories. The first are ones that gather information - that information may, potentially, be gathered earlier on as a part of the pre-migration step.

However, some of these calls (which run on both the source and destination) ask other components to actually perform some state changes - block device mappings and/or network state changes.

There are a number of approaches which might be taken to remedy this. For instance, keystone might be given the ability to spawn long-lived, one-shot tokens that can be renewed without the underlying credentials; the live migration process then needs to spawn and keep those tokens alive while it waits.

Alternatively, the services that migration depends upon (block migration, network migration) could be aught about the live migration lifecycle explicitly. (This is not a bad idea anyway.) They can use the partial setup registered as a part of the pre-migration to authorise the post-migration step - however, the nova layer would still need to credential the api requests it makes to complete the live migration process.

Finally, the nova layer could be given not only neutron but also cinder admin credentials, which it uses for the post-migration stage.

Revision history for this message
Loganathan Parthipan (parthipan) wrote :
Tracy Jones (tjones-i)
tags: added: compute
Michael Still (mikal)
Changed in nova:
status: New → Triaged
importance: Undecided → Medium
Sean Dague (sdague)
Changed in nova:
status: Triaged → Confirmed
Changed in nova:
assignee: nobody → Timofey Durakov (tdurakov)
tags: added: live-migrate
Changed in nova:
assignee: Timofey Durakov (tdurakov) → nobody
Paul Murray (pmurray)
tags: added: live-migration
removed: live-migrate
lvmxh (shaohef)
Changed in nova:
assignee: nobody → lvmxh (shaohef)
Changed in nova:
assignee: lvmxh (shaohef) → nobody
Revision history for this message
Markus Zoeller (markus_z) (mzoeller) wrote : Cleanup EOL bug report

This is an automated cleanup. This bug report has been closed because it
is older than 18 months and there is no open code change to fix this.
After this time it is unlikely that the circumstances which lead to
the observed issue can be reproduced.

If you can reproduce the bug, please:
* reopen the bug report (set to status "New")
* AND add the detailed steps to reproduce the issue (if applicable)
* AND leave a comment "CONFIRMED FOR: <RELEASE_NAME>"
  Only still supported release names are valid (LIBERTY, MITAKA, OCATA, NEWTON).
  Valid example: CONFIRMED FOR: LIBERTY

Changed in nova:
importance: Medium → Undecided
status: Confirmed → Expired
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.