Comment 3 for bug 1413610

Revision history for this message
Mike Perez (thingee) wrote :

Duncan, Nova does not clean up if this call fails:

https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L4783

While I agree Nova shouldn't assume this call will succeed as it does today, what I think Loganathan is explaining is we have nova expecting volume migration completion to be ran by a normal end user, not the administrator.

Volume migrate was never intended to be used by an end user, which is why by default it's required for the user running it to be within the admin role. In an OpenStack environment, the end user wouldn't know or care about the storage backends, they would just want to consume the resources based on requirements advertised by volume types, that's it.

With that in mind, the administrator cares/knows about the backends, so we expose this feature to an admin role only. However, I don't think that's the problem either.

Currently in the Nova code it does elevate the context which it talks to Cinder, so I'm not sure why this is happening:

https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L4796