Add nested resource providers limit for multi create
In 21.0.0 Ussuri we were completed the nova-cyborg interaction feature, but there are some issue when multiple create instances. Creating servers with accelerators provisioned with the Cyborg service, if a flavor asks for resources that are provided by nested Resource Provider inventories (eg. VGPU) and the user wants multi-create (ie. say --max 2) then the scheduler could be returning a NoValidHosts exception even if each nested Resource Provider can support at least one specific instance, if the total wanted capacity is not supported by only one nested RP. For example,creating servers with accelerators provisioned with the Cyborg service, if two children RP have 4 VGPU inventories each: - you can ask for a flavor with 2 VGPU with --max 2 - but you can't ask for a flavor with 4 VGPU and --max 2 Related-Bug: #1874664 Change-Id: I64647a6ba79c47c891134cedb49f03d3c61e8824
This commit is contained in:
parent
e10bd2e804
commit
c19de075e1
@ -10,8 +10,9 @@ To launch servers with accelerators, the administrator (or an user with
|
|||||||
appropriate privileges) must do the following:
|
appropriate privileges) must do the following:
|
||||||
|
|
||||||
* Create a device profile in Cyborg, which specifies what accelerator
|
* Create a device profile in Cyborg, which specifies what accelerator
|
||||||
resources need to be provisioned. (See `Cyborg device profiles API
|
resources need to be provisioned. (See `Cyborg device profiles API`_.)
|
||||||
<https://docs.openstack.org/api-ref/accelerator/v2/index.html#device-profiles>`_.
|
|
||||||
|
.. _`Cyborg device profiles API`: https://docs.openstack.org/api-ref/accelerator/v2/index.html#device-profiles
|
||||||
|
|
||||||
* Set the device profile name as an extra spec in a chosen flavor,
|
* Set the device profile name as an extra spec in a chosen flavor,
|
||||||
with this syntax:
|
with this syntax:
|
||||||
@ -54,3 +55,28 @@ below:
|
|||||||
|
|
||||||
Some operations, such as lock and unlock, work as they are effectively
|
Some operations, such as lock and unlock, work as they are effectively
|
||||||
no-ops for accelerators.
|
no-ops for accelerators.
|
||||||
|
|
||||||
|
Caveats
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This information is correct as of the 21.0.0 Ussuri release. Where
|
||||||
|
improvements have been made or issues fixed, they are noted per item.
|
||||||
|
|
||||||
|
For nested resource providers:
|
||||||
|
|
||||||
|
* Creating servers with accelerators provisioned with the Cyborg service, if
|
||||||
|
a flavor asks for resources that are provided by nested Resource Provider
|
||||||
|
inventories (e.g. vGPU) and the user wants multi-create (i.e. say --max 2)
|
||||||
|
then the scheduler could be returning a NoValidHosts exception even if each
|
||||||
|
nested Resource Provider can support at least one specific instance, if the
|
||||||
|
total wanted capacity is not supported by only one nested Resource Provider.
|
||||||
|
(See `bug 1874664 <https://bugs.launchpad.net/nova/+bug/1874664>`_.)
|
||||||
|
|
||||||
|
For example, creating servers with accelerators provisioned with the Cyborg
|
||||||
|
service, if two children RPs have 4 vGPU inventories each:
|
||||||
|
|
||||||
|
- You can ask for a device profile in the flavor with 2 vGPU with --max 2.
|
||||||
|
- But you can't ask for a device profile in the flavor with 4 vGPU and
|
||||||
|
--max 2.
|
||||||
|
@ -385,6 +385,26 @@ For libvirt:
|
|||||||
|
|
||||||
This has been resolved in the Rocky release. See `bug 1762688`_.
|
This has been resolved in the Rocky release. See `bug 1762688`_.
|
||||||
|
|
||||||
|
For nested vGPUs:
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This information is correct as of the 21.0.0 Ussuri release. Where
|
||||||
|
improvements have been made or issues fixed, they are noted per item.
|
||||||
|
|
||||||
|
* If creating servers with a flavor asking for vGPUs and the user wants
|
||||||
|
multi-create (i.e. say --max 2) then the scheduler could be returning
|
||||||
|
a NoValidHosts exception even if each physical GPU can support at least
|
||||||
|
one specific instance, if the total wanted capacity is not supported by
|
||||||
|
only one physical GPU.
|
||||||
|
(See `bug 1874664 <https://bugs.launchpad.net/nova/+bug/1874664>`_.)
|
||||||
|
|
||||||
|
For example, creating servers with a flavor asking for vGPUs, if two
|
||||||
|
children RPs have 4 vGPU inventories each:
|
||||||
|
|
||||||
|
- You can ask for a flavor with 2 vGPU with --max 2.
|
||||||
|
- But you can't ask for a flavor with 4 vGPU and --max 2.
|
||||||
|
|
||||||
For XenServer:
|
For XenServer:
|
||||||
|
|
||||||
* Suspend and live migration with vGPUs attached depends on support from the
|
* Suspend and live migration with vGPUs attached depends on support from the
|
||||||
|
Loading…
Reference in New Issue
Block a user