Description of problem: This bug comes out of bug 1421946. In that bug we're doing a live migration of an instance with an attached volume, which fails. The live migration failure itself is not the subject of this bug. During the rollback we somehow end up calling ComputeManager._driver_detach_volume on the *destination*, which attempts to detach the volume from the ephemeral destination domain. This fails with: libvirtError: Requested operation is not valid: cannot modify device on transient domain The logs aren't 100% clear, but I am guessing this is called from _rollback_live_migration() when it calls self.compute_rpcapi.remove_volume_connection(context, instance, bdm.volume_id, dest). Note that the dest target is explicit. Failure during rollback means that the rollback is incomplete, which is likely wasting resources.
*** Bug 1353147 has been marked as a duplicate of this bug. ***
This was resolved during Pike and backedport to stable/ocata and stable/newton: https://review.openstack.org/#/q/I95948721a0119f5f54dbe50d4455fd47d422164b Closing as CURRENTRELEASE.
To be clear this fix landed in openstack-nova in the following releases, OSP 10 >=14.0.8 and OSP 11 >=15.0.7. All versions of openstack-nova shipped with OSP 12 and 13 have this fix at release.