VCF Automation and VCF Identity Broker installation or upgrade can fail in environments where multiple Distributed Virtual Switches (DVS) have port groups with identical names.
VCFA Install or upgrade payload execution halts with a GenericServerExceptionError Traces : INFO sddc-build-service 52 [...] Kubectl command result: CmdResult(exitCode=1, stdout=, stderr=error: the server doesn't have a resource type "pd", finished=true, sshClientException=null)
ERROR sddc-build-service 52 [...] Could not get component details through SSH on VSP cluster: <VSP HOSTNAME>
com.broadcom.vcf.lcm.build.common.exception.GenericServerException: Failed to retrieve details for VCFA at '<vcfa hostname>'
com.broadcom.vcf.lcm.sddc.build.plugins.vcfa.driver.Vcfa90ComponentBrowser.attemptToPodDetailsString(Vcfa90ComponentBrowser.java:134)
SDDC Manager logs errors: Error: failed to import /nfs/vmware/vcf/nfs-mount/bundle/<uuid>/vcf-services-platform-template-9.1.0.0.25210318.ova: path '/cluster/network/Management Networks/<pg-name>' resolves to multiple networks
Imagine a vCenter inventory with two separate Distributed Switches (DVS-A and DVS-B), both containing a management port group named Mgmt-Network-01.
Problematic inventory structureDatacenter
└── network/ ├── DVS-A/
│ └── Mgmt-Network-01 └── DVS-B/
└── Mgmt-Network-01
When VCF 9.1 attempts to look up the path, it evaluates both as .../network/Mgmt-Network-01, throwing the error: path resolves to multiple networks.
VCF Automation 9.1
VCF Services runtime
This issue is caused by a defect in the VCF services runtime related to inventory path resolution. When multiple DVS instances contain port groups with the same name, the system does not include a unique identifier for the port group in the inventory path. This results in ambiguous references, preventing the installer from resolving the correct network resource and leading to a failure during deployment or upgrade workflows.
Engineering is currently working on a permanent fix, which is expected to be included in an upcoming release.
Workaround:
Example of corrected Inventory Structure (Workaround):
By placing each DVS inside its own unique Network Folder, the fully qualified inventory path becomes unique.Datacenter/└── network/ ├── Folder-DVS-A/ │ └── DVS-A/ │ └── Mgmt-Network-01 <-- Path: .../Folder-DVS-A/Mgmt-Network-01 └── Folder-DVS-B/ └── DVS-B/ └── Mgmt-Network-01 <-- Path: .../Folder-DVS-B/Mgmt-Network-01