Enhance support for ports having resource request

Registered by Balazs Gibizer on 2019-03-20

The Nova REST API microversion 2.72, added in Stein, supports creating server with ports having resource request. However multiple enhancement can be made top of this feature. This blueprint aims the improve the feature with the following changes:

* Use placement to figure out which RP fulfills a port resource request (currently it is done by Nova). This requires the Placement bp https://blueprints.launchpad.net/nova/+spec/placement-resource-provider-request-group-mapping-in-allocation-candidates to be implemented first.
** This is mostly done, only during resize revert we still use the nova based logic as the original allocation candidates from placement is not available any more there.

* Support ports in multisegment networks where more than one segment mapped to a physnet. This requires the Placement bp https://blueprints.launchpad.net/nova/+spec/any-traits-in-allocation-candidates-query to be implemented first.

* Support attaching a network to a server where the network has a (default) QoS minimum bandwidth rule.

* Support creating a server with a network that has a (default) QoS minimum bandwidth rule. This requires to move the port create from the nova-compute to the nova-conductor first.

Note: that this is a list of possible improvement identified but they are not right now pushed forward.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Balazs Gibizer
Direction:
Needs approval
Assignee:
Balazs Gibizer
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

efried 20190423 - set series goal to Train so this shows up on the radar for discussion, understanding that the scope may exceed Train.

Deferring this out of Train since it wasn't approved and we're about 2 weeks from feature freeze. -- mriedem 20190829

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.