This originally came up in the mailing list last year:
http://lists.openstack.org/pipermail/openstack-dev/2016-September/104406.html
And was revived during the Pike PTG:
http://lists.openstack.org/pipermail/openstack-dev/2017-February/112847.html
The use case is creating a volume-backed instance on a compute that is in close proximity to the backing storage for the volume. This can be achieved today with 1:1 availability zones between the compute hosts and the volume hosts, but this is cumbersome and not user-friendly.
There is talk of being able to solve this with the new placement service where the compute node and volume storage resource providers are in an aggregate and there is a 'distance' attribute on the aggregate. When the user makes the request to boot the server, they would specify they want distance=0 between the compute instance and the backing volume, and the placement service will try to find the appropriate providers (compute and volume storage) to satisfy the request.
The purpose of this topic is to determine if that idea will work, and what it looks like, and how to get there. How would it be better than the 1:1 AZ solution we have today? For example, it might be no better for the operator, but it could be a much better user experience for the user. Are there other alternatives to this solution?