Enabling vSphere High Availability (HA) on an image-based cluster fails with errors related to the failure of installing HA components. This occurs when vSphere Lifecycle Manager (vLCM) cannot reconcile software specifications due to stale metadata within the vCenter Server database (VCDB). This issue is observed in environments where vCenter Server Appliance has been upgraded.
"A general system error occurred: Installing HA Components failed on the cluster: domain-c####".Cannot complete the configuration of the vSphere agent on the host. "Applying HA VIBs on the cluster encountered a failure". Failed installing HA component on the host: host-####.
"Cannot complete the configuration of the vSphere HA agent on the host. Setting desired image spec for cluster failed."/var/log/vmware/vmware-updatemgr/vum-server/vmware-vum-server.log:YYYY-MM-DDTHH:MM:SS error vmware-vum-server[#######] [Originator@#### sub=VumVapi::Utils opID=########-###-####-####-###########] [DepotContentManager ###] Failed to get cached component. No record - VCIDB ERROR: Row with primary key (vsphere-fdm, #.#.#-########) not found in table PM_DEPOT_COMPONENTSNote : #.#.#-######## notation is for the vsphere-fdm version, which is different for each vCenter build number.
/var/log/vmware/vmware-updatemgr/vum-server/imageservice.log: INFO imageService[##############] [SoftwareSpecMgr ####] Image validation result: {'info': [], 'warnings': [], 'errors': [{'id': 'com.vmware.vcIntegrity.lifecycle.EsxImage.ComponentNotFoundError', 'message': {'id': 'com.vmware.vcIntegrity.lifecycle.EsxImage.ComponentNotFoundError', 'default_message': 'Component vsphere-fdm cannot be found in depot.', 'args': ['vsphere-fdm']}, 'resolution': None, 'time': 'YYYY-MM-DD'}]} vmware.esximage.Errors.ComponentNotFoundError: ('vsphere-fdm', '#.#.#-########', 'Could not find the component with name = vsphere-fdm, version = #.#.#-######## in the depot.')vsphere-fdm agent present, which can be confirmed using the following command from the ESXi host (The build number of the vCenter and the vsphere-fdm vib should match): esxcli software vib list | grep -i fdm
Image Validation Failed"./var/core directory there are core.updatemgr-worker.##### files are present.YYYY-MM-DDThh:mm:ss error vmware-vum-server[#######] [Originator@#### sub=com.vmware.vcIntegrity.lifecycle.CreateOfflineDepotTask] [Task, ###] Task:com.vmware.vcIntegrity.lifecycle.CreateOfflineDepotTask ID:##########################. Task Failed. Error: Error:--> com.vmware.vapi.std.errors.already_exists--> Messages:--> com.vmware.vcIntegrity.lifecycle.depots.offline.AlreadyExists<Offline depot content already exists with ID '##########################'.>-->YYYY-MM-DDThh:mm:ss info vmware-vum-server[#######] [Originator@#### sub=com.vmware.vcIntegrity.lifecycle.CreateOfflineDepotTask] [Task, ###] Task:com.vmware.vcIntegrity.lifecycle.CreateOfflineDepotTask ID:##########################. Task State updated to FAILEDYYYY-MM-DDThh:mm:ss info vmware-vum-server[#######] [Originator@#### sub=com.vmware.vcIntegrity.lifecycle.PreloadOfflineBundlesTask] [PreloadOfflineBundlesTask ###] The content of offline bundle: /storage/updatemgr/patch-store-temp/vsphere-ha-depot.zip already exists in depot. Treat the import as success.YYYY-MM-DDThh:mm:ss info vmware-vum-server[#######] [Originator@#### sub=com.vmware.vcIntegrity.lifecycle.PreloadOfflineBundlesTask] [Task ###] Set com.vmware.vcIntegrity.lifecycle.PreloadOfflineBundlesTask (##################################) progress to 50YYYY-MM-DDThh:mm:ss verbose vmware-vum-server[#######] [Originator@#### sub=JobDispatcher] [JobDispatcher ###] The number of tasks: 63
YYYY-MM-DDThh:mm:ss info vmware-vum-server[#######] [Originator@#### sub=Telemetry] [TelemetryManager ###] Sending telemetry data: {"@type":"pman_error_report","taskId":"##############################|##########################","entityId":"#####################################|","parentTaskId":"","errorMessageId":"com.vmware.vcIntegrity.lifecycle.depots.offline.AlreadyExists","errorMessage":"Offline depot content already exists with ID '##########################'.","errorTime":"YYYY-MM-DDThh:mm:ss"}
YYYY-MM-DDThh:mm:ss info vmware-vum-server[#######] [Originator@#### sub=ServiceProvider] [EmbeddedPyServiceProvider ####] The software spec string: {--> "add_on": {--> "name": "#########",--> "version": "803.242##767-###"--> },--> "alternative_images": null,--> "base_image": {--> "version": "8.0.3-0.73.247##735"--> },--> "components": {--> "vsphere-fdm": "8.0.3-246##346"--> },--> "hardware_support": null,--> "removed_components": null,--> "solutions": {--> "com.vmware.vsphere-ha": {--> "components": [--> {--> "component": "vsphere-fdm"--> }--> ],--> "version": "8.0.3-248##646"--> }--> }--> }
VMware vCenter Server 8.x / 9.x
VMware vSphere ESXi 8.x / 9.x
Orphaned or inconsistent entries within the VCDB PM_DEPOT_COMPONENTS table following a vCenter Server upgrade prevent the Lifecycle Manager service from correctly locating the vsphere-fdm component.
This is a known issue. Broadcom engineering is actively working on a fix in a future release.
To work around the issue, perform the following steps:
shellservice-control --stop vmware-updatemgrsu updatemgr -s /bin/bash
psql -U vumuser -d VCDB
table pm_software_desired_states;
table pm_software_compliances;
Note: The issue occurs because 'vsphere-fdm' is present as a Component rather than a Solution in an vLCM image-managed cluster.
DELETE FROM pm_software_compliances;
DELETE FROM pm_software_desired_states;
DELETE FROM pm_software_compliances where desired_state_id in (select desired_state_id from pm_software_desired_states where entity_id='domain-c####');DELETE FROM pm_software_desired_states where entity_id='domain-c####';\q and hit Enter.su root -s /bin/bash/service-control --start vmware-updatemgrDesired image for 'domain-id' is invalid. Save the desired image and retry.Image not found.dcli com vmware esx settings clusters software solutions set-task --cluster <cluster-id> --solution com.vmware.nsxt --version <version-number> --components '[{"component":"nsx-lcp-bundle"}]'service-control --stop vmware-updatemgr && service-control --start vmware-updatemgrSubscribe to this KB or refer the release notes for forthcoming product releases for any updates.
Reference: How to Subscribe to the KB
Once a fix is confirmed, use the following KB to locate and download the required update:
Reference: Download Broadcom products, patches and software