Complete the knowledge transfer worksheet to capture information about the template, customizations, and custom properties required to create clone blueprints for the templates you prepared in your environment. Not all of this information is required for every implementation. Use this worksheet as a guide, or copy and paste the worksheet tables into a word processing tool for editing.

Required Template and Reservation Information

Table 1. Template and Reservation Information Worksheet

Required Information

My Value

Details

Template name

Reservations on which the template is available, or reservation policy to apply

To avoid errors during provisioning, ensure that the template is available on all reservations or create reservation policies that architects can use to restrict the blueprint to reservations where the template is available.

(vSphere only) Type of cloning requested for this template

  • Clone

  • Linked Clone

  • NetApp FlexClone

Customization specification name (Required for cloning with static IP addresses)

You cannot perform customizations of Windows machines without a customization specification object.

(SCVMM only) ISO name

(SCVMM only) Virtual hard disk

(SCVMM only) Hardware profile to attach to provisioned machines

Required Property Groups

You can complete the custom property information sections of the worksheet, or you can create property groups and ask architects to add your property groups to their blueprints instead of numerous individual custom properties.

Required vCenter Server Operating System

You must supply the guest operating system custom property for vCenter Server provisioning.

Table 2. vCenter Server Operating System

Custom Property

My Value

Description

VMware.VirtualCenter.OperatingSystem

Specifies the vCenter Server guest operating system version (VirtualMachineGuestOsIdentifier) with which vCenter Server creates the machine. This operating system version must match the operating system version to be installed on the provisioned machine. Administrators can create property groups using one of several property sets, for example, VMware[OS_Version]Properties, that are predefined to include the correct VMware.VirtualCenter.OperatingSystem values. This property is for virtual provisioning.

Visual Basic Script Information

If you configured vRealize Automation to run your custom Visual Basic scripts as additional steps in the machine life cycle, you must include information about the scripts in the blueprint.

Note:

A fabric administrator can create a property group by using the property sets ExternalPreProvisioningVbScript and ExternalPostProvisioningVbScript to provide this required information. Doing so makes it easier for blueprint architects to include this information correctly in their blueprints.

Table 3. Visual Basic Script Information

Custom Property

My Value

Description

ExternalPreProvisioningVbScript

Run a script before provisioning. Enter the complete path to the script including the filename and extension. %System Drive%Program Files (x86)\VMware\vCAC Agents\EPI_Agents\Scripts\SendEmail.vbs.

ExternalPostProvisioningVbScript

Run a script after provisioning. Enter the complete path to the script including the filename and extension. %System Drive%Program Files (x86)\VMware\vCAC Agents\EPI_Agents\Scripts\SendEmail.vbs

Linux Guest Agent Customization Script Information

If you configured your Linux template to use the guest agent for running customization scripts, you must include information about the scripts in the blueprint.

Table 4. Linux Guest Agent Customization Script Information Worksheet

Custom Property

My Value

Description

Linux.ExternalScript.Name

Specifies the name of an optional customization script, for example config.sh, that the Linux guest agent runs after the operating system is installed. This property is available for Linux machines cloned from templates on which the Linux agent is installed.

If you specify an external script, you must also define its location by using the Linux.ExternalScript.LocationType and Linux.ExternalScript.Path properties.

Linux.ExternalScript.LocationType

Specifies the location type of the customization script named in the Linux.ExternalScript.Name property. This can be either local or nfs.

You must also specify the script location using the Linux.ExternalScript.Path property. If the location type is nfs, also use the Linux.ExternalScript.Server property.

Linux.ExternalScript.Server

Specifies the name of the NFS server, for example lab-ad.lab.local, on which the Linux external customization script named in Linux.ExternalScript.Name is located.

Linux.ExternalScript.Path

Specifies the local path to the Linux customization script or the export path to the Linux customization on the NFS server. The value must begin with a forward slash and not include the file name, for example /scripts/linux/config.sh.

Other Guest Agent Custom Properties

If you installed the guest agent on your reference machine, you can use custom properties to further customize machines after deployment.

Table 5. Custom Properties for Customizing Cloned Machines with a Guest Agent Worksheet

Custom Property

My Value

Description

VirtualMachine.Admin.AddOwnerToAdmins

Set to True (default) to add the machine’s owner, as specified by the VirtualMachine.Admin.Owner property, to the local administrators group on the machine.

VirtualMachine.Admin.AllowLogin

Set to True (default) to add the machine owner to the local remote desktop users group, as specified by the VirtualMachine.Admin.Owner property.

VirtualMachine.Admin.UseGuestAgent

If the guest agent is installed as a service on a template for cloning, set to True on the machine blueprint to enable the guest agent service on machines cloned from that template. When the machine is started, the guest agent service is started. Set to False to disable the guest agent. If set to False, the enhanced clone workfow will not use the guest agent for guest operating system tasks, reducing its functionality to VMwareCloneWorkflow. If not specified or set to anything other than False, the enhanced clone workflow sends work items to the guest agent.

