Error: "Interop report could not be generated as the interop data is not present locally and it could not be downloaded online" in vCenter VVF Environments
search cancel

Error: "Interop report could not be generated as the interop data is not present locally and it could not be downloaded online" in vCenter VVF Environments

book

Article ID: 423296

calendar_today

Updated On:

Products

VMware Cloud Foundation VMware vCenter Server

Issue/Introduction

  • Interoperability check on vCenter (vCenter -> Monitor -> vCenter Server -> Interoperability) fails with error:

    Interop report could not be generated as the interop data is not present locally and it could not be downloaded online. Download the latest bundle by following the KB article & generate the interop report.



  • It shows the following Warning message:

    Interop report was generated with data that is older than 12h0m0s and latest data could not be fetched online. If you wish to generate the interop report with the latest data, please download the latest bundle by following the KB article and regenerate the interop report.

Environment

  • VVF 9.1
  • vCenter 9.1

Cause

Offline VVF environments without FDS configured cannot fetch interoperability data online. The interoperability data needs to manually download and import it into the vCenter using the import bundle API. Invoking the VVS APIs directly to get the interop data is not feasible.

Resolution

The error & warning shown in case of missing / stale bundle data is completely skippable and can be ignored to proceed with the lifecycle operations.

Workaround

Follow below steps to manually download and import the interoperability bundle to the vCenter.

  1. Download Interop Bundle using VCF-DT

    1. Download & Unzip the latest version of VCFDT from Broadcom support portal. 
    2. Go to vcf-download-tool-<version>/bin directory.

      cd vcf-download-tool-9.1.0.0.24877764/bin

    3. Execute the below command to download interop data:

      ./vcf-download-tool metadata download -d=<download-directory> --depot-download-activation-code-file=<file-containing-activation-code>

      Refer to Download Installation Binaries to an Offline Depot for more details on VCF Download Tool and getting the activation code.

    4. Navigate to <download-directory>/PROD/metadata/Compatibility/v2.
    5. The compatibility data files are present here.

  2. Uploading the Bundle to VC

    The downloaded bundle needs to be uploaded to the VC in order to enable interoperability computation in offline environments.

    1. Compress the interoperability bundle using the gzip command.

      gzip <bundle-file-name.json>

    2. Base64 encode the compressed bundle file.

      base64 -i <compressed-bundle-file-name.gz> >> <output-file-name>

    3. Get the vCenter session-id using below command: 

      curl -k --request POST \
        --url https://<vc-fqdn>/rest/com/vmware/cis/session \
        --user '[email protected]:PasswordofSSOAdminiAccount'

      Note: Replace vsphere.local with the right SSO domain name in the environment. Also, replace PasswordofSSOAdminAccount to SSO Administrator password.

    4. Pass the base64 encoded string as input to the Bundle upload API.

      curl -k --request PUT \
        --url 'https://<vc-ip>/api/vcenter/lcm/interop/bundle?vmw-task=true' \
        --header 'authorization: Basic <basic-auth-token>' \
        --header 'content-type: application/json' \
        --data '{
        "data": "<base64-encoded-content>"
      }'

    5. The API will return a task-id. 

      "18#####4-6##b-4##8-a##4-7###1######4:com.vmware.vcenter.lcm.interop.interop_bundle"

    6. Poll the task-id to get the result of bundle upload task.

      curl -k --request GET \
        --url https://<vc-ip>/lcm/rest/cis/tasks/18#####4-6##b-4##8-a##4-7###1######4:com.vmware.vcenter.lcm.interop.interop_bundle \
        --header 'authorization: Basic <basic-auth-token>'