Machine Creation for Nutanix AHV (Acropolis)
A Machine Creation for Nutanix AHV connector configuration* contains the credentials and storage location that the App Layering appliance needs to publish layered images to machine creation in your Nutanix AHV environment. This connector does not support layer creation.
Before you start
You can use Machine Creation 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.
It is possible that you need more than one Nutanix AHV connector configuration to access the correct location for each purpose. Further, it is important to publish each layered image to a location convenient to the systems you plan to provision using the published image. For more about connectors and connector configurations, see Connector configurations.
When publishing layered images to Nutanix AHV, you 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 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.
The Nutanix AHV connector configuration wizard lets you browse for the Nutanix AHV server, Data Store, and Host to use for a new configuration.
The fields are case sensitive. Any values that you enter manually must match the case of the object in Nutanix AHV. Otherwise, the validation fails.
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 are 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 cleared by default.
Virtual Machine (VM) Template (required) - The template used to clone a VM with the hardware settings for machine creation, including memory, CPUs, and video settings. Use the VM template to 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 in your layered images. The template must not have any disks attached, and must have at least one network card attached. If it does not, you see an error when trying to validate or save the configuration.
Storage Container - Lets you select the storage container for the images (virtual disks, VHDs) that are uploaded and the resulting virtual disks that are 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. The selected storage container MUST have the appliance included in an allow list of clients that are allowed to mount the storage container via NFS. The allow list configuration must be done through the Nutanix product (either their web console or through their CLI tools). If the appliance is not properly allow-listed for the selected storage container, then the validation phase fails, and the error is indicated with the storage container selection.
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 starts with the layer name that is being created/modified
- The virtual machine names 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 starts with the image name that was published
- The virtual machine name ends with the following text: (Published Image)
When viewing virtual machines through the Nutanix web console, you can search for virtual machines by filtering on:
- “Citrix App Layering” to find all virtual machines created by the App Layering software.
- “Citrix App Layering” to find all virtual machines created for layer management jobs.
- “Citrix App Layering” 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.
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.
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 the 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 the Nutanix AHV hypervisor.
- 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 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. Verify that the new connector configuration is listed on the Connector page.
Script Configuration (Optional, Advanced feature)
When creating a 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 run after a successful deployment of a layered image.
Some preset variables are available to enable scripts reusable with different template images and connector configurations. These variables also contain information needed to identify the virtual machine created as part of the published layered image in Nutanix.
Execution of these scripts does not affect the outcome of the publish job. The progress of commands run in the script is not visible. The Nutanix AHV connector logs contain the output of the script.
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.
Before selecting the 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 and click Save.
- Enable script - Select this check box to enable the remaining fields. This allows you to enter a script to be run each time a layered image is published.
- Script Agent - The agent machine where the scripts are to be located and run.
- Username (optional) - The user name 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 user name.
- Script Path - A full path and file name on the agent machine where the script file resides.
PowerShell variables - When the script is run, the following variables are set and can be used in the PowerShell script:
|Value||Applies to connector types||Value determined by which code||Description|
|connectorCfgName||Common||Common||The name of the connector configuration that the script configuration is associated with.|
|imageName||Common||Common||The name of the layered image template that was used to build/publish the layered image.|
|osType||Common||Common||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.