Nova/SchedulingBasedOnInstanceResourceQuota
< Nova
Contents
Problem
Operator wants Nova scheduler take Instances with resource quota enable into account.
Overview
Nova provides the ability to set CPU time consumption percent for instances https://wiki.openstack.org/wiki/InstanceResourceQuota. For instance, setting Quota/Period with a ratio of 1/6 will result in instances using 1/6 of vcpu. We need to find a way for the scheduler to take this into account during scheduling.
Proposals
Isolated aggregate
A first solution could be to reserve some specific hosts for a paaggregate_instance_extra_specsrticular flavor and then configuring over-subscription with the desired ratio.
How to use it
- Work with Havana
- For a flavor with a resource limited to 1/6 vcpu*
- Configure the scheduler with filters 'AggregateCoreFilter' and 'AggregateInstanceExtraSpecFilter'
- Create a flavor and set the 'aggregate_instance_extra_specs:flavor_type' metadata to 'tiny_flavor' (or another value)
- Create an aggregate to isolate a resource limited flavor and set the 'cpu_allocation_ratio' metadata of this aggregate to 6.
- Set the 'flavor_type' metadata of this aggregate to 'tiny_flavor'
Problems
- Dedicated hosts for this tiny flavor: host provisioning.
- Impact of important number of VMs per host: workload density (to be studied with Neutron/Nova).
- What about other driver? currently only libvirt support this feature.
Add new metric `cpu_used`
- To be discussed in the community