Accelerator smartnic SRIOV support

Since Xena release, nova supports creating servers with
SRIOV provisioned with the Cyborg service.

Change-Id: I59afef70b2b38c61b3c58ac90a1a405532b92832
This commit is contained in:
Yongli He 2021-08-12 11:06:03 +08:00
parent 3545356ae3
commit 2226ec4e3b
1 changed files with 54 additions and 0 deletions

View File

@ -87,3 +87,57 @@ For nested resource providers:
* 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.
=======================
Using SRIOV with Cyborg
=======================
Starting from Xena release, nova supports creating servers with
SRIOV provisioned with the Cyborg service.
To launch servers with accelerators, the administrator (or an user with
appropriate privileges) must do the following:
* Create a device profile in Cyborg, which specifies what accelerator
resources need to be provisioned. (See `Cyborg device profiles API`_,
`Cyborg SRIOV Test Report`_.)
.. _`Cyborg device profiles API`: https://docs.openstack.org/api-ref/accelerator/v2/index.html#device-profiles
.. _`Cyborg SRIOV Test Report`: https://wiki.openstack.org/wiki/Cyborg/TestReport/IntelNic
* create a 'accelerator-direct' vnic type port with the device-profile name
set as cyborg device profile with this syntax:
.. code::
openstack port create $port_name --network $network_name --vnic-type=accelerator-direct --device-profile $device_profile_name
* create a server with that port:
.. code::
openstack server create --flavor $myflavor --image $myimage $servername --nic port-id=$port-ID
Nova supports only specific operations for instances with accelerators.
The lists of supported and unsupported operations are as below:
* Supported operations.
* Creation and deletion.
* Reboots (soft and hard).
* Pause and unpause.
* Stop and start.
* Rebuild.
* Rescue and unrescue.
* Take a snapshot.
* Backup.
* Unsupported operations
* Resize.
* Suspend and resume.
* Cold migration.
* Live migration.
* Shelve and unshelve.
* Evacuate.
* Attach/detach a port with device profile.