vRA8 with OneFuse: Custom Naming

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

In this article we are going to walk through using OneFuse to name a deployed machine in vRA8.  To do this we will create a new blueprint within vRA8 and call upon the OneFuse to name it using the naming policy we created as part of “Creating a OneFuse Naming Policy ”.

By the end of this article we will have created a blueprint that will deploy a vSphere machine that is named using the OneFuse Naming module.  While this will be a simple example we will build upon this in later articles to showcase the advanced capabilities offered by OneFuse as a platform.

Before we begin there are prerequisites you will want to have ready.

Prerequisites

Building the Blueprint

Note: The following Blueprint “OneFuse_Naming_vSphere” example can be found in the following git repo: https://github.com/CloudBoltSoftware/onefuse-examples

  1. To begin, login to vRA8 and launch “Cloud Assembly”
  2. Once Cloud Assembly has launched select “Design” from the menu.
  3. Next, select “Blank canvas” for the “New From” menu.
  4. Give your new blueprint a name, description, and select the project you would like it associated with and select “Create”.
  5. Next, drag a vSphere Machine object onto the blank canvas.
  6. Next, we need to assign a vSphere template to the vSphere machine. I’m using the ImageRef property and my template is called Centos7. You will want to replace Centos7 with the name of your template. Below is the Yaml for my vSphere Machine:
    formatVersion: 1
    inputs: {}
    resources:
    Cloud_vSphere_Machine_1:
    type: Cloud.vSphere.Machine
    properties:
    #vRA Properties
    imageRef: Centos7
    cpuCount: 1
    totalMemoryMB: 1024
  7. Next, we need to add the OneFuse Naming Policy property to the blueprint. The OneFuse Property/Value has certain parameters that need to be set as below:

    OneFuse_NamingPolicy: ‘OneFuseEndpointName:PolicyName’

    OneFuseEndpointName is the name you gave the OneFuse endpoint when you created it and PolicyName is the Naming Policy within OneFuse that you would like to assign.
    #OneFuse Module Properties
    OneFuse_NamingPolicy: 'onefuseblog:default'
  8. The last piece we need to account for is defining additional properties that will be sent to OneFuse and used to create the name. In the article “Configuring the OneFuse Appliance”, we created a Static Property Set with simulated inputs. I’m going to use the same properties and values in my example blueprint.
    #Additional Properties used to generate name
    nameGroup: pp
    nameLocation: atl
    nameEnv: prod
    nameOS: l
    nameApp: web
    dns_suffix: sovlabs.net
  9. The completed YAML for my blueprints is:
     formatVersion: 1
    inputs: {}
    resources:
    Cloud_vSphere_Machine_1:
    type: Cloud.vSphere.Machine
    properties:
    #vRA Properties
    imageRef: Centos7
    cpuCount: 1
    totalMemoryMB: 1024
    #OneFuse Module Properties
    OneFuse_NamingPolicy: 'onefuseblog:default'
    #Additional Properties used to generate name
    nameGroup: pp
    nameLocation: atl
    nameEnv: prod
    nameOS: l
    nameApp: web
    dns_suffix: sovlabs.net
  10. Once your Blueprint is complete let’s deploy it and give it a test by selecting the “Deploy” button at the bottom left.
  11. Assign a deployment name and select Deploy
  12. Navigate to the Deployments menu and you will see your deployment listed and once completed you will notice the name has been set by the OneFuse Naming module.
  13. Now let’s login to the OneFuse appliance and select Naming from the homepage. Once on the Naming page if you scroll all the way down you will see “Managed Names” and you will see your newly created name listed.
  14. If you select the “Eye” under Job you can get more information on the job that created the name.

Although this is a very simple example of connecting OneFuse to vRA8 for Custom Naming, you can start to see how things tie together. As we progress through and cover more topics in future articles you will learn how to:

  • Dynamically drive the policy that is used.
  • Dynamically drive the properties/values that are assigned and sent as inputs.
  • Utilize OneFuse Custom Resources to assign names through canvas drag and drop functionality.
  • Learn how to use OneFuse naming to custom name your deployments.
  • Use OneFuse Naming Custom Resource to name any object on the canvas within vRA8.
  • Offer Naming as a Service from the vRA8 Service Broker.
  • Standardize Naming across vRA8 projects, Orgs, deployments, vRA7, Terraform, and More.

Visit https://onefuse.cloudbolt.io for more information and to join the OneFuse Community Forum

https://github.com/CloudBoltSoftware/onefuse-examples