Image Portability Service Automation for Citrix Provisioning (PVS)

Image Portability Service can be used to automate some common Citrix Provisioning (PVS) operations that cannot be performed while streaming.

Reverse Image

Reverse Imaging takes a VHD from a Citrix Provisioning (PVS) store, and recreates the original platform image. This allows you to perform any upgrade tasks that you need to perform with PVS streaming disabled. You can then use the Image Portability Service Publish operation to return the image to the PVS environment.

Reverse Imaging is performed by sending a POST request to the Image Portability Service images/$reverseImage endpoint. For more information, see the Reverse Imaging section.

PVS Images APIs

Reverse Imaging

(Reverse Imaging is currently only supported on vSphere)

A POST request to the images/$reverseImage endpoint is used to start an asynchronous job which returns a shared VHD to native hypervisor format. This endpoint requires authentication and a JSON request body specifying parameters such as the image to be published and to where it is to be published.

On success, the response will include a Location header containing a path which can be used to monitor the status of the job or cancel it using the Job Management endpoints.

The reverseImage job creates a Compositing Engine VM (CE), attaches an SMB shared VHDx to this CE, and instructs the CE to recreate a native hypervisor image on the specified target platform. The request body specifies details about the configuration of the CE including the network it is to be attached to. The reverseImage job also needs to know the size of the output disk, as the target disk must be created before the Compositing Engine can mount the source VHDx image. Care must be taken to ensure that the output disk size is greater than or equal to the virtual size of the source image. Note that the virtual size of the source image may be significantly larger than the size of the VHDx file.

Note that the network the CE is attached to must provide connectivity between the CE and the source SMB fileshare, and between the CE and all Connector Appliances in the Resource Location.

The reverseImage job requires credentials to the destination hypervisor management endpoints for creating the CE VM and for reading from the SMB fileshare. These credentials must be provided in the request body in the form of Credential Wallet references. For background on the Credential Wallet, see the Image Portability documentation and for the credential management APIs, see the Credential APIs section.

For example to start from an SMB shared PVS store to a vSphere VMDK you would make the following request:

POST https://api.layering.cloud.com/images/$reverseImage
<!--NeedCopy-->

with a request body like this

{
  "platform": "vSphere",
  "platformCredentialId": "ips-vsphere-login",
  "resourceLocationId": "25b561b8-06b0-45bf-83b4-86ac84598443",
  "subscriptionId": "ecaecd6d-3c8a-4aef-82c5-37bcd2128272",
  "vCenterHost": "vcenter-8.megacorp.cust",
  "datacenter": "datacenter1",
  "datastore": "Datastore1",
  "network": "pvs-management",
  "cluster": "citrix",
  "outputDiskName": "[Datastore1] images/reversed-win10.vmdk",
  "outputSizeMb": "16384",
  "inputImageFormat": "VhdxDiskFormat",
  "inputImageFilename": "win10.vhdx",
  "inputStorageLocation": {
    "type": "SMB",
    "credentialId": "pvs-smb",
    "host": "pvs-store.file.core.windows.net",
    "sharePath": "disks"
  }
}
<!--NeedCopy-->

For descriptions of all the fields in the reverseImage request body and for further examples, see Image Management.

Resources
Image portability service OpenAPI Specification
Copy Download
Image Portability Service Automation for Citrix Provisioning (PVS)

In this article