Upload of productVersionCatalog.json fails with error “PRODUCT_VERSION_CATALOG_LOCAL_FILE_SEQ_NUM_LOWER”
search cancel

Upload of productVersionCatalog.json fails with error “PRODUCT_VERSION_CATALOG_LOCAL_FILE_SEQ_NUM_LOWER”

book

Article ID: 434770

calendar_today

Updated On:

Products

VMware SDDC Manager

Issue/Introduction

When attempting to upload the "productVersionCatalog.json" file using the Bundle Transfer Utility (BTU/OBTU), the process fails. The log output indicates that the sequence number of the local file is lower than what is already present on the SDDC Manager.

     Converting file: /nfs/vmware/vcf/nfs-mount/PROD2/evo/vmw/lcm/productVersionCatalog/v1/productVersionCatalog.json to class: class com.vmware.vcf.rest.api.model.v1.productversioncatalog.ProductVersionCatalog
     Converting file: /nfs/vmware/vcf/nfs-mount/bundle/depot/local/productVersionCatalog.json to class: class com.vmware.vcf.rest.api.model.v1.productversioncatalog.ProductVersionCatalog
          YYYY-MM-DD  INFO   --- [main] com.vmware.vipclient.i18n.VIPCfg: Formatting cache created.
          Formatting cache created.
          YYYY-MM-DD  INFO   --- [main] com.vmware.vipclient.i18n.VIPCfg: Translation Cache created.
          Translation Cache created.
          YYYY-MM-DD ERROR   --- [main] c.v.v.i.b.instances.TranslationMessage: Can't find resource for bundle java.util.PropertyResourceBundle, key PRODUCT_VERSION_CATALOG_LOCAL_FILE_SEQ_NUM_LOWER.remedy
          Can't find resource for bundle java.util.PropertyResourceBundle, key PRODUCT_VERSION_CATALOG_LOCAL_FILE_SEQ_NUM_LOWER.remedy
          YYYY-MM-DD  INFO   --- [main] c.v.vipclient.i18n.base.HttpRequester: [GET]http://localhost:7900/i18n/api/v2/translation/products/VCF/versions/9.0.0.0/locales/en-US/components/VCF?pseudo=false
          [GET]http://localhost:7900/i18n/api/v2/translation/products/VCF/versions/9.0.0.0/locales/en-US/components/VCF?pseudo=false
          Bundle Transfer Utility Tool failed with error : Did not update product version catalog file. Existing product version catalog is newer.
          Caused by: com.vmware.evo.sddc.lcm.tools.bundletransfer.exception.BundleTransferUtilityException: Did not update product version catalog file. Existing product version catalog is newer.

Environment

SDDC Manager 5.x

Cause

The error PRODUCT_VERSION_CATALOG_LOCAL_FILE_SEQ_NUM_LOWER occurs during an Offline Bundle Transfer Utility (OBTU) operation when the local productVersionCatalog.json file on the SDDC Manager has a sequence number (version) lower than the one being uploaded or required by the environment's current state. This typically happens during Flexible BOM upgrades or when metadata is out of sync after an OBTU download.

The SDDC Manager's internal LCM (Lifecycle Management) engine expects a linear or higher sequence number for the product catalog to ensure compatibility. If the OBTU transfer attempts to inject an older or stale version of the productVersionCatalog.json, the validation check fails to prevent metadata regression.

Resolution

To resolve this, you must force a refresh of the Product Version Catalog by downloading the latest version from the Broadcom Depot and re-uploading it to the SDDC Manager.

  1. Download the latest Product Version Catalog, on your internet-connected machine (where OBTU is installed).
    ./lcm-bundle-transfer-util --download productVersionCatalog --depotDownloadToken <YOUR_TOKEN> --outputDirectory /path/to/binaries

  2. Upload the Catalog to SDDC Manager, transfer the downloaded files to the SDDC Manager and run the upload.
    ./lcm-bundle-transfer-util --upload productVersionCatalog --inputDirectory /path/to/binaries --sddcMgrFqdn <SDDC_MANAGER_FQDN> --sddcMgrUser <SDDC_ADMIN_USER>

  3. Verify Local File Sync, SSH into the SDDC Manager as vcf and switch to root. Verify the file exists and check its content.
    cat /nfs/vmware/vcf/nfs-mount/bundle/depot/local/productVersionCatalog.json | json_pp | grep sequenceNumber

  4. Clear LCM Cache, if the error remains after a successful upload, restart the LCM service to force a reload of the metadata.
    #systemctl restart lcm