Skip to content

Commit 0ff6cf2

Browse files
nvazquezyadvr
authored andcommitted
DPDK live migrations (#45)
1 parent d82a728 commit 0ff6cf2

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

source/plugins/ovs-plugin.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,12 @@ Agent configuration
286286

287287
Agent should be restarted for actions to take effect.
288288

289+
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:
290+
291+
::
292+
293+
list hosts id=HOST_ID filter=capabilities
294+
289295
Additional VM configurations
290296
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
291297
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
410416
411417
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%229437184%22%20unit%3D%22KiB%22%20memAccess%3D%22shared%22%2F%3E%20%3C%2Fnuma%3E%20%3C%2Fcpu%3E
412418

419+
DPDK VMs live migrations
420+
~~~~~~~~~~~~~~~~~~~~~~~~
421+
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.
422+
423+
CloudStack determinates that a VM is a DPDK enabled VM when the following conditions are met:
424+
425+
- The VM is a user VM
426+
- The VM state is Running
427+
- 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`_.)
428+
- The VM acquires the DPDK required configurations via VM details or service offering details. DPDK required additional configurations are additional configurations with name:
429+
- 'extraconfig-dpdk-numa'
430+
- 'extraconfig-dpdk-hugepages'
431+
432+
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.
433+
413434
DPDK ports
414435
~~~~~~~~~~
415436
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:

0 commit comments

Comments
 (0)