You can deploy the vCloud Director appliance as an OVF template by using the VMware OVF Tool.

You must deploy the first member of a vCloud Director server group as a primary cell. You can deploy a subsequent member of a vCloud Director server group as a standby or vCD application cell. See Appliance Deployments and Database High Availability Configuration.

For information about installing OVF Tool, see the VMware OVF Tool Release Notes document.

For information about using OVF Tool, see the OVF Tool User's Guide.

Before running the deployment command, see Prerequisites for Deploying the vCloud Director Appliance.

After you deploy the appliance, view the firstboot log file for warning error messages. See Examine the Log Files in the vCloud Director Appliance.

ovftool Command Options and Properties for Deploying the vCloud Director Appliance

Option Value Description
--noSSLVerify n/a Skips SSL verification for vSphere connections.
--acceptAllEulas n/a Accepts all end-user licenses agreements (EULAs).
--datastore target_vc_datastore The target datastore name on which to store the virtual machine configuration files and virtual disks.
--allowAllExtraConfig n/a Converts all extra config options to the VMX format.
--net:"eth0 Network" portgroup_on_vc_for_eth0 The destination network for the appliance eth0 network.
Important: Must be different from the eth1 destination network.
--net:"eth1 Network" portgroup_on_vc_for_eth1 The destination network for the appliance eth1 network.
Important: Must be different from the eth0 destination network.
--name vm_name_on_vc The virtual machine name for the appliance.
--diskMode thin or thick The disk format for the virtual machine configuration files and virtual disks.
--prop:"vami.ip0.VMware_vCloud_Director" eth0_ip_address IP address of eth0. Used for the UI and API access. On this address, the DNS reverse lookup determines and sets the hostname of the appliance.
--prop:"vami.ip1.VMware_vCloud_Director" eth1_ip_address IP address of eth1. Used for accessing internal services including the embedded PostreSQL database service.
--prop:"vami.DNS.VMware_vCloud_Director" dns_ip_address The IP address of the domain name server for the appliance.
--prop:"vami.domain.VMware_vCloud_Director" domain_name The DNS search domain. Appears as the first element in the search path.
--prop:"vami.gateway.VMware_vCloud_Director" gateway_ip_address The IP address of the default gateway for the appliance.
--prop:"vami.netmask0.VMware_vCloud_Director" netmask The netmask or prefix for the eth0 interface.
--prop:"vami.netmask1.VMware_vCloud_Director" netmask The netmask or prefix for the eth1 interface.
--prop:"vami.searchpath.VMware_vCloud_Director" a_list_of_domain_names The domain search path of the appliance.

A comma or space-separated list of domain names.

--prop:"vcloudapp.enable_ssh.VMware_vCloud_Director" true or false Enables or disables the SSH root access to the appliance.
--prop:"vcloudapp.expire_root_password.VMware_vCloud_Director" true or false Determines whether to continue or not using the initial password after the first login.
--prop:"vcloudapp.nfs_mount.VMware_vCloud_Director" nfs_ip_address:nfs_mount_path The IP address and export path of the external NFS server.

Used only for a primary cell.

--prop:"vcloudapp.ntp-server.VMware_vCloud_Director" ntp_server_ip_address The IP address of the time server.
--prop:"vcloudapp.varoot-password.VMware_vCloud_Director" ova_root_password The initial root password for the appliance. Must contain at least eight characters, one uppercase character, one lowercase character, one numeric digit, and one special character.
Important: The initial root password becomes the keystore password. The cluster deployment requires all the cells to have the same root password during the initial deployment. After the boot process finishes, you can change the root password on any desired cell.
--prop:"vcloudconf.db_pwd.VMware_vCloud_Director" db_password The database password of the vcloud user.

Used only for a primary cell.

--prop:"vcloudwiz.admin_email.VMware_vCloud_Director" vcd_admin_email_address The email address of the system administrator account.

Used only for a primary cell.

