vRA8 with OneFuse: IPAM Integration

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

In this article, we are going to create a vRA8 blueprint that utilizes the OneFuse IPAM module to provide IPAM integration for provisioned workloads.  We won’t just be supplying IP information to vRA8 in this example, OneFuse will determine the network placement as well.  We will have a future article on using intelligent placement decisions and dynamic assignments within OneFuse as well as using vRA to drive network placement with OneFuse using vRA network profiles and constraint tags.

By the end of this article we will have added the OneFuse IPAM policy to a vRA8 blueprint that is deploying a vSphere machine.  This will be a simple example that we will build upon in future articles.

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


While not required to follow along I will be starting off using a blueprint I had previously created in my article vRA8 custom naming with OneFuse.  If you want to follow along from where we left off in that article you will want to read the below two articles before continuing.

Adding IPAM to a vRA8 Blueprint

I am going to use the blueprint that I walked through creating in the previous article, vRA8 Custom Naming with OneFuse.  You can do the same, clone the existing blueprint or use one you already have available if you like.

To begin you will need to open the blueprint for editing so we can add the appropriate items for consuming our IPAM policy that we created.  If you have not yet created your IPAM Policy you can learn how by reading: Creating an IPAM Policy with OneFuse.

  1. We need to add the following property to our blueprint
    • OneFuse_IpamPolicy_Nic0
    • The property supports 10 NICs. You can set the NIC by changing the number at the end from 0-9.
  2. Next we need to set the value for the property. The value is broken up into 2 parts separated by a colon as outlined below.
    • OneFuse_Endpoint:Policy_Name
    • For my environment this will be onefuseblog:default. This will result in the following being added to the blueprint:
    • OneFuse_IpamPolicy_Nic0: ‘onefuseblog:default’
  3. The completed yaml code for my blueprint looks like the following:
    formatVersion: 1
    inputs: {}
    type: Cloud.vSphere.Machine
    #vRA Properties
    imageRef: Centos7
    cpuCount: 1
    totalMemoryMB: 1024
    #OneFuse Module Properties
    OneFuse_NamingPolicy: 'onefuseblog:default'
    OneFuse_IpamPolicy_Nic0: 'onefuseblog:default'
    #Additional Properties used to generate name
    nameGroup: pp
    nameLocation: atl
    nameEnv: prod
    nameOS: l
    nameApp: web
    dns_suffix: sovlabs.net
  4. Once the blueprint is completed we will do a deploy to test that our IPAM integration is working as expected. Select “Deploy” in the lower left corner.
  5. When the deployment dialog opens give your deployment a name and select “Deploy”
  6. Within a few minutes of starting the deployment a name will have been generated and an IP address will have been reserved. To view the name as well as the IP reservation you can login to the OneFuse UI and view the managed objects. You will also b able to see this information within vRA as well. To view the managed objects within OneFuse login to the OneFuse UI and first select naming then scroll down to the section labeled “Managed Names”

    You can then select IPAM from the left menu and under “Managed IP Addresses” you will see the information for your IP Address reservation.
  7. Within vRA8 you can view the details of your deployment and view the name and IP Address. If you expand Network you will see the network the workload was assigned to and other details.
  8. If you would like to view more detail the entire output from the OneFuse request is also assigned under properties.
    • Below is a sample of the information stored with the output:
      {"_links":{"self":{"href":"/api/v3/onefuse/ipamReservations/3/","title":""},"workspace":{"href":"/api/v3/onefuse/workspaces/2/","title":"Default"},"policy":{"href":"/api/v3/onefuse/ipamPolicies/1/","title":"default"},"jobMetadata":{"href":"/api/v3/onefuse/jobMetadata/27/","title":"Job Metadata Record id 27"}},"id":3,"ipAddress":"","hostname":"ppatlprodlweb007.sovlabs.net","primaryDns":"","secondaryDns":"","dnsSuffix":"sovlabs.net","dnsSearchSuffixes":"infoblox851.sovlabs.net,sovlabs.net","nicLabel":null,"subnet":"","gateway":"","network":"dvs_SovLabs_329_10.30.29.0_24","netmask":"","trackingId":"64080c00-db0c-4af5-9c42-afde95b81793","endpoint":"onefuseblog"}

We have now successfully added and tested IPAM within vRA8.  While this is a basic example of consuming a static IPAM Policy, it is possible to drive the IPAM integration more flexibly.  In future articles I will discuss not only how to drive the OneFuse module dynamically, but vRA8 as well.

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