Support any traits in allocation_candidates query

Registered by Balazs Gibizer

The GET /allocation_candidates request in Placement supports the 'required' query parameter. If the caller specifies a list of traits in the 'required' parameter then placement will limit the returned allocation candidates to those RP trees that fulfill *every* traits in that list.

To support minimum bandwidth guarantees in Neutron + Nova we need to be able to query allocation candidates that fulfill *at least one* trait from a list of traits specified in the query. This is required for the case when a Neutron network maps to more than one physnet but the port's bandwidth request can be fulfilled from any phynet the port's network maps to.

Blueprint information

Status:
Complete
Approver:
Matt Riedemann
Priority:
Low
Drafter:
Balazs Gibizer
Direction:
Approved
Assignee:
Balazs Gibizer
Definition:
Superseded
Series goal:
None
Implementation:
Not started
Milestone target:
None
Completed by
Balazs Gibizer

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/any-traits-in-allocation-candidates-query,n,z

Addressed by: https://review.openstack.org/565730
    Placement: any traits in allocation_candidate query

Addressed by: https://review.openstack.org/565741
    Placement: Support mixing required traits with any traits

Approved for Stein. This is blocked until the placement extraction is complete. -- mriedem 20180921

The extracted placement API is no longer frozen for Stein but this is not started and likely will be deferred for Stein since feature freeze is in less than two weeks. -- mriedem 20190224

We are two days from Stein feature freeze and this is not ready so I'm going to drop it from planning for Stein. If you plan to pursue this in Train please re-propose the spec for re-approval in Train. -- mriedem 20190305

This is now tracked on the placement project: https://storyboard.openstack.org/#!/story/2005346

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.