nova/nova/api/openstack
Balazs Gibizer 5af28c4de5 Support interface attach with QoS ports
The following logic is added to the ComputeManager attach_interface
flow:

* gather the resource request of the port from neutron
* query allocation candidates restricted to the current compute node
  from placement
* extend the existing allocation of the instance with one of the
  allocation candidates in placement
* update the InstancePCIRequest (if any) to ensure that the PCI claim
  only allocates VF from the PF the placement resources are allocated from
* ensure that during port binding neutron gets the RP UUID, the resources
  are allocated from, in the allocation key of the binding profile

This patch bumps the compute service version to indicate that QoS
interface attach is supported. Also the check that was so far rejected
such attach is now updated to only reject it if the compute service
version is too old.

The "scheduling" during interface attach for PCI backed ports has the
same limitation as normal scheduling for such ports. It always selects
the first allocation candidate returned by placement even if later in
the process it turns out that such allocation candidate points to a PCI
PF that has no free VFs left.

Blueprint: support-interface-attach-with-qos-ports

Change-Id: Id4684093e8bdf3b61667490443e3d2f6ed65f4b3
2021-02-11 16:43:17 +01:00
..
compute Support interface attach with QoS ports 2021-02-11 16:43:17 +01:00
__init__.py conf: Remove deprecated 'project_id_regex' opt 2019-09-27 18:59:02 +09:00
api_version_request.py api: Drop statistics-style fields from os-hypervisors 2021-01-08 10:10:21 +00:00
auth.py Noauth should also use request_id from compute_req_id.py 2018-04-04 14:21:01 -04:00
common.py Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
identity.py Adapter raise_exc=False by default 2018-06-22 09:40:33 -05:00
requestlog.py Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00
urlmap.py Remove six.PY2 and six.PY3 2020-08-15 07:45:23 +00:00
versioned_method.py Implement microversion support on api methods 2014-12-05 09:54:41 +08:00
wsgi.py Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
wsgi_app.py Support sys.argv in wsgi app 2020-11-25 12:22:41 +01:00