VirtualMachine.DiskN.Active

Set to True (default) to specify that the machine's disk N is active. Set to False to specify that the machine's disk N is not active.

VirtualMachine.DiskN.Size

Defines the size in GB of disk N. For example, to give a size of 150 GB to a disk G, define the custom property VirtualMachine.Disk0.Size and enter a value of 150. Disk numbering must be sequential. By default a machine has one disk referred to by VirtualMachine.Disk0.Size, where size is specified by the storage value on the blueprint from which the machine is provisioned. The storage value on the blueprint user interface overwrites the value in the VirtualMachine.Disk0.Size property. The VirtualMachine.Disk0.Size property is not available as a custom property because of its relationship with the storage option on the blueprint. More disks can be added by specifying VirtualMachine.Disk1.Size, VirtualMachine.Disk2.Size and so on. VirtualMachine.Admin.TotalDiskUsage always represents the total of the .DiskN.Size properties plus the VMware.Memory.Reservation size allocation.

VirtualMachine.DiskN.Label

Specifies the label for a machine’s disk N. The disk label maximum is 32 characters. Disk numbering must be sequential. When used with a guest agent, specifies the label of a machine's disk N inside the guest operating system.

VirtualMachine.DiskN.Letter

Specifies the drive letter or mount point of a machine’s disk N. The default is C. For example, to specify the letter D for Disk 1, define the custom property as VirtualMachine.Disk1.Letter and enter the value D. Disk numbering must be sequential. When used in conjunction with a guest agent, this value specifies the drive letter or mount point under which an additional disk N is mounted by the guest agent in the guest operating system.

VirtualMachine.Admin.CustomizeGuestOSDelay

Specifies the time to wait after customization is complete and before starting the guest operating system customization. The value must be in HH:MM:SS format. If the value is not set, the default value is one minute (00:01:00). If you choose not to include this custom property, provisioning can fail if the virtual machine reboots before guest agent work items are completed, causing provisioning to fail.

VirtualMachine.Customize.WaitComplete

Set to True to prevent the provisioning workflow from sending work items to the guest agent until all customizations are complete.

VirtualMachine.SoftwareN.Name

Specifies the descriptive name of a software application N or script to install or run during provisioning. This is an optional and information-only property. It serves no real function for the enhanced clone workflow or the guest agent but it is useful for a custom software selection in a user interface or for software use reporting.

VirtualMachine.SoftwareN.ScriptPath

Specifies the full path to an application's install script. The path must be a valid absolute path as seen by the guest operating system and must include the name of the script filename.

You can pass custom property values as parameters to the script by inserting {CustomPropertyName} in the path string. For example, if you have a custom property named ActivationKey whose value is 1234, the script path is D:\InstallApp.bat –key {ActivationKey}. The guest agent runs the command D:\InstallApp.bat –key 1234. Your script file can then be programmed to accept and use this value.

VirtualMachine.SoftwareN.ISOName

Specifies the path and filename of the ISO file relative to the datastore root. The format is /folder_name/subfolder_name/file_name.iso. If a value is not specified, the ISO is not mounted.

VirtualMachine.SoftwareN.ISOLocation

Specifies the storage path that contains the ISO image file to be used by the application or script. Format the path as it appears on the host reservation, for example netapp-1:it_nfs_1. If a value is not specified, the ISO is not mounted.

Networking Custom Properties

You can specify configuration for specific network devices on a machine by using custom properties.

Common networking-related custom properties are listed in the following table. For additional and related custom properties, see Custom Properties for Clone Blueprints and Custom Properties for Networking.

Table 6. Custom Properties for Networking Configuration

Custom Property

My Value

Description

VirtualMachine.NetworkN.Address

Specifies the IP address of network device N in a machine provisioned with a static IP address.

VirtualMachine.NetworkN.MacAddressType

Indicates whether the MAC address of network device N is generated or user-defined (static). This property is available for cloning.

The default value is generated. If the value is static, you must also use VirtualMachine.NetworkN.MacAddress to specify the MAC address.

VirtualMachine.NetworkN custom properties are specific to individual blueprints and machines. When a machine is requested, network and IP address allocation is performed before the machine is assigned to a reservation. Because blueprints are not guaranteed to be allocated to a specific reservation, do not use this property on a reservation. This property is not supported for on-demand NAT or on-demand routed networks.

VirtualMachine.NetworkN.MacAddress

Specifies the MAC address of a network device N. This property is available for cloning.

If the value of VirtualMachine.NetworkN.MacAddressType is generated, this property contains the generated address.

If the value of VirtualMachine.NetworkN.MacAddressType is static, this property specifies the MAC address. For virtual machines provisioned on ESX server hosts, the address must be in the range specified by VMware. For details, see vSphere documentation.

