nova/nova/tests/unit
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
..
accelerator Cyborg evacuate support 2020-09-01 08:41:45 +00:00
api tests: Clean up 'test_hypervisors' 2021-01-08 10:10:21 +00:00
cmd Reuse code from oslo lib for JSON policy migration 2021-01-14 22:41:33 +00:00
compute Support interface attach with QoS ports 2021-02-11 16:43:17 +01:00
conductor Refactor update_pci_request_spec_with_allocated_interface_name 2021-01-18 15:40:42 +01:00
conf Support different vGPU types per pGPU 2020-04-09 17:54:26 +02:00
console Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
db Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
fake_loadables
image Merge "rbd: Only log import failures when the RbdDriver is used" 2020-11-09 23:51:46 +00:00
keymgr
network Make remove allocation symmetric with add allocation 2021-01-18 15:40:42 +01:00
notifications virt: Remove 'get_all_bw_counters' API 2020-11-24 15:29:21 +00:00
objects Merge "Add an online migration for PciDevice.uuid" 2021-01-17 14:30:57 +00:00
pci Merge "Ignore PCI devices with 32bit domain" 2020-12-23 13:26:43 +00:00
policies libvirt: make cross cell resize spawn from snapshot image 2020-12-11 13:02:09 +00:00
privsep Remove six.moves 2020-11-07 03:25:02 +00:00
scheduler Support interface attach with QoS ports 2021-02-11 16:43:17 +01:00
servicegroup Handle ServiceNotFound in DbDriver._report_state 2019-12-04 09:50:17 -05:00
ssl_cert
storage Add ability to download Glance images into the libvirt image cache via RBD 2020-08-31 15:14:11 +02:00
virt Merge "stabilize set_host libvirt driver unit test" 2020-12-22 12:49:35 +00:00
volume Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
__init__.py
cast_as_call.py
conf_fixture.py Support different vGPU types per pGPU 2020-04-09 17:54:26 +02:00
fake_block_device.py
fake_build_request.py
fake_console_auth_token.py
fake_crypto.py
fake_diagnostics.py
fake_flavor.py
fake_hosts.py
fake_instance.py objects: Update keypairs when saving an instance 2020-07-22 12:29:19 +00:00
fake_ldap.py Remove six.moves 2020-11-07 03:25:02 +00:00
fake_network.py nova-net: Kill it 2020-01-14 21:25:56 +00:00
fake_network_cache_model.py Use UUID as vif and network_id in vif tests 2020-09-07 10:31:52 +02:00
fake_notifier.py
fake_pci_device_pools.py
fake_policy.py virt: Remove 'reset_network' API 2020-11-23 15:55:50 +00:00
fake_processutils.py Remove six.binary_type/integer_types/string_types 2020-12-13 11:25:14 +00:00
fake_request_spec.py objects: Introduce 'pcpuset' field for InstanceNUMACell 2020-07-14 00:38:34 +08:00
fake_requests.py
fake_server_actions.py Store instance action event exc_val fault details 2020-03-21 06:08:34 +00:00
fake_volume.py
image_fixtures.py
matchers.py Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
policy_fixture.py [Trivial] Replace ref of policy.json to policy.yaml 2020-09-09 16:46:43 +00:00
test_api_validation.py Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
test_availability_zones.py Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
test_baserpc.py
test_block_device.py Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
test_cache.py
test_cinder.py
test_conf.py test cleanup: Make base TestCase subclass oslotest 2019-11-22 22:38:22 +00:00
test_configdrive2.py
test_context.py Revert "Log CellTimeout traceback in scatter_gather_cells" 2019-10-22 17:12:28 -04:00
test_crypto.py Remove six.moves 2020-11-07 03:25:02 +00:00
test_exception.py Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
test_fake_notifier.py
test_fixtures.py Prevent starting services with older than N-1 computes 2020-11-04 14:05:52 +01:00
test_flavors.py
test_hacking.py Merge "Add a hacking rule for assert_has_calls" 2020-10-14 14:31:15 +00:00
test_identity.py
test_instance_types_extra_specs.py
test_json_ref.py Remove six.moves 2020-11-07 03:25:02 +00:00
test_loadables.py
test_matchers.py
test_metadata.py Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
test_notifications.py virt: Remove 'get_all_bw_counters' API 2020-11-24 15:29:21 +00:00
test_notifier.py
test_policy.py Reuse code from oslo lib for JSON policy migration 2021-01-14 22:41:33 +00:00
test_profiler.py Remove six.moves 2020-11-07 03:25:02 +00:00
test_quota.py Remove six.moves 2020-11-07 03:25:02 +00:00
test_rpc.py Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
test_safeutils.py
test_service.py Restore retrying the RPC connection to conductor 2020-11-13 18:02:00 +01:00
test_service_auth.py
test_test.py Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
test_test_utils.py Remove six.moves 2020-11-07 03:25:02 +00:00
test_utils.py Remove six.text_type (2/2) 2020-12-13 11:26:35 +00:00
test_versions.py
test_weights.py
test_wsgi.py Remove six.PY2 and six.PY3 2020-08-15 07:45:23 +00:00
utils.py Remove six.moves 2020-11-07 03:25:02 +00:00