Resource providers: Move scheduler filters to DB

Registered by Jay Pipes on 2016-03-07

We propose to move the Python filtering for quantitative resource decisions to be SQL constructs to reduce the number of compute node records processed for each call to select_destinations().

Blueprint information

Status:
Complete
Approver:
Matt Riedemann
Priority:
High
Drafter:
Jay Pipes
Direction:
Approved
Assignee:
Sylvain Bauza
Definition:
Approved
Series goal:
Accepted for ocata
Implementation:
Implemented
Milestone target:
milestone icon ocata-3
Started by
Sylvain Bauza on 2017-01-11
Completed by
Matt Riedemann on 2017-01-31

Related branches

Sprints

Whiteboard

Per discussion at the Newton summit, this can't land in Newton since the allocations dependency that moves the data into the DB that this will use will be new to deployments moving to Newton and will perform the online data migrations in Newton. So the scheduler DB filters can't be a default in Newton since that data might not have been migrated yet. This could be enabled by default in Ocata when we land a schema migration that breaks if you haven't migrated the compute node data yet. -- mriedem 20160427

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

Addressed by: https://review.openstack.org/300178
    resource-providers: Scheduler filters in DB

Gerrit topic: https://review.openstack.org/#q,topic:bp/cells-scheduling-interaction,n,z

Addressed by: https://review.openstack.org/411517
    Add nova-status upgrade check command framework

Gerrit topic: https://review.openstack.org/#q,topic:bp/resource-providers-scheduler-db-filters,n,z

Addressed by: https://review.openstack.org/411883
    WIP: nova-status: add basic placement status checking

Addressed by: https://review.openstack.org/411525
    nova-status: check for cells v2 upgrade readiness

Addressed by: https://review.openstack.org/413250
    WIP: nova-status: check for resource providers

Gerrit topic: https://review.openstack.org/#q,topic:bp/resource-providers-get-by-request-4,n,z

Addressed by: https://review.openstack.org/417961
    WIP: Scheduler calling the Placement API

Addressed by: https://review.openstack.org/418134
    Add ComputeNode.get_by_uuid method

Addressed by: https://review.openstack.org/423353
    WIP: Add a PlacementFixture for functests

Addressed by: https://review.openstack.org/423587
    Provide a microversion header for the report client

Addressed by: https://review.openstack.org/423589
    Amend the PlacementFixture

Addressed by: https://review.openstack.org/424110
    Fix the FakeDriver using same hypervisor names

Addressed by: https://review.openstack.org/425185
    Fix server group functional test by using all filters

Addressed by: https://review.openstack.org/425806
    Block starting compute unless placement conf is provided

Addressed by: https://review.openstack.org/427367
    doc: add upgrade notes to the placement devref

Addressed by: https://review.openstack.org/427930
    testing

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.