On 04/10/2019 08:14 AM, Chris Dent wrote:
This topic is from the cross project etherpad [1]
There's a spec in progress for this: https://review.openstack.org/#/c/650188/
It does a pretty good job of explaining some of the corner cases. We need to make sure we have a good awareness of all the corners because when we try to do (or even think about) this feature we discover a problem that derails the work.
Which is unfortunate because supporting shared disk is one of the principles on which placement was sold. All the necessary functionality is already there in placement, so making it work is mostly on the nova side, a lot of it in nova-compute. Much of the challenge is associated with dealing with move operations.
A question I posed on the spec is whether it is possible to make this happen without having to rely on additional config. It seems like something where it would be super nice (but perhaps not possible) for a virtdriver to be able to turn on and manage itself.
So the discussion surrounding this topic is perhaps around:
* teasing out the dark corners as much as possible so we don't stumble again
* nailing the issues with moves
* exploring the options for making it as hands-free as possible
I commented on the review. I'm +1 on it, though I do recognize the dark corners here. We've tried numerous times to support shared storage and every time we seem to revert various patches because of (live) migration issues. Not sure that we will ever get to a point where all the corner cases are fully covered, frankly. At some point, the community must decide whether they want accurate reporting of disk resources or whether they are happy to continue with the inaccurate reporting (when using shared instance storage) in order to continue supporting live migration and evacuate/rebuild-to-different-host operations' corner cases. -jay