Error: "No Record" in PM_RECOMMENDATION_INFO Table during ESXi host or cluster patching using the Lifecycle Manager
search cancel

Error: "No Record" in PM_RECOMMENDATION_INFO Table during ESXi host or cluster patching using the Lifecycle Manager

book

Article ID: 451632

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

  • During an ESXi host or cluster patch attempt, the process fails due to database inconsistencies in the vSphere Lifecycle Manager (vLCM) tables. Specifically, the vCenter Lifecycle Manager service is unable to retrieve recommendation data, causing patch validation or staging to fail.
  • The ESXi host or cluster patch fails during the compliance check phase.
  • The /var/log/vmware/vmware-updatemgr/vum-server/vum-server.log displays an error indicating that a "No Record" error is found for the PM_RECOMMENDATION_INFO table.
    YYYY-MM-DDThh:mm:ss.###Z info vmware-vum-server[####] [Originator@#### sub=Clusters::Software::RecommendationsSvc opID=####-####-####-####-####] [AsyncServiceImpl ###] Failed to get recommendations for cluster domain-c##. VcidbNoRecord: No record - VCIDB ERROR: Row with primary key domain-c## not found in table PM_RECOMMENDATION_INFO

Environment

  • vCenter Server 8.0.x
  • vSphere ESXi 8.0.x

Cause

This issue occurs when the vLCM database contains orphaned or inconsistent metadata entries in the PM_RECOMMENDATION_INFO table following an incomplete or failed patch attempt. The ESXi host or cluster patching process attempts to validate cluster components against this table, and the presence of invalid records prevents the database schema reconciliation, causing the operation to fail.

Resolution

  1. Take a powered-off snapshot of the vCenter Server. See the Snapshot Best Practices for vCenter Server Virtual Machines.
  2. SSH to the vCenter Server with root credentials.
  3. Enter the shell:
    shell
  4. Stop the Update Manager service:
    service-control --stop vmware-updatemgr
  5. Access the PostgreSQL database:
    su updatemgr -s /bin/bash
    psql -U vumuser -d VCDB
  6. View the required tables to identify entries:
    SELECT * FROM pm_software_desired_states;
    SELECT * FROM pm_software_compliances;
  7. Delete the entries from the same two tables if all clusters experience the same issue:
    DELETE FROM pm_software_compliances;
    DELETE FROM pm_software_desired_states;


    Note: If there is more than one cluster in the vCenter Server and only one cluster is impacted, then use the below command to delete the desired Cluster details only:

    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##';

    To find the Cluster Domain ID, select the cluster in the vCenter UI and check the browser URL. (e.g., domain-c##), excluding everything after the colon (:).

  8. Exit the database:
    \q
  9. Return to the root shell:
    exit
  10. Start the Update Manager service:
    service-control --start vmware-updatemgr
  11. Recreate the cluster image from the vCenter UI.
  12. Restart the ESXi host patching process.

Additional Information

Check the following KB for a similar issue affecting vSphere HA:

vSphere HA Agent Configuration Error: "Setting desired image spec for cluster failed" on Image-Based clusters

For further assistance, contact Broadcom Support