[openstack-dev] How should we expose host capabilities to the scheduler

Chris Friesen chris.friesen at windriver.com
Mon Aug 10 16:20:04 UTC 2015



On 08/10/2015 09:55 AM, Dugger, Donald D wrote:
> In re: user specifying requirements
>
> Note that we have 2 different requirements here:
>
> 1) The cloud user needs to be able to specify "I want to run this image on a machine that supports capability `foo'".
> 2) The cloud provider needs to be able to say "If you want capability `foo' it'll cost you".  The cloud provider needs to be able to provide tiers of service with appropriate pricing models for those different tiers.
>
> Note that the pricing tier issues means that we have to be careful about how the user asks for capabilities.  If we bury that into the image meta-data then the user could unexpectedly find himself implicitly asking for a pricier instance than expected.

That's why I suggested an error if the requirement on the image can't be met by 
the chosen flavor (which I assume is associated with a particular service level).

Presumably the provider is charging based on flavor, so we need some way to 
expose which flavors provide which CPU models/features.  In the case of AWS, 
they explicitly give Intel CPU model numbers for most of their instance types 
(see https://aws.amazon.com/ec2/instance-types/ for examples).  Because the 
OpenStack provider space is more diverse, we should have some way to 
programatically query the set of supported CPU models (and the features exposed 
for each model).

I was involved in a blueprint proposal for this general topic for Liberty, but 
it got bogged down in the details. 
(https://blueprints.launchpad.net/nova/+spec/cpu-model-per-flavor-or-image)

Chris



More information about the OpenStack-dev mailing list