Running the vCloud Director appliance in a lab environment requires a full vSphere / vCenter environment due to the pre-requisite for a full OVF environment. Considering the VCD shouldn’t run in the provider data centre this means spinning up a separate ESXi/vCentre purely for VCD (assuming VCNS etc. are running natively in your VMware Fusion / Workstation environment), which is a pain when you have limited lab resources at hand.

The workaround is to create the OVF answer file for the appliance. The following (this is for VCD 5.5) sets the network settings as well as using the internal Oracle database:

<?xml version="1.0" encoding="UTF-8"?>
<Environment
     xmlns="http://schemas.dmtf.org/ovf/environment/1"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
     xmlns:ve="http://www.vmware.com/schema/ovfenv"
     oe:id=""
     ve:vCenterId="vm-100">
   <PlatformSection>
      <Kind>VMware ESXi</Kind>
      <Version>5.5.0</Version>
      <Vendor>VMware, Inc.</Vendor>
      <Locale>en</Locale>
   </PlatformSection>
   <PropertySection>
         <Property oe:key="guest-password" oe:value=""/>
         <Property oe:key="root-password" oe:value=""/>
         <Property oe:key="vami.DNS.vCloud_Director" oe:value="DNS_IP"/>
         <Property oe:key="vami.gateway.vCloud_Director" oe:value="DEFAULT_GATEWAY_IP"/>
         <Property oe:key="vami.ip0.vCloud_Director" oe:value="IP_ADDRESS_1"/>
         <Property oe:key="vami.ip1.vCloud_Director" oe:value="IP_ADDRESS_2"/>
         <Property oe:key="vami.netmask0.vCloud_Director" oe:value="IP1_NETMASK"/>
         <Property oe:key="vami.netmask1.vCloud_Director" oe:value="IP2_NETMASK"/>
         <Property oe:key="vcd.db.addr" oe:value=""/>
         <Property oe:key="vcd.db.mssql.instance" oe:value=""/>
         <Property oe:key="vcd.db.mssql.name" oe:value="MSSQLSERVER"/>
         <Property oe:key="vcd.db.oracle.sid" oe:value="orcl"/>
         <Property oe:key="vcd.db.password" oe:value=""/>
         <Property oe:key="vcd.db.port" oe:value=""/>
         <Property oe:key="vcd.db.type" oe:value="internal"/>
         <Property oe:key="vcd.db.user" oe:value=""/>
         <Property oe:key="vm.vmname" oe:value="vCloud_Director"/>
   </PropertySection>
   <ve:EthernetAdapterSection>
      <ve:Adapter ve:mac="00:50:56:aa:bb:cc" ve:network="Portgroup1" ve:unitNumber="7"/>
      <ve:Adapter ve:mac="00:50:56:aa:bb:dd" ve:network="Portgroup1" ve:unitNumber="8"/>
   </ve:EthernetAdapterSection>
</Environment>

Save the file as “ovf-env.xml” in an empty folder then package the file in an ISO file. In OSX this can be done with

hdiutil makehybrid -iso -joliet -o ovf-env.iso vcdovfxml/

Import the VCD appliance OVF file as a new Fusion/Workstation VM, but add a CD-rom device pointing to the ISO file. The VM will now boot without the “OVF environment not supported. Please deploy on compatible vCenter server” error.

Configuration

The appliance can now be configured through the normal http://<IP of appliance> interface, where administrator password etc. is set.

The network setup interface on http://<IP of appliance>:5480 requires one more step. The appliance will come online with a *blank* root password (note that the root/Default0 password doesn’t work). The web interface will not accept a blank password, so from the console use the login function, then login with root / <blank> and change the password with the usual linux “passwd” command. Once this is done the web interface will accept the same password.

Error: “Polling for listener instance XE. Status ready.”

This error seems to happen if the appliance has limited CPU/RAM resources, i.e. you’ve cut it back to not overload the lab environment. Allowing the appliance to boot once with it’s original settings allows the appliance to boot OK.

Note: having tested this it seems 2.5GB RAM is the minimum for the VCD appliance, any less and the services simply won’t start up. 

Posted by Dag

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s