vRA 7.3 – Configuring SovLabs Custom Naming Module

Caution: Articles written for technical not grammatical accuracy, If poor grammar offends you proceed with caution ;-)

Many of you have utilized the Custom Hostname module that has been made available by Tom Bonanno here on Dailyhypervisor.  Those that use have probably noticed that it is no longer maintained.  This is because there are supportable modules available like the one I’m writing about now by SovLabs.  The Sovlabs module offers more flexibility and is a supported product making it a best of breed solution for this task.  Whats even better is their is a common framework that exists within the SovLabs platform that greatly extends the capabilities of each module.  More of the framework to come.  For now let’s go ahead and configure the custom hostname module.

Within the SovLabs custom naming module hostnames are broken in to two parts.  A Naming Sequence and a Naming Standard.

Naming Sequences

Naming sequences are exactly exactly what they sound like.  They basically define how are we going to sequence the names that are created.  Sounds basic right?  Well SovLabs has taken sequencing to a whole new level.  Most of you are probably familiar with using a standard decimal based sequence that might look like host001, host002, and so on.  SovLabs has added the ability to use HexaDecimal, Octal, and Pattern based sequences for your naming needs.  Pattern based sequences are insanely powerful.   Pattern naming sequences can contain Decimal, HexaDecimal, Octal, Binary, and Alpha.  Below are an examples of what you can achieve with Pattern Based naming sequences:


/#ab/ = 0a0, 0a1, 0b0, 0b1……….  1a0, 1a1, 1b0, 1b1…….

The idea is that the linux is static, the # is a decimal, the a is incrementing apha, and the b is binary.  I can certainly imagine the uses for this when created highly complex distributed blueprints where components are load balanced etc.  This is just one of an infinite number of ways to use this capability.

Naming Standards

A naming standard is something you are already use to is you have used the aforementioned custom hostname workflow.  It’s basically how you define your naming convention.  Below is an example of a naming convention:



Putting is all together

When the two are put together you would end up with something like the following:

DH{{ENVNAME}}{{OSNAME}}{{APP}}{{Sequence.Example}} = DHMDTLWP0a0

Naming Standards and Naming Sequences come together to make up the overall name.  Of course you can place the sequence anywhere you like in your Naming Standard, you could even use more than one sequence in a standard to achieve your desired result.  Like I said earlier, extremely powerful stuff.

Creating a Naming Sequence

All configuration at this point will be performed in vRA.  It’s super awesome that all the SovLabs modules are configured and managed right in vRA.

1.  Request an Add Naming Sequence catalog item under the SovLAbs vRA Service.


2.  On the request screen give your Naming Sequence a Label that will help you remember what it’s for.  Then choose what type of sequence you would like, for this example I chose to use Pattern.  If you like you can choose to reuse sequence values.  I assume most of you won’t want to reuse a name even it that machine no longer exists.  Next set the initial value for the decimal value.  This is where you want the decimal portion of your naming sequence to begin.  I’m starting mine at 0.  Next I need to input the pattern I would like to use so I’m going to stick with my example from above and use /#ab/.  Click Submit to create the Naming Sequence.  Once it completes you will see your new naming sequence under Items –> SovLabs vRA Extensibility Modules –> SovLabs Naming Sequence.

image image

Creating a Naming Standard

1.  Request Add Naming Standard catalog item under the SovLAbs vRA Service.


2.  On the request screen give your Naming Sequence a Label that will help you remember what it’s for.   Select the Naming Sequence(s) you would like to use, remember you can use more than one.  Then define your template in the template box.  As with my Naming Sequence I’m going to stick with my example above.  DH{{ENVNAME}}{{OSNAME}}{{APP}}.  You must specify where in the Naming Standard to use the the Sequence(s).  In mine I choose to add to the end like my example above.DH{{ENVNAME}}{{OSNAME}}{{APP}}{{sequence.LabSeq}}.  You must reference a sequence by prepending it with sequence.  Click Submit


3.  Once it completes you will see your new naming standard under Items –> SovLabs vRA Extensibility Modules –> SovLabs Naming Standards.


4.  Next if you navigate to Administration –> Property Dictionary –> Property Groups you will see a Property Group with the name SovLabs-NamingStandard-{your-tenant}_{Label you gave your standard}.  You need to attach this property group to any blueprints that you want to use this standard.


5.  The last thing you need to do is define the properties that make up your naming standard.  My naming standard is DH{{ENVNAME}}{{OSNAME}}{{APP}}.  I will need to define properties and values for ENVNAME which I will do on my computer resource, OSNAME which I will do on the component machines in my blueprint, and APP which I will do at the blueprint level.  Once that is complete you should be able to request a machine and have it named based on your new SovLabs Naming Standard.

2 Replies to “vRA 7.3 – Configuring SovLabs Custom Naming Module”

    1. Nate,

      There are examples of no cost solutions like Toms Naming Module that you can find on the blog, however it’s not supported. The benefit to SovLabs is it’s maintained and supported by and enterprise class organization. While we published Toms module as an example the issue is when a new version of vRA is released and it causes issues with the module the users of the module come and look for support that we just can’t offer. You can certainly still download it and support and maintain it yourself, however it’s a trade-off. Doing this will incur technical debt for your organization where the SovLabs modules are very well supported eliminating the need for you to take on this debt and focus on where you need to focus. In short you get what you pay for.


Leave a Reply