
The nova-manage placement heal_allocations CLI is capable of healing missing placement allocations due to port resource requests. To support the new extended port resource request this code needs to be adapted too. When the heal_allocation command got the port resource request support in train, the only way to figure out the missing allocations was to dig into the placement RP tree directly. Since then nova gained support for interface attach with such ports and to support that placement gained support for in_tree filtering in allocation candidate queries. So now the healing logic can be generalized to following: For a given instance 1) Find the ports that has resource request but no allocation key in the binding profile. These are the ports we need to heal 2) Gather the RequestGroups from the these ports and run an allocation_candidates query restricted to the current compute of the instance with in_tree filtering. 3) Extend the existing instance allocation with a returned allocation candidate and update the instance allocation in placement. 4) Update the binding profile of these ports in neutron The main change compared to the existing implementation is in step 2) the rest mostly the same. Note that support for old resource request format is kept alongside of the new resource request format until Neutron makes the new format mandatory. blueprint: qos-minimum-guaranteed-packet-rate Change-Id: I58869d2a5a4ed988fc786a6f1824be441dd48484
OpenStack Nova Documentation README
Both contributor developer documentation and REST API documentation are sourced here.
Contributor developer docs are built to: https://docs.openstack.org/nova/latest/
API guide docs are built to: https://docs.openstack.org/api-guide/compute/
For more details, see the "Building the Documentation" section of doc/source/contributor/development-environment.rst.