--prop:"vcloudwiz.admin_fname.VMware_vCloud_Director" Admin_vcd_name The name for the system administrator account.

Used only for a primary cell.

--prop:"vcloudwiz.admin_pwd.VMware_vCloud_Director" vcd_admin_password The password for the system administrator account.

Used only for a primary cell.

--prop:"vcloudwiz.admin_uname.VMware_vCloud_Director" vcd_admin_username The user name for the system administrator account.

Used only for a primary cell.

--prop:"vcloudwiz.inst_id.VMware_vCloud_Director" vcd_install_ID The vCloud Director installation ID.

Used only for a primary cell.

--prop:"vcloudconf.sys_name.VMware_vCloud_Director" ova_system_name The name for the vCenter Server folder to create for this vCloud Director installation.
--prop:"vcloudnet.routes0.VMware_vCloud_Director" ip_address1 cidr, ip_address2, ... Optional. Static routes for the eth0 interface. Must be a comma-separated list of route specifications. A route specification must consist of a gateway IP address and, optionally, Classless Inter-Domain Routing (CIDR) network specification (prefix/bits). For example, 172.16.100.253 172.16.100/19, 172.16.200.253.
--prop:"vcloudnet.routes1.VMware_vCloud_Director" ip_address1 cidr, ip_address2, ... Optional. Static routes for the eth1 interface. Must be a comma-separated list of route specifications. A route specification must consist of a gateway IP address and, optionally, Classless Inter-Domain Routing (CIDR) network specification (prefix/bits). For example,172.16.100.253 172.16.100/19, 172.16.200.253.
--deploymentOption primary-small,primary-large, standby-small, standby-large, or cell The appliance type and size that you want to deploy.

The primary-small and standby-small appliance sizes are suitable for lab or test systems. The primary-large and standby-large sizes meet the minimum sizing requirements for production systems. Depending on the workload, you might need to add additional resources.

  • primary-small deploys the appliance with 12 GB of RAM and 2 vCPUs as the first member in a vCloud Director server group. The embedded database in the primary cell is configured as the vCloud Director database. The database name is vcloud, and the database user is vcloud.
  • primary-large deploys the appliance with 24 GB of RAM and 4 vCPUs as the first member in a vCloud Director server group. The embedded database in the primary cell is configured as the vCloud Director database. The database name is vcloud, and the database user is vcloud.
  • standby-small deploys the appliance with 12 GB of RAM and 2 vCPUs as the second or the third member in a vCloud Director server group with a database high availability configuration. The embedded database in a standby cell is configured in a replication mode with the primary database.
  • standby-large deploys the appliance with 24 GB of RAM and 4 vCPUs as the second or the third member in a vCloud Director server group with a database high availability configuration. The embedded database in a standby cell is configured in a replication mode with the primary database.
  • cell deploys the appliance with 8 GB of RAM and 2 vCPUs as a subsequent member in a vCloud Director server group. The embedded database in a vCD application cell is not used. The vCD application cell connects to the primary database.
Important: The primary and the standby cells in a vCloud Director server group must be of the same size. A database HA cluster can consist of one primary-small and two standby-small cells, or consist of one primary-large and two standby-large cells.

After the deployment, you can reconfigure the size of the appliance.

--powerOn path_to_ova Powers on the virtual machine after the deployment.

An Example Command for Deploying the Primary vCloud Director Appliance

