This is an automated email from the ASF dual-hosted git repository.
rohit pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack-documentation.git
The following commit(s) were added to refs/heads/master by this push:
new 0ff6cf2 DPDK live migrations (#45)
0ff6cf2 is described below
commit 0ff6cf2db0ed2bbed0198d082a812604f72802ce
Author: Nicolas Vazquez <[email protected]>
AuthorDate: Mon Jul 8 06:54:45 2019 -0300
DPDK live migrations (#45)
---
source/plugins/ovs-plugin.rst | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/source/plugins/ovs-plugin.rst b/source/plugins/ovs-plugin.rst
index 07321f3..a570dfb 100644
--- a/source/plugins/ovs-plugin.rst
+++ b/source/plugins/ovs-plugin.rst
@@ -286,6 +286,12 @@ Agent configuration
Agent should be restarted for actions to take effect.
+When the host agent connects to the management server, it sends the list of
hosts capabilities. When DPDK support is enabled on the host, the capability
with name 'dpdk' is sent to the management server. The list of host
capabilities are persisted on the 'capabilities' column on 'hosts' table, and
can be retrieved by the 'listHosts' API method:
+
+::
+
+ list hosts id=HOST_ID filter=capabilities
+
Additional VM configurations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In order to enable DPDK on VM deployments, users should pass addition
configuration to VMs. The required configurations are listed on the next
section. Administrators can allow users to pass additional configurations to
their VMs by the account scoped setting:
@@ -410,6 +416,21 @@ By default, the server mode is assumed if it is not passed
as a service offering
create serviceoffering name=<NAME> displaytext=<NAME>
serviceofferingdetails[0].key=DPDK-VHOSTUSER
serviceofferingdetails[0].value=client
serviceofferingdetails[1].key=extraconfig-dpdk-hugepages
serviceofferingdetails[1].value=%3CmemoryBacking%3E%20%3Chugepages%2F%3E%20%3C%2FmemoryBacking%3E
serviceofferingdetails[2].key=extraconfig-dpdk-numa
serviceofferingdetails[2].value=%3Ccpu%20mode%3D%22host-passthrough%22%3E%20%3Cnuma%3E%20%3Ccell%20id%3D%220%22%20cpus%3D%220%22%20memory%3D%229
[...]
+DPDK VMs live migrations
+~~~~~~~~~~~~~~~~~~~~~~~~
+It is possible to perform live migrations of DPDK enabled VMs since CloudStack
version 4.13. DPDK enabled VMs can be migrated between hosts in the same
cluster which are both DPDK enabled.
+
+CloudStack determinates that a VM is a DPDK enabled VM when the following
conditions are met:
+
+- The VM is a user VM
+- The VM state is Running
+- The host in which the VM is running is a DPDK enabled host (i.e. host
contains the 'dpdk' capability as part of its capabilities. Check `Agent
configuration for DPDK support`_.)
+- The VM acquires the DPDK required configurations via VM details or service
offering details. DPDK required additional configurations are additional
configurations with name:
+ - 'extraconfig-dpdk-numa'
+ - 'extraconfig-dpdk-hugepages'
+
+DPDK enabled VMs can only be migrated between DPDK enabled hosts. Therefore
the 'findHostsForMigration' API method excludes non-DPDK enabled hosts from the
list of suitable hosts to migrate DPDK enabled VMs.
+
DPDK ports
~~~~~~~~~~
When VM is created or started, CloudStack creates ports with DPDK support with
format: "csdpdk-N" where N is a number, incremented on new ports creation. This
port is set into the 'source' property of the 'interface' tag on the XML domain
of the VM, prepended by the value of the OVS path set on the property: