vRA 8.6.1 Custom names

Update 29/04 – Although the Custom Names feature is available in vRA 8.6.1. it is a hidden feature and not available from the UI. I had some issues around the contents of this blogpost so I decided to temporarily remove it.

Please check out my new blogpost [here] about the custom names feature which is available in vRA 8.8

Before you can upgrade to vRA 8.6.1, upgrade vRSLCM to version 8.6 and install the vRSLCM Product Support Pack (PSP) 1 for 8.6.0. The PSP can be found under Product Patches in the [VMware Customer Connect Portal]. Select vRealize Suite Lifecycle Manager, vRLCM-8.6.0-PSPACKSurprise! After upgrading to, or installing 8.6.1 you will not find the custom names feature. VMware has decided this to be a silent beta feature release. The reason for this is that there are changes in API calls to projects which invoke custom naming. At this moment there is no official documentation, besides the current custom naming [documentation].

->> This feature can only be enable through an API call. Please update to vRA 8.8 for UI options.

This blogpost has the following sections and start with the boring part; the naming convention

  • Naming Convention
  • Custom Names Templates
  • Project Custom Naming
  • Property Groups
  • Cloud Template (blueprint)
  • Deployments

Naming Convention

In this example I will use the following elements, letters and numbers in my naming convention:

  • Physical/virtual:
    • p             physical server
    • v              virtual server
  • Guest OS:
    • l               Linux
    • w            Windows
  • Environment:
    • d             development
    • t              test
    • a              acceptance
    • p             production
  • Servertype:
    • a              application
    • d             database
    • g              generic
    • I               infra
    • W            web
  • Location code:
    • 010         Rotterdam
    • 020         Amsterdam
    • 030         Utrecht
    • 070         Den Haag
  • Random Number
    • ####

Using these elements the name of the vm is created as follows:

<Physical/virtual><Guest OS><Environment><Servertype><LocationCode><####>

For example hostname vldg0100002, where;

  • v             virtual server
  • l              linux
  • d             development
  • g             generic
  • 010         location code
  • 0002       random generated number

In addition to the above, every combination of elements must have their own starting number. For example a web- or application server each has their own numbering.

Enable Custom Names

After enabling custom names, you can find the new feature under Infrastructure, Administration.

Custom Names template

From Infrastructure, Custom Names, I have created a new template called “cn-default”.

If this case, I wanted to create a template for all Projects, so I chose Organization as Scope. If you prefer, you can use a different Naming template per Project.

When your click on the Naming Template, you will notice you can select different resource types. For all these resource type you can setup custom naming, including their own starting counter and increment step. Next to that you can define matching patterns to configure unique numbering within each resource type.

Here I will only configure custom names for Machine and Network (no NSX in my homelab yet).

The machine naming template I setup is: v${resource.name}${####}.

The “resource.name” variable is configured in the cloud template (more on that later). Based on my custom naming convention, I have created different matching patterns that will allow for a unique numbering for every combination of elements. This list can grow quite larger if you have a complex naming convention and environment and the screenshot does not contain all possible combinations.

Project custom naming update

After you have create a Custom Naming template at organization level, you see this is being applied to your Project(s). If you have project specific Custom Names, this will have precedence over organizational custom names.

Property Groups

I have created two Property Groups which can be used in the Cloud Templates to generate the first part of the custom names:

Property Group “pgGuestOS” of type “Constant Values”, available for any project with the following Properties:

NameDisplay NameTypeConstant Value
windows stringw
linux Stringl

Property Group “pgDeploy” of type “Input Values”, available for any project with the following Properties:

NameDisplay NameTypeDefault Value
vmServertypeServertypestring
vmEnvironmentEnvironmentstring
vmLocationcodeLocationstring

The “vmServerType” Property is a Key Value Pair based on the naming convention.

The “vmEnvironment” Property is a Key Value Pair based on the naming convention.

The “vmLocationcode” Property is a Key Value Pair based on the naming convention.

Cloud template

The full Cloud Template can be found on my [github]. Some points to highlight;

  • On the inputs, I am using the Property Group pgDeploy
pgDeploy:
  type: object
  title: Deployment Properties
  $ref: /ref/property-groups/pgDeploy
  • On the vSphere Machine resource I have created a property called name, combining all the input properties and the constant property to create the first part of the name. The random numbering will be added through the custom naming feature.
VM:
  type: Cloud.vSphere.Machine
  properties:
    name: '${propgroup.pgGuestOS.linux + input.pgDeploy.vmEnvironment + input.pgDeploy.vmServertype + input.pgDeploy.vmLocationcode}'

I did not configure anything for the network as for standard networking it wil use the name of the portgroup. During deployment however, you will see a temporary name compliant to the Naming Template.

Deployment

For testing purposes, I have created various deployment requests, all with the same elements; Web Server, Development, Rotterdam.

I also tested with various “count” scenarios which you can see in the screenshot below

  • The top part is a single deployment with a vm count of 2
  • The middle part is a triple deployment with a single vm
  • The bottom part is a single deployment with a single vm.

I have also deployed some other VMs of Servertype “Generic”. As you can see these VM’s have their own unique numbering. This is accomplished by using the Matching Pattern functionality in the Naming Template.

That’s it for this blogpost. I hope you found it useful.

Henk Engelsman

1 Response

  1. Hi Henk,

    Great post. Just wondering how you got this feature enabled in your environment? We want to test this in our dev environment as well. We’ve also opened a ticket with VMware GSS. Not sure how soon they’ll get back to us.

Leave a Reply

Your email address will not be published.

Post comment