thjelm
Contributor
Contributor

vRA 8.4 NetworkSelectionIds broken when using multiple nics?

Hi guys,

I need help with understanding how the NetworksSelectionIds are supposed to work.

I have Network Profiles containing multiple networks (primary and storage networks) which I differentiate in the blueprint using tags. vRA selects the correct network for the correct deviceIndex... so far so good.

However, when I look at the data for the nics in the "Network Configure" event, I expect to see the id of the network that vRA selected for me but instead I see ALL the networks in the Network Profile regardless if they are selected for use or not (in this example there are only two networks in the profile):

"networkSelectionIds": [

    [[
        "009bce08-2ec5-43be-ba63-2d5b3b0f6121",
        "118b601e-e022-4da6-a723-db317e3c8912"
    ],

    [
        "009bce08-2ec5-43be-ba63-2d5b3b0f6121",
        "118b601e-e022-4da6-a723-db317e3c8912"
    ]]

],

What's the rationale for this? It doesn't seem logical or very useful.

I'm expecting to see this:

"networkSelectionIds": [[[

    "009bce08-2ec5-43be-ba63-2d5b3b0f6121",  <--- primary nic

],[

    "118b601e-e022-4da6-a723-db317e3c8912"  <--- storage nic

]]],

I've tested this with versions 8.1, 8.2 and 8.4.

Thanks and regards,

Thomas

4 Replies
Czernobog
Expert
Expert

Here's the descirption of the parameter from event entry:
"Three-dimensional array of network selections. One network selection for each network profile, machine and machine NIC."

1 VMs:

"networkSelectionIds": [
[
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
],
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
]
]
]

2 VMs:

"networkSelectionIds": [
[
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
],
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
]
],
[
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
],
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
]
]
]

3 VMs:

"networkSelectionIds": [
[
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
],
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
]
],
[
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
],
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
]
],
[
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
],
[
"b2d8ce66-477e-4b5e-927b-bf6e5be0bea1",
"2a96f490-b317-4e8b-8a1b-684ff7cc3aea"
]
]
]

The property networkProfileIds also gets duplicated, with one entry for each VM:

1 VM:

"networkProfileIds": [
"252c4b97-c055-481e-b13f-826d18f78adf"
]

2 VMs:

"networkProfileIds": [
"252c4b97-c055-481e-b13f-826d18f78adf",
"252c4b97-c055-481e-b13f-826d18f78adf"
]

So that means a 2-d array for each VM in the deployment, and there an array of network id's for each nic (?). I am interested in an explanation as well, since I have currently no idea how these values can be mapped onto nics - each nic in the array is left with 2 entries. I do not see logic in this. If I had to use the network configure event in vRA to configure the network interfaces, I'd be at a loss on how to do the assignment.

0 Kudos
carl1
Expert
Expert

You seem to be assuming that there is only one network involved.  What if vRA has a choice of 3 networks that the VM could be placed on.  The NetworkID's are your list of possible networks.  For an external IPAM solution, you would ask your IPAM system for a free IP on the first network.  If the answer is that there are none free, then try on the next one, etc.  When you get it, you should not just return an array of addresses, but also an array of the networkID's that you found your free IP on.

 

Carl L.

0 Kudos
thjelm
Contributor
Contributor

Hi Carl,

That's absolutely a valid use case but the problem isn't that it's multiple id:s per se. The problem is that it includes id:s that doesn't match the constraint tags that I've set for the networks. So in your use case you get three "Primary nic" id:s + one "Storage nic" id in each array.

Regards,

Thomas

0 Kudos
thjelm
Contributor
Contributor

Hey guys,

Just I quick update. I logged a case on this and got confirmation from VMware that this will be fixed in vRA 8.5.

Regards,

Thomas