Ultimate automation guide to deploying VCSA 6.0 Part 1: Embedded Node

In this article, I will share alternative methods of deploying the new VCSA 6.0 using an Embedded Node configuration. Take a look at the various deployment methods below and their respective instructions for more details. If you are deploying using one of the scripts below, you will need to extract the contents of the VCSA ISO. If you are deploying to Workstation/Fusion, you will need to extract the VCSA ISO and add the .ova extension to the following file VMware-VCSA-all-6.0.0-2562643->vcsa->vmware-vcsa before deploying.

Disclaimer: Though these alternative deployment options work, they are however not officially supported by VMware. Please use at your own risk.

Deploying to an existing vCenter Server using ovftool (shell script)

I have created a shell script called deploy_vcsa6_embedded_to_vc.sh which requires using ovftool 4.1 (included in the VCSA ISO) to specify the appropriate OVF "guestinfo" properties for an Embedded configuration. You will need to edit the script and modify several variables based on your environment.

Here is an example of executing the script:

Deploying to an ESXi host using ovftool (shell script)

I have created a shell script called deploy_vcsa6_embedded_to_esxi.sh which requires using ovftool 4.0 or greater to specify the appropriate OVF "guestinfo" properties for an Embedded configuration. You will need to edit the script and modify several variables based on your environment. The behavior of this script is similar to the one above, except you are deploying directly to an ESXi host.

Deploying to an existing vCenter Server using ovftool (PowerCLI)

I have created a PowerCLI script called Deployment-Embedded.ps1 which also allows you to specify the appropriate OVF "guestinfo" properties for an Embedded configuration. You will need to edit the script and modify several variables based on your environment.

Deploying to VMware Fusion & Workstation

To properly deploy the new VCSA 6.0, the proper OVF properties MUST be set prior to the booting of the VM. Since VMware Fusion and Workstation do not support OVF properties, you will need to manually deploy the VCSA, but not power it on. Once the deployment has finished, you will need to add the following entries to the VCSA's VMX file and replace it with your environment settings. Once you have saved your changes, you can then power on the VM and the configurations will then be read into the VM for initial setup.

Deploying using new scripted install (bonus)

As mentioned earlier, there is also a new scripted installer included inside of the VMware-VCSA ISO under /vcsa-cli-installer which supports Windows, Mac OS X and Linux, but must be connected directly to an ESXi host. There are several templates that are also included within the /vcsa-cli-installer/templates. I thought as a bonus I would also share the template I have been using to deploy an Embedded VCSA 6.0 using a static IP Address which some of you may find useful.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

{

"__comments":

[

"William Lam - www.virtuallyghetto.com",

"Example VCSA 6.0 Embedded Deployment w/Static IP Address"

],

"deployment":

{

"esx.hostname":"192.168.1.200",

"esx.datastore":"mini-local-datastore-1",

"esx.username":"root",

"esx.password":"vmware123",

"deployment.option":"tiny",

"deployment.network":"VM Network",

"appliance.name":"embedded-vcsa-node",

"appliance.thin.disk.mode":true

},

"vcsa":

{

"system":

{

"root.password":"VMware1!",

"ssh.enable":true,

"ntp.servers":"0.pool.ntp.org"

},

"sso":

{

"password":"VMware1!",

"domain-name":"vghetto.local",

"site-name":"virtuallyGhetto"

},

"networking":

{

"ip.family":"ipv4",

"mode":"static",

"ip":"192.168.1.60",

"prefix":"24",

"gateway":"192.168.1.1",

"dns.servers":"192.168.1.1",

"system.name":"192.168.1.60"

}

}

}

The use the scripted installer, you just need to change into the appropriate OS platform directory (win32,mac or lin64) and there should be a binary called vcsa-deploy. To use this template, you just need to save the JSON to a file and then specify that as the first argument to vcsa-deploy utility.

Here is an example of deploying an Embedded VCSA using the vcsa-deploy scripted installer.

Reader Interactions

Comments

Could you explain me how you run the PowerShell script? I installed the OVFTool 4.1 but I do not understand how to run the Deployment-Embedded.ps1 since there are no information of the VC where is the VCSA going to be deployed.
Thanks in advanced.

Just to let you know, I built upon your PowerCLI script.
I didn’t want to fork the whole repository, because there is too much stuff for me.
Here is what I did :

