rubberduck70
Contributor
Contributor

vRealize 6.2 - How to perform guest customization / create blueprint with custom input fields for guest customization

Hi guys

Trusting you are well! I'm fairly new to vRealize 6.2 - coming from good old Orchestrator and hoping to transition to using vRealize 6.2. I managed to setup the instance and clone my first machine - I do however would like to know how I can edit my blueprint in order to set my own custom fields for customization. Things like sysprep, setting hostnames, IP addresses etc? Does this require additional orchestrator workflows etc and how does it work?

0 Kudos
7 Replies
GrantOrchardVMw
Commander
Commander

Another opportunity to say..... it depends!

I'm going to assume that you're running on a vSphere environment. Here goes:

1. Sysprep will be handled by the Customization Specification that you define in the Blueprint. This needs to correlate to the Customization Spec name defined in vCenter.

2. Hostnames can be handled either by defining Machine Prefixes, or by using the vRO workflow created by Tom Bonnano.

3. IP Addresses will typically come from the Network Profiles defined in vRA, or alternatively by calling out to IPAM with vRO at the BuildingMachine workflow stub.

Now, just because those examples are handled natively doesn't mean that everything else is. I see quite a lot of custom properties being used to pull inputs into vRO (whether for guest agent details or vRO native inputs).

If you want a deeper dive on the custom properties shout out and I'll jot down some notes.

Cheers,

Grant

Grant http://grantorchard.com
0 Kudos
rubberduck70
Contributor
Contributor

Hi Grant

Thanks for the reply! I'm still grasping on how everything fits together using vRA, so yes please, any info will be more than welcome!

With regards to what I would like to achieve - currently we use a built-in workflow from Orchestrator and have modified it with the following properties:

1) Select VM to clone (template)

2) Select the compute resources (Host, resource pool, folder)

3) Select VM Network

4) Select datastore (we have a custom script to point to a SDRS cluster and compute which store has the most available space)

5) Input new VM name

6) Input network info (IP address, subnet mask, DNS, gateway)

7) Sysprep the VM with credentials provided

😎 Open Free text input to specify specific custom fields for asset management purposes (to update VC fields)

9) Option to add an additional disk

10) Admin credentials to join to the domain

In essence, how would I in layman's terms achieve this? Where do I start etc?

0 Kudos
rubberduck70
Contributor
Contributor

Hi guys

Any further thoughts on this?

thanks

0 Kudos
GrantOrchardVMw
Commander
Commander

Sorry, I did mean to give you some more detail. In effect this is 98% achievable out of the box. I'll put something together over the weekend as a full run through will take a bit of time.

Grant

Grant http://grantorchard.com
0 Kudos
rubberduck70
Contributor
Contributor

Thanks again for putting time aside to assist in this regard - did pop you an PM.

0 Kudos
GrantOrchardVMw
Commander
Commander

No worries. Let me map the process out for you.

After you've installed vRA and performed initial config....

1. Add an Endpoint (vCenter in this case)

2. Configure a Fabric Group to allow for Reservation creation against the Compute Resources (clusters) discovered from the Endpoint in Step 1.

3. Create a Business Group that has a common set of users in it. Specify "VMware.VirtualCenter.Folder" as a custom property here if you want a common folder for the Business Group to place VMs.

     - equates to 2) Select the compute resources (Host, resource pool, folder)

4. Create a Reservation, and associate Datastores and Networks with it. You can specify "VMware.VirtualCenter.Folder" as a custom property here if you want a common folder for the VMs provisioned into this Reservation.

     - equates to 2) Select the compute resources (Host, resource pool, folder)

     - equates to 3) Select VM Network

     - equates to 4) Select datastore (we have a custom script to point to a SDRS cluster and compute which store has the most available space)

5. Create Network Profiles with gateway, DNS, subnet mask and IP ranges that act as a poor man's IPAM, or use a vCO workflow to talk to an IPAM.

6. Create a Blueprint, selecting a Template (or VM with a snapshot for Linked Clone) from the vCenter Endpoint in Step 1.

Also specify a Customization Specification that exists in vCenter.

You can use "hostname" as a custom property here, or register a vCO workflow for custom naming.

You can use custom properties for addresses too, but it relies on the user knowing the details (even though you can provide default values, IP addresses would still need to be correctly identified).

Custom property field for free text can be added here for asset management, and with the total storage available defined in the blueprint a disk can be added by default.

     - equates to 1) Select VM to clone (template)

     - equates to 7) Sysprep the VM with credentials provided

     - equates to 10) Admin credentials to join to the domain

     - equates to 5) Input new VM name

     - equates to 6) Input network info (IP address, subnet mask, DNS, gateway)

     - equates to 😎 Open Free text input to specify specific custom fields for asset management purposes (to update VC fields)

     - equates to 9) Option to add an additional disk

I hope that gives you a starting point... if you want more shout out and I'll create a video.

Grant

Grant http://grantorchard.com
0 Kudos
rubberduck70
Contributor
Contributor

Thanks Grant!

So I have done steps 1-6 and able to provision a machine. I've also added a build profile for my network (IP, DNS, GW) as open text to be customized. I'm having challenges whereas the information I input, does not customize any values within the cloned server. I have gone through the notes again and installed the guest agent and performed the winservices command, but still no customization is taking place.

Let's say I don't want to use the cutomization specifcations manager within VC, and only want to use the custom fields within the blueprint, what would I use to do the guest customization? And would it be as simple as what you've stated below? ( pardon the caps Smiley Happy)

Custom property field for free text can be added here for asset management, and with the total storage available defined in the blueprint a disk can be added by default.

     - equates to 1) Select VM to clone (template) - DONE

     - equates to 7) Sysprep the VM with credentials provided - HOW TO?

     - equates to 10) Admin credentials to join to the domain - HOW TO?

     - equates to 5) Input new VM name - CUSTOM PROPERTY INDEX I ASSUME

     - equates to 6) Input network info (IP address, subnet mask, DNS, gateway) - DONE BUT NOT WORKING

     - equates to 😎 Open Free text input to specify specific custom fields for asset management purposes (to update VC fields) - CAN BE DONE

     - equates to 9) Option to add an additional disk - CAN BE DONE

0 Kudos