Move resource allocation ratios from scheduler to resource tracker

Registered by Jay Pipes

The memory and CPU allocation ratios are currently controlled on a global basis or per-aggregate, with the global configuration settings determined in the core_filter and ram_filter filter modules in the scheduler, and the per-aggregate allocation ratio overrides are stored in the aggregates table in the database, with the core_filter scheduler filter performing repeated lookups to the aggregates table to determine the allocation ratio to use when host aggregates are in use in the deployment.

Allocation ratios are NOT scheduler policy, and should not be either defined nor queried in the schedule at all. Allocation ratios are simply a way for a compute node to advertise that it has the ability to service more resources than it physically has available: an overcommit ratio. Therefore, not only does the total advertised amount of resources on a compute node NOT need to be recalculated on each run of the scheduler to find a compute node for an instance, but the resource tracker is the most appropriate place to set the available resource amounts.

Blueprint information

John Garbutt
Jay Pipes
Sylvain Bauza
Series goal:
Accepted for liberty
Milestone target:
milestone icon 12.0.0
Started by
Sylvain Bauza
Completed by
John Garbutt

Related branches



Gerrit topic:,topic:bp/allocation-ratio-to-resource-tracker,n,z

Addressed by:
    Move allocation ratios to resource tracker

Removing from Juno. There are ongoing discussions around the scheduler, the resource tracker, and where to put claim logic that will affect the implementation of this. In addition, there is the work around scheduler separation which will affect this, so I'm happy to push until Kilo.

John, feel free to re-prioritize this down to Low.

Addressed by:
    Proposes allocation ratios to the Resource Tracker

Gerrit topic:,topic:bp/is,n,z

Addressed by:
    Move CPU and RAM allocation ratios to ResourceTracker

Addressed by:
    Add cpu_allocation_ratio and ram_allocation_ratio to ComputeNode

Addressed by:
    Update ComputeNode values with allocation ratios in the RT

Addressed by:
    Update HostManager and filters to use RT ratios

Addressed by:
    Fix the default allocation ratios to 0.0

Gerrit topic:,topic:bp/now,n,z


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.