Resource providers: Move scheduler filters to DB

Registered by Jay Pipes

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

Matt Riedemann
Jay Pipes
Sylvain Bauza
Series goal:
Accepted for ocata
Milestone target:
milestone icon ocata-3
Started by
Sylvain Bauza
Completed by
Matt Riedemann

Related branches



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:,topic:bp/series,n,z

Addressed by:
    resource-providers: Scheduler filters in DB

Gerrit topic:,topic:bp/cells-scheduling-interaction,n,z

Addressed by:
    Add nova-status upgrade check command framework

Gerrit topic:,topic:bp/resource-providers-scheduler-db-filters,n,z

Addressed by:
    WIP: nova-status: add basic placement status checking

Addressed by:
    nova-status: check for cells v2 upgrade readiness

Addressed by:
    WIP: nova-status: check for resource providers

Gerrit topic:,topic:bp/resource-providers-get-by-request-4,n,z

Addressed by:
    WIP: Scheduler calling the Placement API

Addressed by:
    Add ComputeNode.get_by_uuid method

Addressed by:
    WIP: Add a PlacementFixture for functests

Addressed by:
    Provide a microversion header for the report client

Addressed by:
    Amend the PlacementFixture

Addressed by:
    Fix the FakeDriver using same hypervisor names

Addressed by:
    Fix server group functional test by using all filters

Addressed by:
    Block starting compute unless placement conf is provided

Addressed by:
    doc: add upgrade notes to the placement devref

Addressed by:


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.