Overview
The SovLabs Custom Naming module can help simplify and dynamically create VM server prefixes. Using the Custom Naming module reduces the dependency on the built in vRA naming machine prefix creations which are assigned
A PDF version of this guide is attached to the bottom for download
Considerations
This write up will focus on a simplistic end-user driven naming standard. The guide’s dependency is solely on using the Custom Naming module itself with no cross-dependency on other SovLabs modules.
Procedure
Plan the user driven inputs
Many naming standards driven by businesses today may contain multiple “sections” or “variables” to their naming standard. Meaning that the naming standards are broken up by either environmental or user driven inputs. The first step of setting up the SovLabs naming standard is to first identify what the variables are and in what order are they applied. The example naming scheme below focuses on a user driven format, with some hard-coded variables that are not seen by the end user at submission.
Naming Standard Breakout
1. Variable 1: Datacenter Location
a. Example(s): Detroit, Atlanta, Site A, Site B…
2. Variable 2: Server Use
a. Example(s): Prod | Dev | Test | POC…
3. Variable 3: Application Type
a. Example(s): Application Server, Web Server, SQL Server
4. Variable 3: User Input field
a. Example(s):
i. Business Identifier – Business Unit or Cost Code
ii. Server Role Type – Example: Primary, Backup, Tertiary
iii. User Identifier – Custom characters of user’s choosing
Example Matrix
Datacenter Location |
Server Use |
Application Type |
Misc. Input |
DET |
PRD |
APP |
PRI |
ATL |
DEV |
WEB |
BAK |
SITEA |
TST |
SQL |
SALES |
SITEB |
POC |
|
IT |
|
|
|
|
Note: You may notice that the numerical incremental count that normally would follow a common naming standard is not in this list, that is done because those settings would be configured in the SovLabs Naming Sequence configuration later in this guide
Create the vRA Property Definition(s) – Variables
1. For each variable, create a Property Definition in vRealize by Navigating to Administration>Property Dictionary>Property Definitions
a. Create a unique custom property for each variable. See the example below.
Property Definition: namingDatacenter
Property Definition: namingUsage
Property Definition: namingAppType
Property Definition: namingMisc
2. The result will be 4 new Property Definitions that will be used when creating the SovLabs Naming Sequence and SovLabs Naming Standard
Create the SovLabs Naming Sequence
The SovLabs naming sequence is what applies the unique numbering to each custom hostname
1. In vRA, navigate to Catalog and browse or search for Add Naming Sequence – SovLabs Modules and click Request
2. Create the naming sequence using the following settings
a. Sequence type: Decimal (Base 10)
b. Max sequence length: 3
Note: Sequence length refers to the number of numerals used to increment, not the max numerals to count to
c. Initial value: 1
d. Unique key:{{namingDatacenter}}{{namingUsage}}{{namingAppType}}{{namingMisc}}
Note: Insert your custom properties surrounded by curly brackets. Anything inside the unique key field will be taken as literal if not enclosed
Create the SovLabs Naming Standard
The SovLabs naming standard is what builds the custom hostname using the SovLabs Naming Sequence configuration
1. In vRA, navigate to Catalog and browse or search for Add Naming Standard – SovLabs Modules and click Request
2. Create the naming standard using the following settings
a. Naming Sequence: select the naming sequence created from the previous section
b. Template: {{namingDatacenter}}{{namingUsage}}{{namingAppType}}{{namingMisc}}{{sequence.tutorial_naming}}
Note: The template property is the same as the Unique sequence field from the previous section, with the exception that you are now inserting the sequence configuration
3. The result will be a new Property Group created in Administration>Property Dictionary>Property Groups with the name of SovLabs-NamingStandard-%tenant%_%naming_standard_label%
Apply the SovLabs Naming Standard
The SovLabs naming module will override any machine prefix setting configured from vRA when applied to a blueprint, reservation, compute resource, business group, or endpoint. This section will showcase 2 methods for applying the naming standard and custom properties for consumption.
Option 1 – Applied directly to the blueprint
Apply the SovLabs Property Group/Custom Property
1. In vRA Navigate to the Design tab and select a blueprint to apply the configurations
2. In the blueprint, add a vSphere (vCenter) Machine component and select it
3. Navigate to the Properties>Property Groups section
4. Add the naming standard property group created from the previous section
5. Alternatively, the Property Group contains a Custom Property named SovLabs_NamingStandard. This property and the value assigned, could also be assigned directly as a Custom Property instead of adding the entire Property Group
Apply the vRA Custom Property Definitions for User Input
1. In the blueprint, add a vSphere (vCenter) Machine component and select it
2. Navigate to the Properties>Custom Properties section
3. Add the Property Definitions for use with the SovLabs custom naming configuration created from the previous section
Note: When adding the Custom Property Definitions, be sure to select “Show in Request” to allow the user to select/input values used for naming. If the input is [blank], the naming standard will blank that variable as well
4. The result is a catalog request blueprint that generates a custom name based on input date driven by the requester
5. The VM component utilizes the end user driven input to build the custom name
Option 2 – Applied to Business Group with custom property values statically set
Plan the SovLabs Custom Naming property assignments with static values attached to vRA Entities
1. Instead of allowing the properties to be selected by the end user on request, the properties can be set with static values on other vRA properties which are passed through when the build is submitted.
Mapping of Properties to Entity
Property Name |
Value |
Mapped vRA Entity |
SovLabs_NamingStandard |
lab-001_tutorial_naming_standard |
Blueprint Component |
namingDatacenter |
ATL |
vCenter Endpoint |
namingAppType |
SQL |
Reservation |
namingUsage |
PRD |
Blueprint |
namingMisc |
IDM |
Blueprint Component |
Configure the SovLabs Custom Naming properties to assigned vRA Entities
1. Set the namingDatacenter property on the vCenter Endpoint
2. Navigate to Infrastructure>Endpoints
3. Select the target vCenter Endpoint and assign the value
4. Set the namingUsage property on the Reservation
5. Navigate to Infrastructure>Reservations
6. Select the target Reservation and assign the value
7. Set the namingAppType and SovLabs_NamingStandard property in the Blueprint properties
8. Navigate to Design and open the target blueprint
9. Open the blueprint properties window and assign the values
Note: The SovLabs_NamingStandard property is what triggers the custom naming for the build. Without this, the request will not attempt to generate a custom hostname
10. Set the namingMisc property in the Blueprint Component properties
11. Navigate to Design and open the target blueprint
12. Open the blueprint component custom properties tab and assign the value
Note: Be sure to leave the Show in Request field as unchecked
13. The result is a catalog request blueprint that generates a custom name based on static property values that are set across multiple vRA Entities. The SovLabs naming standard will pull those values at build time and apply for the custom name
Additional Information regarding the SovLabs Custom Naming module
· The module is not limited in any way to new custom properties that are created. Any vRA property can be inserted into the naming sequence and standard to generate a custom hostname. Examples of custom properties for vRA can be found here (vRA 7.5 Reference) |
· Manipulation of the custom properties can be done via the Template Engine with documentation located here. With the SovLabs template engine, specific characters or configurations can be created to create a unique naming standard |
{{cta(‘ef1f7486-0881-4758-94ee-e3c722f59814′,’justifycenter’)}}