Massimo-
To decide if an instance should go to a compute node with or without overcommitment is easy; e.g. it could be done with host aggregates + setting metadata to the relevant flavors/images. ya that basicaly the same as what i said above
You could also use custom traits.
the normal way to achive this in the past would have been to create host aggreate and then use the AggregateTypeAffinityFilter to map flavor to specific host aggrates. so you can have a 2xOvercommit and a 4xOvercommit and map them to different host aggrates that have different over commit ratios set on the compute nodes. On Tue, 2019-10-29 at 10:45 -0500, Eric Fried wrote: traits would work yes it woudl be effectivly the same but would have the advatage of having placment do most of the filtering so it should perform better.
But is it in some way possible to decide that a certain project has a quota of x VCPUs without overcommitment, and y VCPUs with overcommitments ?
I'm not sure whether this helps, but it's easy to detect the allocation ratio of a compute node's VCPU resource via placement with GET /resource_providers/$cn_uuid/inventories/VCPU [1].
But breaking down a VCPU quota into different "classes" of VCPU sounds... impossible to me.
this is something that is not intended to be supported with unified limits at least not initially? ever?
But since you said
In particular I would like to use some compute nodes without overcommitments
...perhaps it would help you to use PCPUs instead of VCPUs for these. We started reporting PCPUs in Train [2].
ya pcpus are a good choice for the nova over commit case for cpus. hugepages are the equivalent for memory. idealy you should avoid disk over commit but if you have to do it use cinder when you need over commit and local storage whne you do not.
efried
[1]
https://docs.openstack.org/api-ref/placement/?expanded=show-resource-provide...
[2] http://specs.openstack.org/openstack/nova-specs/specs/train/approved/cpu-res...