"Setting desired image spec for cluster failed", vSphere HA configuration fails after patching vCenter Server due to vendor code conflict
search cancel

"Setting desired image spec for cluster failed", vSphere HA configuration fails after patching vCenter Server due to vendor code conflict

book

Article ID: 431744

calendar_today

Updated On:

Products

VMware vCenter Server 8.0 VMware vSphere ESX 8.x

Issue/Introduction

  • vSphere HA configuration fails after updating vCenter Server and the vSphere client reports the error message below:

    A general system error occurred: Setting solution for image failed.Cannot complete the configuration of the vSphere HA agent on the host. "Setting desired image spec for cluster failed".

  • vLCM Cluster Image is configured with 8.0 U3 base version and Vendor Add-on "HPE-Custom-AddOn-803.0.0.12.2.0-9"

  • Following additional components are added to the vLCM Cluster image
    • sutComponent_800.6.5.0.3-0-signed_component
    • ssacli2-component_6.60.8.0-8.0.0.20613240
    • ilo-driver_800.10.9.1.4-1OEM.800.1.0.20613240
    • HPE-Storage-Connection-Manager-for-VMware-7.0-7.0.3-700004
    • amsdComponent_802.11.12.0.4-1-signed_component, Microchip-smartp
    • Microchip-smartpqi_80.4880.0.109-1OEM.800.1.0.20613240
  • Update Manager / vLCM log shows error below:

    /var/log/vmware/vmware-updatemgr/vum-server/vmware-vum-server.log

    YYYY-MM-DDTHH:MM:SS.### error vmware-vum-server [pid] [Originator@6876 sub=HostUpdateCache 1059] Invalid vendor code: mis, this conflicts with the existing code: MIS.

Cause

  • This issue is caused due to Vendor code mismatch between two VIBs mentioned below:
    • ssacli2-component_6.60.8.0-8.0.0.20613240
    • Microchip-smartpqi_80.4880.0.109-1OEM.800.1.0.20613240
  • Vendor code mismatch can be verified by checking the value for <code> in Index.xml file. The VIB needs to be extracted using 7-zip or any other equivalent tool to check the Index.xml.

     

    • ssacli2-component_6.60.8.0-8.0.0.20613240

      <?xml version="1.0"?>
      -<vendorList>
      -<vendor>
      <name>mchp</name>
      <code>mis</code>
      <indexfile>vendor-index.xml</indexfile>
      <patchUrl/>
      <relativePath/>
      -<content>
      <name>VMware ESX</name>
      <type>http://www.vmware.com/depotmanagement/esx</type>
      </content>
      </vendor>
      </vendorList>

       

    • Microchip-smartpqi_80.4880.0.109-1OEM.800.1.0.20613240

      <?xml version="1.0"?>
      -<vendorList>
      -<vendor>
      <name>Microchip</name>
      <code>MIS</code>
      <indexfile>vendor-index.xml</indexfile>
      <patchUrl/>
      <relativePath/>
      -<content>
      <name>VMware ESX</name>
      <type>http://www.vmware.com/depotmanagement/esx</type>
      </content>
      </vendor>
      </vendorList>

Resolution

It is recommended to use the partner drivers available in the compatible Vendor Add-on configured for the respective ESXi base version in the Cluster Image. Manually downgrade the VIB on the host if the ESXi host has higher version of the VIB.

Workaround

Modify the vendor code to match to the conflicting VIB as a workaround if the VIB cannot be manually downgraded on the ESX host.

  1. Reset the Update Manager DB if the vLCM image is already corrupted due to vendor code conflict - follow KB Resetting the VMware Update Manager Database.
  2. Perform Sync Updates from vLCM.
  3. Extract the VIB with the conflicting vendor code (in this example ssacli2-component_6.60.8.0-8.0.0.20613240.zip)
  4. Edit the file Index.xml file in the extracted content:



  5. Modify the value for code from lowercase to uppercase to match with the conflicting VIB:

    From:
    <code>mis</code>

    To:
    <code>MIS</code>


  6. Create the Zip with the modified file (file name in this example - ssacli2-component_6.60.8.0-8.0.0.20613240.zip)
  7. Import the VIB Offline Bundle to vLCM.
  8. Update the vLCM Cluster Image with the required additional components
  9. Save the Cluster Image.