Persistent memory virtualization API

You can enable Persistent Memory Virtualization feature for a virtual machine. When the virtual machine is deployed with a persistent memory volume, during VM restart the persistent memory volume is retained reducing the boot time.

Persistent memory virtualization API options

Table 1. Options for clone virtual machine API
Method URI Description

POST

v2.1/<tenantid>/servers/<serverid>/action

To add or delete the persistent memory volume on the virtual machine.

Add persistent memory volume API

This operation creates a persistent memory volume of the virtual machine. This API takes persistent memory volume as shown in the request parameter. This API does not return response body.

Response codes
  • Normal response code: OK (200-202)
  • Error response code: Bad Request (400®), Forbidden (403), Not Found(404), Server Error (500)
Request parameters
Table 2. Parameters in the request for adding persistent memory volume API
Name Style Type Description

name

body

string

New persistent memory volume name. Persistent memory volume name must be unique.

size

body

integer

Size in MB

affinity

body

Boolean

Affinity can be enable or disable.

device

body

string

Name of the device

{
   "add-pmem-vol":[
      {
         "name":”pmem volume1”,
         "size":1024,
         "affinity":"True",
         "device":"”DRAM”"
      },
      {
         "name":”pmem volume2”,
         "size":1024,
         "affinity":"True",
         "device":"”DRAM”"
      }
   ]

Delete persistent volumes

This operation deletes a persistent memory volume of the virtual machine. This API takes persistent memory volume as shown in the request parameter. This API does not return any response body.

Response codes
  • Normal response code: OK (200-202)
  • Error response code: Bad Request (400), Forbidden (403), Not Found(404), Server Error (500)
Request body
Table 3. Parameters in the request for deleting persistent volume API
Name Style Type Description

volume_uuid

body

string

Persistent memory volume ID.

{ “del-pmem-vol”:[{"volume_uuid":"uuid"}]}

The persistent memory virtualization APIs take extra request body attributes to store persistent memory volumes. For details, see Flavors extra-specs