– Packaged it as a module so the function Install-VCSA6 behaves just like a native cmdlet
– Got rid of most hard-coded values and added them as parameters
– Merged the 3 scripts into a single cmdlet which works for 3 the deployment modes : Embedded, Management node, and Platform Services Controller.
– Parameter validation for most parameters (to avoid user mistakes and to allow the user to “browse” possible values with Tab completion)
– Default values for parameters where it makes sense
– Check that the required PowerCLI snap-in is loaded
– Run Connect-VIServer if not already connected
– Very detailed help information accessible via Get-Help

This issue is most likely due to your “quotes”, they’re probably copied/paste and turned into “Smart Quotes”. If you manually add quotation, you’ll see it’s slightly different and that’s whats causing the dictionary problem. Took me awhile to figure this out 🙂

Hi Jason (and William),
I had that error mentioning a dictionary problem. For me, I finally succeeded by completely closing the Fusion app, and editing the vmx file using vi at the command line. Previously, I had been editing the vmx file adding the guestinfo lines in TextMate and/or TextEdit. By closing Fusion, I avoided file lock issues. By using vi, I avoided adding any extraneous characters to the vmx. My vcsa6 is working well for me now. Thanks William for doing all this great work for VMware customers!!

Hi William, thanks again for the great post.. I’m trying to install under fusion 7.1.1 pro, and I don’t see how to configure it beyond the basic password/network parameters. I see a flash of blue when I launch the venter web client, and then it disconnects.

Not sure what you mean by “it disconnects”? Were there any errors when you open up the VMRC, if there were any configuration errors there should be a note on the blue console. If there’s not, the vSphere Web Client does take a few minutes to initialize depending on the resources of your system.

The timing is a bit tricky as you have to boot up the machine and change the local /etc/hosts file while it is starting up the services. There is probably a better way so that it will boot correctly the first time after the install.

I'm also able to connect to the VC6 console using VMRC (new mac version), since VC6 is nested under ESXI on fusion. However, the VMRC url links in vCenter 55U2e on the summary page for my VC6 system didn't work for me. I tried both safari and firefox – each launched VMRC and asked me to accept the certificate, and then VMRC promptly exited.

However, I can confirm that when I construct the VMRC url by hand, I can get to the console using VMRC. I just had to look up the MOID's by hand, e.g.:

On the vCenter 55U2e host:

vmrc://@myhostvc/?moid=vm-43

On the ESXi host:

vmrc://@myhostexi/?moid=3

When I connect to the console, sometimes it is a text-based unix login, and sometimes it is the normal esxi-like console. Once it switches to text mode, it seems to stay there and dump out system log messages periodically.

Yes, this is why in my example if you don’t have valid DNS then you should specify the IP Address for the PNID entry this way you can use IP and you won’t get the localhost entry problem. This really crops up if you leave it blank, use a false entry or DHCP. I ran into this problem when I had first set it up and was wondering why it didn’t work.

hmm, I most definitely set the PNID entry when I attempted the fusion-based install (by editing the vmx parameters), and for the HTML installer, I set the “System name [FQDN or IP address]:” to be the IP address, which appears to have been translated to the PNID parameter:

Hi William, I edit the vmx file using vi to add the guestinfo.cis parameters, but it appears that these are being ignored after powering up the VCSA 6. I am using Fusion 8.0.1 and the latest VCSA 6. Have you seen this ?

I would say make sure you’re actually using the right networking info but you can always take a look at the console of the VM to see exactly what went wrong as it usually provides an error if something did not go through.

Hi William, I’m trying to deploy vCSA 6.0 to my Mac Mini via VMware Fusion, but I keep just getting “Failed to configure network.” I’ve tried removing and manually typing out ALL the entries added to the .VMX file, but it didn’t work. I have the VM’s network set to Bridged>Ethernet, is that not right?? Thanks.

Hello William – Great articles on VCSA. I have a need to use VCSA 6.0 but the client does not have a domain since they’re on a workgroup. How do you setup VCSA for DNS forward and reverse or do you have a PDF that shows how to setup Forward and Reverse DNS before VCSA 6.0 installation? – thank you

How can they have the need for vCSA and *not* have a domain controller with DNS?! That’s like saying I’m gonna ride with training wheels on my kid’s bike while wearing a Harley jacket…makes zero sense.

Primary Sidebar

Search this website

Author

William Lam is a Staff Solutions Architect working in the VMware Cloud on AWS team within the Cloud Platform Business Unit (CPBU) at VMware. He focuses on Automation, Integration and Operation of the VMware Software Defined Datacenter (SDDC).