Add Host workflow fails with error: Vmnic/vds/uplink association in the cluster is not same across all hosts.
search cancel

Add Host workflow fails with error: Vmnic/vds/uplink association in the cluster is not same across all hosts.

book

Article ID: 374316

calendar_today

Updated On:

Products

VMware SDDC Manager

Issue/Introduction

Adding new host(s) to cluster workflow fails with the following message in the SDDC Manager UI:

SubTask: Validate Incoming ESXi Host(s) Compatibility with Existing ESXi Hosts in the Cluster
Description: Validate Incoming ESXi Host(s) Compatibility with Existing ESXi Hosts in the Cluster
Progress Messages: Vmnic/vds/uplink association in the cluster is not same across all hosts.
Error Message: Vmnic/vds/uplink association in the cluster is not same across all hosts.
Remediation Message: Please provide associations for vmnics to vds and uplinks explicitly in the input spec

Domainmanager.log:

2024-07-11T14:05:34.250+0000 ERROR [vcf_dm,193cd64b82b86eaa,45f0] [c.v.v.h.a.h.AddHostClusterCompatibilityValidationAction,dm-exec-12]  Vmnic/vds/uplink association in the cluster is not same across all hosts. Please provide associations for vmnics to vds and uplinks explicitly in the input spec.
2024-07-11T14:05:34.251+0000 ERROR [vcf_dm,193cd64b82b86eaa,45f0] [c.v.e.s.o.model.error.ErrorFactory,dm-exec-12]  [K7ON42] CLUSTER_HOSTS_CONTAIN_NON_HOMOGENEOUS_CONFIG Vmnic/vds/uplink association in the cluster is not same across all hosts.
com.vmware.evo.sddc.orchestrator.exceptions.OrchTaskException: Vmnic/vds/uplink association in the cluster is not same across all hosts.

Environment

VMware Cloud Foundation 4.x

VMware Cloud Foundation 5.x

Cause

A homogeneity check was added in vcf4520. This homogeneity check is triggered whenever hosts are added via API without including the uplink field in the json. If the hosts in the cluster do not have the same vmnic/vds/uplink association, the Add Host workflow will fail.

Here is an example of inconsistent vmnic -> uplinks seen in the domainmanager.log:

2024-07-11T15:35:48.893+0000 INFO  [vcf_dm,e0b8ac2c75356b71,e91b] [c.v.v.h.c.v.HostVmnicConfigurationValidator,dm-exec-11]  Processed vmnic map - {<Customer's_vds_name>=[vmnic3, vmnic2], <Customer's_vds_name>=[vmnic0, vmnic1], <Customer's_vds_name>=[vmnic5, vmnic4]}
2024-07-11T15:35:48.893+0000 INFO  [vcf_dm,e0b8ac2c75356b71,e91b] [c.v.v.h.c.v.HostVmnicConfigurationValidator,dm-exec-11]  The vds and uplink list map {<Customer's_vds_name>=[uplink1, uplink2], <Customer's_vds_name>=[uplink2, uplink1], > <Customer's_vds_name>=[uplink1, uplink2]}
2024-07-11T15:35:48.893+0000 INFO  [vcf_dm,e0b8ac2c75356b71,e91b] [c.v.v.h.c.v.HostVmnicConfigurationValidator,dm-exec-11]  Processed vmnic map - {<Customer's_vds_name>=[vmnic3, vmnic2], <Customer's_vds_name>=[vmnic0, vmnic1], <Customer's_vds_name>=[vmnic5, vmnic4]}
2024-07-11T15:35:48.893+0000 INFO  [vcf_dm,e0b8ac2c75356b71,e91b] [c.v.v.h.c.v.HostVmnicConfigurationValidator,dm-exec-11]  The vds and uplink list map {<Customer's_vds_name>=[uplink2, uplink1], <Customer's_vds_name>=[uplink1, uplink2], > <Customer's_vds_name>=[uplink2, uplink1]}

The first sample above shows a host in the cluster with vmnic3 -> uplink1 and vmnic2 -> uplink2. The second sample shows another host in the cluster with vmnic3 -> uplink2 and vmnic2 -> uplink1. These misconfigured uplinks are the cause of the failure.

Resolution

This issue is resolved in VCF 5.2.

The homogeneity check will pass if all hosts in the cluster are configured with the same vmnic/vds/uplink association. This can be completed by following these steps: Configure Physical Network Adapters on a vSphere Distributed Switch (vmware.com)

The homogeneity check can be skipped if the uplink field is included in the json. To do this, follow the documentation here: Add a Host to a vSphere Cluster Using the VMware Cloud Foundation API and use the following template for Step 2:

{
    "clusterExpansionSpec": {
        "hostSpecs": [{
           "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
           "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
           "username": "root",
           "hostNetworkSpec": {
               "vmNics": [{
                   "id": "vmnic0",
                   "vdsName": "<Customer's_vds_name>",
                   "uplink": "<uplinkname>
               }, {
                   "id": "vmnic1",
                   "vdsName": "<Customer's_vds_name>",
                   "uplink": "<uplinkname>
               }, {
                   "id": "vmnic2",
                   "vdsName": "<Customer's_vds_name>",
                   "uplink": "<uplinkname>
               }, {
                   "id": "vmnic3",
                   "vdsName": "<Customer's_vds_name>",
                   "uplink": "<uplinkname>
               }]
           }
       }]
   }
}