Adding new cluster to existing Workload domain fails with errorMessage: Failed to validate cluster specCause: Cannot invoke "com.vmware.vcf.clustermanager.fsm.params.FetchHostDetailsParam.getEsxilds()" because "hostDetailsParam" is null
/var/log/vmware/vcf/domainmanager/domainmanager.log on VCF Ops shows below errors,
YYYY-MM-DDTHH:MM:SS WARN [vcf_dm,################################,####] [c.v.v.c.f.a.ValidateClusterSpecAction,dm-exec-13] Validate Cluster Spec failed for ESXi hosts <ESXi_FQDN>. Skipping failed hosts. Reference Token: ######.
YYYY-MM-DDTHH:MM:SS ERROR [vcf_dm,################################,####] [c.v.e.s.o.model.error.ErrorFactory,dm-exec-13] [######] PUBLIC_CLUSTERSPEC_VALIDATIONS_FAILED Failed to validate cluster speccom.vmware.evo.sddc.orchestrator.exceptions.OrchTaskException: Failed to validate cluster spec at com.vmware.vcf.clustermanager.fsm.actions.ValidateClusterSpecAction.skipFailedHosts(ValidateClusterSpecAction.java:274)at com.vmware.vcf.clustermanager.fsm.actions.ValidateClusterSpecAction.validateIfHostsAreVsanReady(ValidateClusterSpecAction.java:231) at com.vmware.vcf.clustermanager.fsm.actions.ValidateClusterSpecAction.execute(ValidateClusterSpecAction.java:141) at com.vmware.vcf.clustermanager.fsm.actions.ValidateClusterSpecAction.execute(ValidateClusterSpecAction.java:50) at com.vmware.evo.sddc.orchestrator.platform.action.FsmActionState.invoke(FsmActionState.java:62) at com.vmware.evo.sddc.orchestrator.platform.action.FsmActionPlugin.invoke(FsmActionPlugin.java:159) at com.vmware.evo.sddc.orchestrator.platform.action.FsmActionPlugin.invoke(FsmActionPlugin.java:144) at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.invokeMethod(ProcessingTaskSubscriber.java:400) at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.processTask(ProcessingTaskSubscriber.java:520) at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.accept(ProcessingTaskSubscriber.java:124) at jdk.internal.reflect.GeneratedMethodAccessor423.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:85) at com.google.common.eventbus.Subscriber.lambda$dispatchEvent$0(Subscriber.java:71) 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:840)Caused by: com.vmware.evo.sddc.common.core.error.InvalidStateException: Cannot skip 1 ESXi Host(s) ([<ESXi_FQDN>]) as only 2 ESXi host(s) would remain and the minimum is 3/var/run/log/vsanmgmt.log on ESXi affected host shows below error,
YYYY-MM-DDTHH:MM:SS In(14) vsand[2130701]: [opID=MainThread statsdaemon::CheckAndIncreaseStatsObjectSize] CheckAndIncreaseStatsObjectSize: objExisting is False, statsDbUuid is None, currentObjSize is 0YYYY-MM-DDTHH:MM:SS In(14) vsand[2130701]: [opID=MainThread statsdaemon::HandleRoleChanges] statsdaemon handlers with false callbackInstalled are {'VsanAnalyticsHostEventsMonitor.CmmdsEntryDefaultHandler', 'VsanHealthDaemon.CmmdsDiskDecomStateHandler', 'VsanHealthDaemon.CmmdsEntryDefaultHandler', 'VsanHealthDaemon.CmmdsDiskHealthStatusHandler'}YYYY-MM-DDTHH:MM:SS Er(11) vsand[2130701]: [opID=MainThread statsdaemon::run] Handle ChangesYYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: Traceback (most recent call last):YYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: File "/usr/lib/vmware/vsan/perfsvc/statsdaemon.py", line 1911, in runYYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: File "/usr/lib/vmware/vsan/perfsvc/statsdaemon.py", line 1669, in HandleRoleChangesYYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: PyCppVmomi.vim.fault.VsanFault: (vim.fault.VsanFault) {YYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: msg = 'Timed out when installing CMMDS subscription',YYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: faultMessage = (vmodl.LocalizableMessage) [YYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: (vmodl.LocalizableMessage) {YYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: key = 'com.vmware.vsan.perfsvc.fault.cmmds.subscription.timeout',YYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: message = 'Timed out when installing CMMDS subscription'YYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: }YYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: ]YYYY-MM-DDTHH:MM:SS Er(11)[+] vsand[2130701]: }/var/run/log/vmkernel.log on affected ESXi host logs shows below information that vSAN is configured,
YYYY-MM-DDTHH:MM:SS In(182) vmkernel: cpu47:####### opID=########)Config: 725: "VsanPersonalityConfigured" = 2, Old Value: 0, (Status: 0x0)
VCF 5.x
During a previous failed cluster deployment, the ESXi host was partially configured for vSAN. Although the task failed, stale vSAN personality and CMMDS (Cluster Monitoring, Membership, and Directory Service) metadata remain on the host. When a new cluster creation task is initiated, SDDC Manager detects the host is already "vSAN enabled" or in an inconsistent state, causing the validation to fail.
To resolve this, the impacted ESXi host must be completely cleared of all vSAN metadata and returned to a "clean" state before being commissioning into SDDC Manager.
Decommission the impacted host(s): In the SDDC Manager UI, navigate to Inventory > Hosts and decommission the host(s) reporting the validation error.
Re-image the ESXi host: Perform a fresh installation of ESXi on the impacted host to ensure all local partitions, vSAN metadata, and configuration residue are removed.
Commission the host(s): Once re-imaged and configured with the correct networking/passwords, commission the host(s) back into the SDDC Manager inventory.
Retry Cluster Creation: Initiate the Add Cluster workflow again. The validation should now pass as the hosts are in a clean, non-vSAN state
Impact/Risks:
Decommissioning and re-imaging will erase all data and configurations on the local ESXi host. Ensure no critical data resides on the host before proceeding.
Ensure the host is re-imaged with a VCF-supported ESXi version that matches the current SDDC Manager software BOM.