summaryrefslogtreecommitdiff
path: root/api-guide
diff options
context:
space:
mode:
authorYongli He <yongli.he@intel.com>2021-08-12 11:06:03 +0800
committerYongli He <yongli.he@intel.com>2021-08-17 10:25:20 +0800
commit2226ec4e3b9ecbd070f1545e40063ede1f1aa44a (patch)
tree6412017b0ec90a51597b65dc2cebe2e9bb84c974 /api-guide
parent3545356ae3a719442833cb8c3c911408d4bd3c15 (diff)
downloadnova-2226ec4e3b9ecbd070f1545e40063ede1f1aa44a.tar.gz
Accelerator smartnic SRIOV support
Since Xena release, nova supports creating servers with SRIOV provisioned with the Cyborg service. Change-Id: I59afef70b2b38c61b3c58ac90a1a405532b92832
Diffstat (limited to 'api-guide')
-rw-r--r--api-guide/source/accelerator-support.rst54
1 files changed, 54 insertions, 0 deletions
diff --git a/api-guide/source/accelerator-support.rst b/api-guide/source/accelerator-support.rst
index 8ad60a0f56..c71e899fd4 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.