VMware Cloud Community
hawks76
Enthusiast
Enthusiast
Jump to solution

Multiple NICs Blueprint (vRA 8.8)

So, I have a blueprint that i want to have 2 NICs.  The default NIC needs to be on our internal network, and the second NIC needs to be on a heartbeat network.  My YAML code looks like this:

networks:
        #  - network: ${resource.Network_Traffic.id}
        - network: ${resource.Network_Heartbeat.id}
        - assignment: static
          deviceIndex: 0
...

Network_Heartbeat:
    type: Cloud.vSphere.Network
    count: 1
    properties:
      networkType: existing
      deviceIndex: 1
      constraints:
        - tag: ${to_lower(input.datacenter) + "-heartbeat"}

Issue I'm having is the default NIC gets assigned to the correct network, but it does not get an IP address from the Infoblox integration.

Google hasn't turned up much other than examples for dynamic NIC selection. What am i missing here?

0 Kudos
1 Solution

Accepted Solutions
hawks76
Enthusiast
Enthusiast
Jump to solution

So after some trial and error, i figured this out.  Posting incase any one else has a need for this setup. 

YAML Code for each NIC:

  Internal_Network:
    type: Cloud.vSphere.Network
    properties:
      networkType: existing
      constraints:
        - tag: network-tag-generic
        - tag: network-tag-specific-internal
  Heartbeat_Network:
    type: Cloud.vSphere.Network
    properties:
      networkType: existing
      constraints:
        - tag: network-tag-generic
        - tag: network-tag-specific-heartbeat

 

YAML Code for NICs on VM:

      networks:
        - network: ${resource.Internal_Network.id}
          deviceIndex: 0
          assignment: static
        - network: ${resource.Heartbeat_Network.id}
          deviceIndex: 1
          assignment: static

 

What I have as for as network profiles, is the network-tag-generic is defined at the top level of the network profile on the summary page.  The network-tag-specific-internal and heartbeat tags are only on the specific networks that i want to place on these NICS on the Networks page of the network profile.  As well, I needed to place the deviceIndex and assignment on each network on the vm so that it would only create the 2 networks and grab a static assignment from Infoblox for each NIC in the proper subnets.  I would assume this would work for as many NICs as you want on the VM, but i've only tested with 2 NICs.

View solution in original post

1 Reply
hawks76
Enthusiast
Enthusiast
Jump to solution

So after some trial and error, i figured this out.  Posting incase any one else has a need for this setup. 

YAML Code for each NIC:

  Internal_Network:
    type: Cloud.vSphere.Network
    properties:
      networkType: existing
      constraints:
        - tag: network-tag-generic
        - tag: network-tag-specific-internal
  Heartbeat_Network:
    type: Cloud.vSphere.Network
    properties:
      networkType: existing
      constraints:
        - tag: network-tag-generic
        - tag: network-tag-specific-heartbeat

 

YAML Code for NICs on VM:

      networks:
        - network: ${resource.Internal_Network.id}
          deviceIndex: 0
          assignment: static
        - network: ${resource.Heartbeat_Network.id}
          deviceIndex: 1
          assignment: static

 

What I have as for as network profiles, is the network-tag-generic is defined at the top level of the network profile on the summary page.  The network-tag-specific-internal and heartbeat tags are only on the specific networks that i want to place on these NICS on the Networks page of the network profile.  As well, I needed to place the deviceIndex and assignment on each network on the vm so that it would only create the 2 networks and grab a static assignment from Infoblox for each NIC in the proper subnets.  I would assume this would work for as many NICs as you want on the VM, but i've only tested with 2 NICs.