From 2226ec4e3b9ecbd070f1545e40063ede1f1aa44a Mon Sep 17 00:00:00 2001 From: Yongli He Date: Thu, 12 Aug 2021 11:06:03 +0800 Subject: [PATCH] Accelerator smartnic SRIOV support Since Xena release, nova supports creating servers with SRIOV provisioned with the Cyborg service. Change-Id: I59afef70b2b38c61b3c58ac90a1a405532b92832 --- api-guide/source/accelerator-support.rst | 54 ++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/api-guide/source/accelerator-support.rst b/api-guide/source/accelerator-support.rst index 8ad60a0f5669..c71e899fd487 100644 --- a/api-guide/source/accelerator-support.rst +++ b/api-guide/source/accelerator-support.rst @@ -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.