Sometimes I need a lab quickly to test a feature. Whilst I have access to a substantial lab I do not always have access to internet. I work on a Macbook Pro and may not have access to a Windows box. I needed a way to deploy the vCenter 6 server appliance in a fashion that could allow for fresh and consistent installs. This can be run on Windows, Linux, or OSX.

My topology exists of:
* 1 x vSphere host with 12GB memory
* 1 x vCenter deployed to vSphere host

I have enabled Memory overcommitment and this allows swapping to disk. Given that this is to my internal 1TB SSD the performance is satisfactory. There is a CLI installer on the vCenter appliance installer ISO.

So, a little known fact is that VCSA can be installed via the command line tool. It takes advantage of using OVF tool. Under the directory /vcsa-cli-installer there are three folders of interest – mac, lin64, and win32. These folders have the relevant versions for each OS. This allows the installation of the VCSA to a given vSphere host.

But what about the parameters do customize the installation? There is an additional folder named templates. Templates allow the passing of JSON attributes to be used by the tool to configure the virtual appliance.

Here is an example JSON that I used for my deployment which is stored in embedded_vCSA_on_ESXi.json.

    "__version": "1.1",
    "__comments": "Sample template to deploy a vCenter Server with an embedded Platform Services Controller to an ESXi host.",
    "target.vcsa": {
        "appliance": {
            "": "VM Network",
            "deployment.option": "tiny",
            "name": "vc-01a",
            "thin.disk.mode": true
        "esx": {
            "hostname": "",
            "username": "root",
            "password": "VMware1!",
            "datastore": "datastore1"
        "network": {
            "hostname": "",
            "dns.servers": [
            "gateway": "",
            "ip": "",
            "": "ipv4",
            "mode": "static",
            "prefix": "24"
        "os": {
            "password": "VMware1!",
            "ssh.enable": true
        "sso": {
            "password": "VMware1!",
            "domain-name": "vsphere.local",
            "site-name": "Default-First-Site"

These are the correct settings for my vSphere host which is connected to a MAC only network (vmnet3) in Fusion. It uses the network You just need to change your esx, network, and other settings as required. You can also modify any of the templates used in the template directory if you need to use an external PSC opposed to the embedded one I use.

From my jump box I can run the tool. I pass the switch –accept-eula because I agree with the almighty VM Overlords.

[email protected]:~/Desktop/vcsa/vcsa-cli-installer/lin64$ ./vcsa-deploy ~/Desktop/embedded_vCSA_on_ESXi.json --accept-eula

Performing basic template verification...
Starting vCenter Server Appliance installer to deploy "vc-01a"...
This appliance is a vCenter Server instance with an embedded Platform Services
See /tmp/vcsaCliInstaller-2016-07-05-22-47-Kfy1QQ/vcsa-cli-installer.log for the
installer logs.
Run the installer with "-v" or "--verbose" to log detailed information
Cannot resolve hostname [Errno 1] Unknown host
Running OVF Tool to deploy the OVF...
Opening vCenter Server Appliance image:
Opening VI target: vi://[email protected]:443/
Deploying to VI: vi://[email protected]:443/

Progress: 99%
Transfer Completed
Powering on VM: vc-01a

Progress: 0%
Power On completed.
Waiting for IP address...
Received IP address:

Installing services...
vCSA firstboot: Progress: 64% Installed
vCSA firstboot: Progress: 67% Installed
vCSA firstboot: Progress: 70% Installed VMware-syslog-1.0.0-3545910.x86_64.rpm
vCSA firstboot: Progress: 80% Installed VMware-invsvc-6.0.0-3545910.x86_64.rpm
vCSA firstboot: Progress: 81% Installed VMware-vpxd-6.0.0-3634794.x86_64.rpm
vCSA firstboot: Progress: 83% Installed vmware-virgo-6.0.0-3634794.x86_64.rpm
vCSA firstboot: Progress: 86% Installed VMware-sps-6.0.0-3634794.x86_64.rpm
vCSA firstboot: Progress: 90% Installed vsphere-client-6.0.0-3633101.noarch.rpm
Services installations succeeded.
Configuring services for first time use...
vCSA firstboot: Progress: 3% Starting VMware Authentication Framework...
vCSA firstboot: Progress: 10% Starting VMware Identity Management Service...
vCSA firstboot: Progress: 17% Starting VMware Component Manager...
vCSA firstboot: Progress: 20% Starting VMware License Service...
vCSA firstboot: Progress: 24% Starting VMware Platform Services Controller
vCSA firstboot: Progress: 27% Starting VMware Service Control Agent...
vCSA firstboot: Progress: 31% Starting VMware vAPI Endpoint...
vCSA firstboot: Progress: 34% Starting VMware vAPI Endpoint...
vCSA firstboot: Progress: 37% Starting VMware Appliance Management Service...
vCSA firstboot: Progress: 44% Starting VMware Common Logging Service...
vCSA firstboot: Progress: 48% Starting VMware Postgres...
vCSA firstboot: Progress: 55% Starting VMware Inventory Service...
vCSA firstboot: Progress: 58% Starting VMware Message Bus Configuration
vCSA firstboot: Progress: 62% Starting VMware vSphere Web Client...
vCSA firstboot: Progress: 64% Starting VMware vSphere Web Client...
vCSA firstboot: Progress: 65% Starting VMware vSphere Web Client...
vCSA firstboot: Progress: 68% Starting VMware ESX Agent Manager...
vCSA firstboot: Progress: 72% Starting VMware vSphere Auto Deploy Waiter...
vCSA firstboot: Progress: 75% Starting VMware vSphere Profile-Driven Storage
vCSA firstboot: Progress: 79% Starting VMware Content Library Service...
vCSA firstboot: Progress: 82% Starting VMware vCenter Workflow Manager...
vCSA firstboot: Progress: 86% Starting VMware VSAN Health Service...
vCSA firstboot: Progress: 89% Starting VMware vService Manager...
vCSA firstboot: Progress: 93% Starting VMware Performance Charts...
First time configuration succeeded.
vCenter Server Appliance installer finished deploying "vc-01a".
This appliance is a vCenter Server instance with an embedded Platform Services
    System Name:
    Log in as: [email protected]
Finished successfully.
[email protected]:~/Desktop/vcsa/vcsa-cli-installer/lin64$

Now browse to and you have vCenter! Hooray.

Leave a Reply

Your email address will not be published. Required fields are marked *