Configure OneFuse IPAM Profiles with templated properties with Static Property Set(SPS) groups

Overview

This how-to will cover the method of creating OneFuse IPAM Profiles using templated properties driven by OneFuse Static Property Sets.


Considerations

Simplifying the OneFuse platform to use a single IPAM Profile is one method of calling a specified network driven by other properties from the request inputs. This use case is just one possible implementation. CloudBolt provides integration assistance and custom solutions with the OneFuse product. Please contact your Account Representative for more details.


Procedure

Plan the Cloud Template/Blueprint user driven inputs

User driven inputs are items that are selected on the vRealize Automation 8 Cloud Template/Blueprint canvas. These can be inputs already driven by Custom Naming.

Property Name

Description

{{Env}}

Production or Development

{{ProjectCode}}

Unique 3 letter project code

  • The properties for Naming will be used to drive a specific Static Property Set, which will contain other properties for the IPAM Policy

Plan the OneFuse IPAM Policy Subnet and DNS Properties

The IPAM Policies can be templated with properties instead of being hardcoded values.

Property Name

Description

{{gw}}

Templated Gateway

{{subnet}}

Templated CIDR Subnet

{{machineNetwork}}

Templated VMware Network

{{mask}}

Templated Netmask

{{dns1}}

Templated Primary DNS Server

{{dns2}}

Templated Secondary DNS Server

{{Domain}}

Templated DNS Suffix

  1. Navigate to Modules > IPAM via the left navigation menu

  2. Click +CREATE on IPAM Policies and name the new IPAM Policy ipam_policy_templated


Create the OneFuse Static Property Sets

Create the Static Property Sets(SPS) that will be called, that contains the IPAM values

  1. In OneFuse UI, navigate to Templating > Static Property Sets

  2. Click +CREATE and generate a name that will ultimately be called in the vRA8 Cloud Template/Blueprint YAML

    1. For the items highlighted in RED below in the Static Property Set JSON Values; insert the OneFuse connection name created during the OneFuse setup (see - https://docs.cloudbolt.io/articles/#!onefuse-upstream-platforms-latest/vmware-vrealize-orchestrator-8-vro-package-onefuse-configuration)

    2. Additionally, the values assigned for each OneFuse_ properties will refer back to the Policy Name configured from the previous steps

Static Property Set Name

Static Property Set JSON Values

Production

{
"Domain": "productiondomain.io",
"subnet": "10.30.29.0/24",
"gw": "10.30.29.1",
"machineNetwork": "dvs_SovLabs_329_10.30.29.0_24",
"mask": "255.255.255.0",
"dns1": "10.30.0.11",
"dns2": "10.30.0.12",
"OneFuse_NamingPolicy": "onefuse_8081:machineNaming",
"OneFuse_IpamPolicy_Nic0": "onefuse_8081:ipam_policy_templated"
}

Development

{
"Domain": "developmentdomain.io",
"subnet": "10.30.30.0/24",
"gw": "10.30.30.1",
"machineNetwork": "dvs_SovLabs_330_10.30.30.0_24",
"mask": "255.255.255.0",
"dns1": "10.30.0.11",
"dns2": "10.30.0.12",
"OneFuse_NamingPolicy": "onefuse_8081:machineNaming",
"OneFuse_IpamPolicy_Nic0": "onefuse_8081:ipam_policy_templated"
}

  • In the above JSON values, you can see that the {{Domain}} property is passed directly in the SPS group, assuming that a Production build would be assigned a different DNS Suffix compared to Development build

Create the vRealize Automation 8 Cloud Template

Create the Static Property Sets(SPS) that will be called that contain the IPAM values

  1. In vRealize Automation 8, create a new Cloud Template

  2. Inject the following Blueprint YAML code into the canvas

    name: IPAM Templated
    version: 1
    formatVersion: 1
    inputs:
      machineCount:
        type: integer
        default: 1
        title: Number of Machines
        minimum: 1
        maximum: 5
      Environment:
        type: string
        enum:
          - Production
          - Development
      Project_Identifier:
        type: string
        maxLength: 3
    resources:
      Cloud_Machine_1:
        type: Cloud.Machine
        properties:
          image: centos7
          flavor: Small
          count: '${input.machineCount}'
          Env: '${input.Environment}'
          ProjectCode: '${input.Project_Identifier}'
          OneFuse_PropertyToolkit: 'onefuse_8081:true'
          OneFuse_SPS_Build: '${input.Environment}'
    

Execute a Deployment in vRealize Automation 8

Execute a deploy action and select the differentiating Environment Input to confirm they build to the appropriate networks

  1. Use the Inputs for the Environment to define the target SPS policy, which will assign the appropriate network properties

    1. The Project_Identifier is used to uniquely build the server name



  2. The Resulting Deploys will have VMs in each specified network

Additional information

Modeling Policies with Static Property Sets

How to create a simple vRealize Automation Cloud Assembly blueprint from scratch


Have more questions? Submit a request

1 Comments

  • 0
    Avatar
    Jason Northup

    The first link under "Additional information"  - Modeling Policies with Static Property Sets,  says I do not have access to.... is that expected?

Please sign in to leave a comment.