[openstack-dev] [nova][cinder] Schedule Instances according to Local disk based Volume?

Matt Riedemann mriedemos at gmail.com
Sat Feb 25 14:53:12 UTC 2017

On 2/23/2017 9:27 PM, Zhenyu Zheng wrote:
> BTW, I think this can be done using new placement service, using the
> custom resource provider? correct?

This came up briefly on Friday at the PTG but unfortunately jaypipes and 
cdent had already left. You should talk to them about this for more 
details. It's my understanding that at some point you'd have a resource 
provider for the compute node and a resource provider for the cinder 
volume node (same host in this case), and you'd define a type of 
"distance" attribute between them, which would be 0. Then when 
requesting the instance create, you provide the distance qualifier of 0 
meaning you want the server and volume on the same resource provider (if 
possible). The distance attribute would be generic, but for the local 
block device scenario you want it to work with 0 distance.

I'm not exactly sure how this is modeled, but I think it would be via an 
aggregate such that both the compute and volume resource providers are 
in the same aggregate association and the distance=0 is defined on the 
aggregate. If that's the case, I don't see how it makes the setup for 
the operator much less complicated than it is today where there has to 
be a matching AZ for each compute and volume node (which gets unwieldy 
when you start to have several thousand nodes). It would make the user 
experience simpler though because instead of needing to select one out 
of several thousand available AZs, I just create a server with a block 
device and specify distance=0 as a required constraint.

I'm personally not sure how close we are to functionality like that, it 
seems like that would be a ways out to me, i.e. we have a lot of other 
work to do before we get to that point.



Matt Riedemann

More information about the OpenStack-dev mailing list