nova/api-guide/source/port_with_resource_request.rst
Balazs Gibizer 191bdf2069 Support move ops with extended resource request
Nova re-generates the resource request of an instance for each server
move operation (migrate, resize, evacuate, live-migrate, unshelve) to
find (or validate) a target host for the instance move. This patch
extends the this logic to support the extended resource request from
neutron.

As the changes in the neutron interface code is called from nova-compute
service during the port binding the compute service version is bumped.
And a check is added to the compute-api to reject the move operations
with ports having extended resource request if there are old computes
in the cluster.

blueprint: qos-minimum-guaranteed-packet-rate
Change-Id: Ibcf703e254e720b9a6de17527325758676628d48
2021-08-27 17:59:18 +02:00

2.5 KiB

Using ports with resource request

Starting from microversion 2.72 nova supports creating servers with neutron ports having resource request visible as a admin-only port attribute resource_request. For example a neutron port has resource request if it has a QoS minimum bandwidth rule attached. Deleting such servers or detaching such ports works since Stein version of nova without requiring any specific microversion.

However the following API operations are still not supported in nova:

  • Creating servers with neutron networks having QoS minimum bandwidth rule is not supported. The user needs to pre-create the port in that neutron network and create the server with the pre-created port.
  • Attaching Neutron ports and networks having QoS minimum bandwidth rule is not supported.

Also the following API operations are not supported in the 19.0.0 (Stein) version of nova:

  • Moving (resizing, migrating, live-migrating, evacuating, unshelving after shelve offload) servers with ports having resource request is not yet supported.

As of 20.0.0 (Train), nova supports cold migrating and resizing servers with neutron ports having resource requests if both the source and destination compute services are upgraded to 20.0.0 (Train) and the [upgrade_levels]/compute configuration does not prevent the computes from using the latest RPC version. However cross cell resize and cross cell migrate operations are still not supported with such ports and Nova will fall back to same-cell resize if the server has such ports.

As of 21.0.0 (Ussuri), nova supports evacuating, live migrating and unshelving servers with neutron ports having resource requests.

As of 23.0.0 (Wallaby), nova supports attaching neutron ports having QoS minimum bandwidth rules.

Extended resource request

Since neutron 19.0.0 (Xena), neutron implements an extended resource request format via the the port-resource-request-groups neutron API extension. As of nova 24.0.0 (Xena), nova does not fully support the new extension. If the extension is enabled in neutron, then nova will reject interface attach operation. Admins should not enable this API extension in neutron.

Please note that Nova only supports the server create operation if every nova-compute service also upgraded to Xena version and the [upgrade_levels]/compute configuration does not prevent the computes from using the latest RPC version.

See the admin guide <admin/port_with_resource_request.html> for administrative details.