Symptoms:
Validate the specified NSX enabled VDS uplinks are prepared for Edge overlay Failed
Beginning of Expandable row content Screen reader table commands may not work for viewing expanded content, please use your screen reader's browse mode to read the content exposed by this button
Error occurred while performing the validation: Cannot determine default NSX enabled VDS uplinks: please specify firstNsxVdsUplink and secondNsxVdsUplink properties for each Edge node.
ERROR [vcf_dm,66e047648bc4276e05d3171746152e72,7aa3] [c.v.v.n.c.v.v.NsxTEdgeClusterValidator,dm-exec-19] Exception during consistency check of CVDS uplinks for edge deployment
com.vmware.evo.sddc.orchestrator.exceptions.OrchTaskException: Cannot determine default NSX enabled VDS uplinks: please specify firstNsxVdsUplink and secondNsxVdsUplink properties for each Edge node.
at com.vmware.vcf.nsxtedgeclustermanager.helper.NsxtEdgeClusterValidationUtil.defaultCvdsUplinksFromTnps(NsxtEdgeClusterValidationUtil.java:3179)
at com.vmware.vcf.nsxtedgeclustermanager.controller.v1.validation.NsxTEdgeClusterValidator.validateAsyncEdgeCreationSpec(NsxTEdgeClusterValidator.java:1069)
at com.vmware.vcf.nsxtedgeclustermanager.controller.v1.NsxTEdgeClusterController.lambda$triggerValidationAsync$2(NsxTEdgeClusterController.java:682)
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
at com.vmware.vcf.common.tracing.TraceRunnable.run(TraceRunnable.java:59)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
INFO [vcf_dm,66e047648bc4276e05d3171746152e72,7aa3] [c.v.v.n.c.v.v.NsxTEdgeClusterValidator,dm-exec-19] updateValidationCheck: {"errorCode":"ECM_ERROR_DURING_PERFORMING_VALIDATION","arguments":["Cannot determine default NSX enabled VDS uplinks: please specify firstNsxVdsUplink and secondNsxVdsUplink properties for each Edge node."],"stringArgs":["Cannot determine default NSX enabled VDS uplinks: please specify firstNsxVdsUplink and secondNsxVdsUplink properties for each Edge node."]}
root@sddc-manager [ /home/vcf ]# curl 127.0.0.1/inventory/vds | json_pp > vds.json
{
"clusterIds" : [
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
],
"id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"isUsedByNsxt" : false,
"mtu" : 8000,
"name" : "vi-cluster-vds",
..
"portGroups" : [], <------------Information is missing between the square brackets
"version" : "8.0.0"
}
VMware Cloud foundation 5.x
Workaround:
Please follow the steps below to resolve the issue:
IMPORTANT NOTE: Make sure that backup/snapshots of SDDC manager and all vCenters have been taken prior to any modification.
curl 127.0.0.1/inventory/vds | json_pp > vds.json
vds.json
and identify the VDS record that was directly created in the vCenter.updated-vds.json
. Ensure the updated-vds.json
contains only one VDS entry with the matching vCenter VDS name.
Using the following template prepare the information for the missing port group information. Replace all the fields information with the correct values retrieved from the vSphere Client
{
"activeUplinks" : [
"uplink1",
"uplink2"
],
"mtu" : 0,
"name" : "<name>",
"transportType" : "VM_MANAGEMENT", # <=== Allowed values MANAGEMENT, VM_MANAGEMENT, VMOTION, VSAN, PUBLIC"
"type" : "EPHEMERAL", # <=== Allowed values EARLY_BINDING, EPHEMERAL"
"vlanId" : 0
},
{
"activeUplinks" : [
"uplink1",
"uplink2"
],
"mtu" : 0,
"name" : "<name>",
"transportType" : "VSAN",
"type" : "EARLY_BINDING",
"vlanId" : 0
}
updated-vds.json
created on step 3 with a VI editor and copy the updated template from step 4 inside the empty square brackets of the VDS portGroup information. Save the file.{
"clusterIds" : [
"6caaf8d1-eb16-4a2c-9fca-171bc3fd46e8"
],
"id" : "1fd70071-e97a-47c2-a88c-2ee1f0895e47",
"isUsedByNsxt" : false,
"mtu" : 8000,
"name" : "vi-cluster-vds",
..
"portGroups" : [
{
"activeUplinks" : [
"uplink1",
"uplink2"
],
"mtu" : 0,
"name" : "xxxxxxxxxxxxxx",
"transportType" : "MANAGEMENT",
"type" : "EPHEMERAL",
"vlanId" : 0
},
{
"activeUplinks" : [
"uplink1",
"uplink2"
],
"mtu" : 0,
"name" : "xxxxxxxxxxxxxx",
"transportType" : "VMOTION",
"type" : "EARLY_BINDING",
"vlanId" : 3
},
{
"activeUplinks" : [
"uplink1",
"uplink2"
],
"mtu" : 0,
"name" : "xxxxxxxxxxxxxx",
"transportType" : "VSAN",
"type" : "EARLY_BINDING",
"vlanId" : 4
},
{
"activeUplinks" : [
"uplink1",
"uplink2"
],
"mtu" : 0,
"name" : "xxxxxxxxxxxxxx",
"transportType" : "VM_MANAGEMENT",
"type" : "EPHEMERAL",
"vlanId" : 2
}
],
"sourceId" : "dvs-18",
"version" : "8.0.0"
}
updated-vds.json
file. In the above example the ID is "1fd70071-e97a-47c2-a88c-2ee1f0895e47"curl -X PUT -H "Content-Type:application/json" --data @updated-vds.json 127.0.0.1/inventory/vds/{VDS_ID} | json_pp