Citrix MCS in Nutanix AHV
May 30, 2018
A Machine Catalog Services for Nutanix AHV (Acropolis) Connector Configuration contains the credentials and storage location that the App Layering appliance needs to publish Layered Images to Machine Catalog Services in your Nutanix AHV environment. This connector does not support Layer creation.
Before you start
You can use MCS for Nutanix AHV to publish Layered Images. Each Connector Configuration accesses a specific storage location in your Nutanix AHV environment to which you can publish Layered Images.
You may need more than one Nutanix AHV Connector Configuration to access the correct location for each purpose. Further, you may want to publish each Layered Image to a location convenient to the systems you will be provisioning with the published image. For more about Connectors, and Connector Configurations, see About Connectors.
If this is your first time using App Layering
When publishing Layered Images to Nutanix AHV, you will need at least one Connector Configuration for each storage location you plan to publish to. You can add Connector Configurations when creating an Image Template from which you will publish Layered Images. If you don’t yet have the right Connector Configuration for the task, you can create one by clicking New on the Connector wizard tab (see details below).
Required information for Nutanix AHV Connector Configuration settings
The Nutanix AHV Connector Configuration wizard let’s you browse for the Nutanix AHV Server, Data Store, and Host to use for a new configuration.
The fields are case sensitive, so any values that you enter manually must match the case of the object in Nutanix AHV, or the validation will fail.
Connector Name - A useful name to help identify and keep track of this connector configuration.
Prism Address - The host name (resolvable via DNS) or IP address of the Prism Web Console. This is the same address you use to access the Nutanix Prism Web Console..
User Name/Password - Credentials that will be used when interacting with the Nutanix system. The specified user must have sufficient privileges for the following operations:
- VM operations:
- power on/off
- attach virtual disks
- Image operations:
- update (aka upload)
- Virtual disks:
- attach to VMs
- VM operations:
Allow Certificate Errors - Lets you use SSL encryption for the API connection traffic between the App Layering Connector and Nutanix AHV. This field is unchecked by default.
Virtual Machine Template (recommended) - Virtual Machine Template that can be used to clone a VM with the hardware settings for MCS, including memory, CPUs and video settings. You can specify the host, datastore and network for configuring the resulting VMs. Since there is no concept of a “template” in Nutanix, these “templates” are actual VMs. The OS version used by the selected “template” must match the OS version that you are using for publishing Layered Images. The template must not have any disks attached, and must have at least one network card attached. If it does not, you will see an error when trying to validate or save the configuration.
Storage Container - Lets you select the storage container for the images (vhds) that will get uploaded and the resulting virtual disks that will get created from those images. When creating App Layers and OS Layer versions, we are required to mount the storage container as an NFS mount point. This means that the selected storage container MUST have the appliance included in a white list of clients that are allowed to mount the storage container via NFS. The white list configuration must be done through the Nutanix product (either their web console or through their CLI tools). If the appliance is not properly white listed for the selected storage container, then the validation phase will fail, and the error will be indicated with the storage container selection.
How Virtual Machines are Organized
Nutanix does not provide a mechanism for organizing virtual machines. Because of this, it may be difficult to find the virtual machines created by your App Layering appliance when the total number of virtual machines is large. To help you find these VMs, the following naming conventions are used:
Packaging Machines (virtual machines created during the process of creating an App Layer or OS Version)
- The virtual machine name will start with the layer name that is being created/modified
- The virtual machine names will end with the following text: (Packaging Machine)
Layered Image Virtual Machines (virtual machines created as a result of publishing a Layered Image)
- The virtual machine name will start with the image name that was published
- The virtual machine name will end with the following text: (Published Image)
When viewing virtual machines through the Nutanix web console, you can search for virtual machines by filtering on:
- “Unidesk” to find all virtual machines created by the App Layering software.
- “Unidesk Packaging Machine” to find all virtual machines created for Layer management jobs.
- “Unidesk Layered Image” to find all virtual machines created to publish a Layered Image.
- Image name or Layer name to find virtual machines related to a specific Layered Image publishing job or App or OS creation.
Virtual Machine Network Connectivity
The virtual network settings of the source template specified in the Nutanix AHV Connector Configuration will be carried over when creating any VMs through the Nutanix Acropolis Hypervisor (AHV) Connector. There is no option in the Connector Configuration UI to override the network settings.
Create a Connector Configuration
To enter values:
- The first three Connector fields must be entered manually. Once the credentials in those fields are validated, you can select values for the remaining fields from drop-down menus.
- To enter values manually, click to put the cursor in the field and type the value, making sure that the case matches the value in Nutanix AHV.
- To select a value from a drop-down list, click once to put the cursor in the field, and a second time to display the list of possible values.
To add a new Connector Configuration:
- On the wizard for creating a Layer or for adding a Layer Version, click the Connector tab.
- Below the list of Connector Configurations, click the New button. This opens a small dialog box.
- Select the Connector Type for the platform and location where you are creating the Layer or publishing the image. Then click New to open the Connector Configuration page.
- Enter the configuration Name, and the Nutanix AHV Address, User Name, and Password). For guidance, see the above field definitions.
- Click the CHECK CREDENTIALS button below the Nutanix AHV Configuration fields. The Virtual Machine Clone Settings field is then enabled.
- Select the Virtual Machine Template.
- Select the Storage Repository and click the TEST button to verify that the appliance can access the location specified using the credentials supplied.
- Click Save. The new Connector Configuration should now be listed on the Connector page.
Script Configuration (Optional, Advanced feature)
When creating a new Connector Configuration, you can configure an optional Powershell script to run on any Windows machine running an App Layering Agent. These scripts must be stored on the same machine that the Agent is installed on, and will only be executed after a successful deployment of a Layered Image.
Some preset variables are available to enable scripts to be reusable with different template images and different connector configurations. These variables will also contain information needed to identify the virtual machine created as part of the published Layered Image in Nutanix AHV.
Execution of these scripts will not affect the outcome of the publish job, and progress of commands executed in the script will not be visible. The Nutanix AHV connector logs will contain the output of the executed script.
Configure a Script (optional)
If you want a script to run each time a Layered Image is published, complete these steps using the values described in the sections that follow.
- Complete and save the Connector Configuration as described above.
Before selecting Script Configuration page, you must save (or discard) any edits to the Connector Configuration settings.
- If the Navigation menu on the left is not open, select it and click Script Configuration to open the Script Path page.
- Complete the required fields using the values detailed herein and then click Save.
Script Configuration fields
- Enable script - Select this check box to enable the remaining fields. This allows you to enter a script that will be executed each time a Layered Image is published.
- Script Agent - The agent machine where the scripts will be located and executed from.
- Username (optional) - The username to impersonate when running the script. This can be used to ensure the script runs in the context of a user that has the needed rights/permissions to perform the operations in the script.
- Password (optional) - The password for the specified username.
- Path - A full path and filename on the agent machine where the script file resides.
Other Script Configuration values
Powershell variables - When the script is executed the following variables will be set and can be used in the powershell script:
|Value||Applies to connector types||Value determined by which code||Description|
|connectorCfgName||Common||Common||This is the name of the connector configuration that the script configuration is associated with.|
|imageName||Common||Common||This is the name of the layered image template that was used to build/publish the layered image.|
|osType||Common||Common||This is the OS type of the layered image that was published. It can be one of the following values: Windows7, Windows7 64-bit, Windows2008 64-bit, Windows2012 64-bit, Windows10, Windows1064|
|virtualInfrastructureServer||Common||Nutanix AHV||The Nutanix AHV (Prism Server) specified in the connector configuration.|
|vmId||Common||Nutanix AHV||The virtual machine UUID (same as vmUuid).|
|vmName||Common||Nutanix AHV||The name of the virtual machine that was created.|
|vmNetwork||Common||Nutanix AHV||The name of the virtual network that the main NIC of the virtual machine is connected to.|
|vmNetworkId||Common||Nutanix AHV||The UUID of the virtual network that the main NIC of the virtual machine is connected to.|
|vmNetworkMAC||Common||Nutanix AHV||The MAC address of the main NIC that is connected to the virtual network specified in vmNetwork and vmNetworkId.|
|vmUuid||Common||Nutanix AHV||The virtual machine UUID (same as vmId).|
Definition Scope - Defines whether the scripts variable is set for all Connector types or whether it is specific to a particular Connector type.
Value Source - Defines whether the variable value is determined by common code or by Connector-specific code.