[openstack-dev] [nova][scheduling] Can VM placement consider the VM network traffic need?

Rua, Philippe (Nokia - FI/Espoo) philippe.rua at nokia.com
Fri Sep 1 08:42:31 UTC 2017

Will it be possible to include network bandwidth as a resource in Nova scheduling, for VM placement decision?

Context: in telecommunication applications, the network traffic is an important dimension of resource usage. For example, it is often important to distribute "bandwidth-greedy" VMs to different compute nodes. There were some earlier discussions on this topic, but I could not find a concrete outcome. [1][2][3]

After some reading, I wonder whether the Custom resource classes can provide a generic mechanism? [4][5][6]
Here is what I have in mind:
- The VM need is specified in the flavor extra-specs, e.g. resources:CUSTOM_BANDWIDTH=123.
- The compute node total capacity is specified in host aggregate metadata, e.g. CUSTOM_BANDWIDTH=999.
- Nova then takes care of the rest: scheduling where the free capacity is sufficient, and performing simple resource usage accounting (updating the compute node free network bandwidth capacity as required).

Is the outline above according to current plans?
If not, what would be possible/needed in order to achieve the same result, i.e. consider the VM network traffic need during VM placement?


[1] https://blueprints.launchpad.net/nova/+spec/bandwidth-as-scheduler-metric
[2] https://wiki.openstack.org/wiki/NetworkBandwidthEntitlement
[3] https://openstack.nimeyo.com/80515/openstack-scheduling-bandwidth-resources-nic_bw_kb-resource
[4] https://docs.openstack.org/nova/latest/user/placement.html
[5] http://specs.openstack.org/openstack/nova-specs/priorities/pike-priorities.html#placement
[6] https://review.openstack.org/#/c/473627/

More information about the OpenStack-dev mailing list