Jump to: navigation, search

Nova/SchedulingBasedOnInstanceResourceQuota

< Nova
Revision as of 10:02, 25 March 2014 by Sahid (talk | contribs)

Scheduling based on Instance Resource Quota

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

  • 'Ready with Havana

A first solution could be to reserve some specific hosts for a particular flavor and then configuring cpu allocation with the desired ratio.

How to use it

Context: For a flavor with a resource limited to 1/6 vcpu

  1. Configure the scheduler with filters 'AggregateCoreFilter' and 'AggregateInstanceExtraSpecFilter'
  2. Create a flavor and set the 'aggregate_instance_extra_specs:flavor_type' metadata to 'tiny_flavor' (or another value)
  3. Create an aggregate to isolate a resource limited flavor and set the 'cpu_allocation_ratio' metadata of this aggregate to 6.
  4. Set the 'flavor_type' metadata of this aggregate to 'tiny_flavor'

Problems

  • Dedicated hosts for flavor: host provisioning.
  • Impact of important number of VMs per host: workload density (to be studied with Neutron/Nova).
  • What about other drivers? currently only libvirt support this feature.

Add new metric `cpu_used`

  • To be discussed in the community