Error: "A general system error occurred: Solution being applied does not exist in the desired image." seen on vCenter Server when trying to remediate a vLCM Cluster
search cancel

Error: "A general system error occurred: Solution being applied does not exist in the desired image." seen on vCenter Server when trying to remediate a vLCM Cluster

book

Article ID: 396675

calendar_today

Updated On:

Products

VMware vCenter Server VMware NSX

Issue/Introduction

  • ESXi Host/Cluster shows the following error when trying to remediate a vLCM Cluster

    Failed to install software on host. Solution being applied does not exist in the desired image. Host '<Host FQDN>' was not processed, the reason: 'Solution being applied does not exist in the desired image.'


  • vCenter Server shows the following error in Cluster: Cluster > Updates > Image

    A general system error occurred: Solution being applied does not exist in the desired image.

  • Following error can also be seen instead:

Remediation of cluster failed
 NSX is not present in cluster desired state.
 Health Check for 'Cluster###########' failed

  • Image compliance check shows the Image Version does not contain the NSX LCP bundle.

Environment

  • VMware NSX
  • VMware vCenter Server

Cause

This happens when NSX is not set as a Solution in the vLCM Cluster desired state

Resolution

In order to resolve the discrepancy of the information about NSX LCP Bundle in Cluster Image, follow these steps to remediate the issue:

  1. In vSphere Web Client, find the Moref of the cluster where the impacted host is placed:
    1. Login to vSphere Web Client.
    2. Select the cluster in question in Inventory.
    3. Inspect the URL, and identify the <domain-c#####> ID in the URL string. See below for an example:

  2. In NSX Manager Node, find the NSX LCP bundle version:
    1. SSH to NSX Manager node as root.
    2. Navigate to the following directory:
      # cd /repository/<current NSX version>/HostComponents/<current ESXi host version>/
    3. Find the NSX LCP bundle:
      # ls | grep nsx-lcp
  3. Open an SSH session with the vCenter Server and log in using root.

  4. In the SSH session, run the following command to inspect the current NSX LCP bundle, replacing <domain-c#####> with the actual cluster ID (identified in step 1.):
    #  dcli com vmware esx settings clusters software solutions list --cluster <domain-c#####>

    Note: if prompted to login, use the SSO Administrator credentials, e.g: [email protected]

    Sample output is missing component: nsx-lcp-bundle
    com.vmware.vsphere-ha:
     components:
        - component: vsphere-fdm
       details:
        components:
          - component: vsphere-fdm
            display_version:
            vendor: VMware
         display_name: vSphere FDM
     display_version: 8.0.0-21216066
     display_name: com.vmware.vsphere-ha
    version: 8.0.0-21216066
  5. If the NSX LCP bundle is not listed, run the following command to add it into the Cluster, while replacing the domain and version with the actual domain and NSX version (identified in Step 2.):
    # dcli com vmware esx settings clusters software solutions set-task --cluster domain-c##### --solution com.vmware.nsxt --version a.b.c.d.e-######## --components [{\"component\":\"nsx-lcp-bundle\"}]

    Example command:
    # dcli com vmware esx settings clusters software solutions set-task --cluster domain-c1234 --solution com.vmware.nsxt --version 4.2.1.2.0-24476730 --components [{\"component\":\"nsx-lcp-bundle\"}]

  6. Repeat Step 4 to verify that the NSX LCP bundle now appears in the output.

    Expected sample output:
    com.vmware.nsxt:
       components:
          - component: nsx-lcp-bundle
       details:
          components:
             - component: nsx-lcp-bundle
               display_version:
               vendor: VMware
               display_name: NSX LCP Bundle
          display_version: 4.2.1.2.0-24476730
        display_name: com.vmware.nsxt
       version: 4.2.1.2.0-24476730

Additional Information