VirtualMachine.NetworkN custom properties are specific to individual blueprints and machines. When a machine is requested, network and IP address allocation is performed before the machine is assigned to a reservation. Because blueprints are not guaranteed to be allocated to a specific reservation, do not use this property on a reservation. This property is not supported for on-demand NAT or on-demand routed networks.

VirtualMachine.NetworkN.Name

Specifies the name of the network to connect to, for example the network device N to which a machine is attached. This is equivalent to a network interface card (NIC).

By default, a network is assigned from the network paths available on the reservation on which the machine is provisioned. Also see VirtualMachine.NetworkN.AddressType.

You can ensure that a network device is connected to a specific network by setting the value of this property to the name of a network on an available reservation. For example, if you give properties for N= 0 and 1, you get 2 NICs and their assigned value, provided the network is selected in the associated reservation.

VirtualMachine.NetworkN custom properties are specific to blueprints and machines. When a machine is requested, network and IP address allocation is performed before the machine is assigned to a reservation. Because blueprints are not guaranteed to be allocated to a specific reservation, do not use this property on a reservation.

You can add this property to a vCloud Air or vCloud Director machine component in a blueprint. This property is not supported for on-demand NAT or on-demand routed networks.

VirtualMachine.NetworkN.PortID

Specifies the port ID to use for network device N when using a dvPort group with a vSphere distributed switch.

VirtualMachine.NetworkN custom properties are specific to individual blueprints and machines. When a machine is requested, network and IP address allocation is performed before the machine is assigned to a reservation. Because blueprints are not guaranteed to be allocated to a specific reservation, do not use this property on a reservation. This property is not supported for on-demand NAT or on-demand routed networks.

VirtualMachine.NetworkN.ProfileName

Specifies the name of a network profile from which to assign a static IP address to network device N or from which to obtain the range of static IP addresses that can be assigned to network device N of a cloned machine, where N=0 for the first device, 1 for the second, and so on.

When you use the VirtualMachine.NetworkN.ProfileName property, the network profile it points to is used to allocate an IP address. However, the provisioned machine is attached to any network that is selected in the reservation using a round-robin fashion model.

  • VirtualMachine.NetworkN.SubnetMask

  • VirtualMachine.NetworkN.Gateway

  • VirtualMachine.NetworkN.PrimaryDns

  • VirtualMachine.NetworkN.SecondaryDns

  • VirtualMachine.NetworkN.PrimaryWins

  • VirtualMachine.NetworkN.SecondaryWins

  • VirtualMachine.NetworkN.DnsSuffix

  • VirtualMachine.NetworkN.DnsSearchSuffixes

Appending a name allows you to create multiple versions of a custom property. For example, the following properties might list load balancing pools set up for general use and machines with high, moderate, and low performance requirements:

  • VCNS.LoadBalancerEdgePool.Names

  • VCNS.LoadBalancerEdgePool.Names.moderate

  • VCNS.LoadBalancerEdgePool.Names.high

  • VCNS.LoadBalancerEdgePool.Names.low

Configures attributes of the network profile specified in VirtualMachine.NetworkN.ProfileName.

VCNS.LoadBalancerEdgePool.Names.name

Specifies the NSX load balancing pools to which the virtual machine is assigned during provisioning. The virtual machine is assigned to all service ports of all specified pools. The value is an edge/pool name or a list of edge/pool names separated by commas. Names are case-sensitive.

Appending a name allows you to create multiple versions of a custom property. For example, the following properties might list load balancing pools set up for general use and machines with high, moderate, and low performance requirements:

  • VCNS.LoadBalancerEdgePool.Names

  • VCNS.LoadBalancerEdgePool.Names.moderate

  • VCNS.LoadBalancerEdgePool.Names.high

  • VCNS.LoadBalancerEdgePool.Names.low

VCNS.SecurityGroup.Names.name

Specifies the NSX security group or groups to which the virtual machine is assigned during provisioning. The value is a security group name or a list of names separated by commas. Names are case-sensitive.

Appending a name allows you to create multiple versions of the property, which can be used separately or in combination. For example, the following properties can list security groups intended for general use, for the sales force, and for support:

  • VCNS.SecurityGroup.Names

  • VCNS.SecurityGroup.Names.sales

  • VCNS.SecurityGroup.Names.support

VCNS.SecurityTag.Names.name

Specifies the NSX security tag or tags to which the virtual machine is associated during provisioning. The value is a security tag name or a list of names separated by commas. Names are case-sensitive.

Appending a name allows you to create multiple versions of the property, which can be used separately or in combination. For example, the following properties can list security tags intended for general use, for the sales force, and for support:

  • VCNS.SecurityTag.Names

  • VCNS.SecurityTag.Names.sales

  • VCNS.SecurityTag.Names.support