ovftool \
--noSSLVerify \
--acceptAllEulas \
--datastore='datastore6' \
--allowAllExtraConfig  \
--net:"eth0 Network"="My_UI_API_Network" \
--net:"eth1 Network"="My_Internal_DB_Services_Network" \
--name=MyAppliance \
--diskMode=thin \
--prop:"vami.ip0.VMware_vCloud_Director"="10.0.0.142" \
--prop:"vami.ip1.VMware_vCloud_Director"="172.18.41.24" \
--prop:"vami.DNS.VMware_vCloud_Director"="10.0.0.2" \
--prop:"vami.domain.VMware_vCloud_Director"="mycompany.com" \
--prop:"vami.gateway.VMware_vCloud_Director"="10.0.0.1" \
--prop:"vami.netmask0.VMware_vCloud_Director"="255.255.0.0" \
--prop:"vami.netmask1.VMware_vCloud_Director"="255.255.224.0" \
--prop:"vami.searchpath.VMware_vCloud_Director"="eng.mycompany.com" \
--prop:"vcloudapp.enable_ssh.VMware_vCloud_Director"="False" \
--prop:"vcloudapp.expire_root_password.VMware_vCloud_Director"="True" \
--prop:"vcloudapp.nfs_mount.VMware_vCloud_Director"="10.0.0.96:/data/transfer" \
--prop:"vcloudapp.ntp-server.VMware_vCloud_Director"="time.mycompany.com" \
--prop:"vcloudapp.varoot-password.VMware_vCloud_Director"="44z1Bd1HwIt#" \
--prop:"vcloudconf.db_pwd.VMware_vCloud_Director"="XjO52mXAP7n#" \
--prop:"vcloudconf.admin_email.VMware_vCloud_Director"="admin@mycompany.com" \
--prop:"vcloudconf.admin_fname.VMware_vCloud_Director"="vcdadmin" \
--prop:"vcloudconf.admin_pwd.VMware_vCloud_Director"="o@e@vJW26Pnb" \
--prop:"vcloudconf.admin_uname.VMware_vCloud_Director"="administrator" \
--prop:"vcloudconf.inst_id.VMware_vCloud_Director"="59" \
--prop:"vcloudconf.sys_name.VMware_vCloud_Director"="MyAppliance" \
--deploymentOption="primary-small" \
--powerOn "/MyPath/VMware_vCloud_Director-version_number_OVF10.ova" \
vi://vc_user_name:vc_password@vc_hostname_or_ip_address/vc_dataceter_name/host/vc_cluster_name

An Example Command for Deploying a Standby vCloud Director Appliance

ovftool \
--noSSLVerify \
--acceptAllEulas \
--datastore='datastore6' \
--allowAllExtraConfig  \
--net:"eth0 Network"="My_UI_API_Network" \
--net:"eth1 Network"="My_Internal_DB_Services_Network" \
--name=MySecondAppliance \
--diskMode=thin \
--prop:"vami.ip0.VMware_vCloud_Director"="10.0.0.143" \
--prop:"vami.ip1.VMware_vCloud_Director"="172.18.41.25" \
--prop:"vami.DNS.VMware_vCloud_Director"="10.0.0.2" \
--prop:"vami.domain.VMware_vCloud_Director"="mycompany.com" \
--prop:"vami.gateway.VMware_vCloud_Director"="10.0.0.1" \
--prop:"vami.netmask0.VMware_vCloud_Director"="255.255.0.0" \
--prop:"vami.netmask1.VMware_vCloud_Director"="255.255.224.0" \
--prop:"vami.searchpath.VMware_vCloud_Director"="eng.mycompany.com" \
--prop:"vcloudapp.enable_ssh.VMware_vCloud_Director"="False" \
--prop:"vcloudapp.expire_root_password.VMware_vCloud_Director"="True" \
--prop:"vcloudapp.nfs_mount.VMware_vCloud_Director"="10.0.0.96:/data/transfer" \
--prop:"vcloudapp.ntp-server.VMware_vCloud_Director"="time.mycompany.com" \
--prop:"vcloudapp.varoot-password.VMware_vCloud_Director"="44z1Bd1HwIt#" \
--prop:"vcloudconf.sys_name.VMware_vCloud_Director"="MySecondAppliance" \
--deploymentOption="standby-small" \
--powerOn "/MyPath/VMware_vCloud_Director-version_number_OVF10.ova" \
vi://vc_user_name:vc_password@vc_hostname_or_ip_address/vc_dataceter_name/host/vc_cluster_name