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

Status:
Complete
Approver:
John Garbutt
Priority:
Medium
Drafter:
Jay Pipes
Direction:
Approved
Assignee:
Sylvain Bauza
Definition:
Approved
Series goal:
Accepted for liberty
Implementation:
Implemented
Milestone target:
milestone icon 12.0.0
Started by
Sylvain Bauza
Completed by
John Garbutt

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/allocation-ratio-to-resource-tracker,n,z

Addressed by: https://review.openstack.org/98664
    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: https://review.openstack.org/173252
    Proposes allocation ratios to the Resource Tracker

Gerrit topic: https://review.openstack.org/#q,topic:bp/is,n,z

Addressed by: https://review.openstack.org/215278
    Move CPU and RAM allocation ratios to ResourceTracker

Addressed by: https://review.openstack.org/215471
    Add cpu_allocation_ratio and ram_allocation_ratio to ComputeNode

Addressed by: https://review.openstack.org/216362
    Update ComputeNode values with allocation ratios in the RT

Addressed by: https://review.openstack.org/216696
    Update HostManager and filters to use RT ratios

Addressed by: https://review.openstack.org/217737
    Fix the default allocation ratios to 0.0

Gerrit topic: https://review.openstack.org/#q,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.