Unable to retrieve aggregated LCM releases information: Error in getBoms(): Encountered error requesting http://127.0.0.1/v1/releases api.
search cancel

Unable to retrieve aggregated LCM releases information: Error in getBoms(): Encountered error requesting http://127.0.0.1/v1/releases api.

book

Article ID: 431221

calendar_today

Updated On:

Products

VMware SDDC Manager

Issue/Introduction

  • In VMware SDDC Manager, attempting to retrieve available Lifecycle Management (LCM) upgrade bundles fails.
  • The SDDC Manager UI gives the following error:
    Unable to retrieve aggregated LCM releases information: Error in getBoms(): Encountered error requesting http://127.0.0.1/v1/releases api: A problem has occurred on the server.
  • Reviewing the LCM service log located at /var/log/vmware/vcf/lcm/lcm-debug.log gives the below error:
    ERROR [vcf_lcm,69#######ccfa4871dffcb#########c17,6###] [c.v.e.s.l.s.i.LcmProductVersionCatalogServiceImpl,http-nio-127.0.0.1-7##0-exec-1] Failed read/parse 'Product Version Catalog' from file /nfs/vmware/vcf/nfs-mount/metadata/productVersionCatalog.json
    ERROR [vcf_lcm,699f8##########e6bac17,6d63] [c.v.e.s.l.a.r.c.i.u.InventoryUpgradeController,http-nio-127.0.0.1-7##0-exec-1] In InventoryUpgradeController, Exception in getting all inventory upgrades com.vmware.evo.sddc.lcm.model.error.LcmException: Failed read/parse 'Product Version Catalog' from file /nfs/vmware/vcf/nfs-mount/metadata/productVersionCatalog.json
            at com.vmware.evo.sddc.lcm.services.impl.LcmProductVersionCatalogServiceImpl.getExistingProductVersionCatalogFromLocalFile(LcmProductVersionCatalogServiceImpl.java:456)
            at com.vmware.evo.sddc.lcm.services.impl.LcmProductVersionCatalogServiceImpl.getProductVersionCatalog(LcmProductVersionCatalogServiceImpl.java:122)
            at com.vmware.evo.sddc.lcm.services.impl.LcmManifestServiceImpl.getManifest(LcmManifestServiceImpl.java:440)
            at com.vmware.evo.sddc.lcm.services.impl.LcmManifestServiceImpl.getManifestService(LcmManifestServiceImpl.java:177)
            at com.vmware.evo.sddc.lcm.services.impl.LcmManifestServiceImpl.getVcfRelease(LcmManifestServiceImpl.java:813)
            at com.vmware.evo.sddc.lcm.services.util.DomainTargetStateUtil.getVcfReleaseBom(DomainTargetStateUtil.java:167)
            at com.vmware.evo.sddc.lcm.services.util.DomainReleaseViewComputationUtil.updateReleaseViewWithCustomBomDetail(DomainReleaseViewComputationUtil.java:135)
            at com.vmware.evo.sddc.lcm.services.impl.DomainVersionPersistenceServiceImpl.getDomainReleaseView(DomainVersionPersistenceServiceImpl.java:111)
            at com.vmware.evo.sddc.lcm.services.impl.DomainVersionServiceImpl.getDomainReleaseView(DomainVersionServiceImpl.java:87)
            at jdk.internal.reflect.GeneratedMethodAccessor383.invoke(Unknown Source)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.base/java.lang.reflect.Method.invoke(Method.java:569)
            at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
            at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717)
            at com.vmware.evo.sddc.lcm.services.impl.DomainVersionServiceImpl$$SpringCGLIB$$0.getDomainReleaseView(<generated>)
            at com.vmware.evo.sddc.lcm.services.impl.UpgradablesServiceImpl.getTargetSddcManagerVersion(UpgradablesServiceImpl.java:199)
            at com.vmware.evo.sddc.lcm.services.impl.UpgradablesServiceImpl.getEvoRackUpgrades(UpgradablesServiceImpl.java:117)
            at com.vmware.evo.sddc.lcm.services.impl.UpgradablesServiceImpl.getAllUpgradables(UpgradablesServiceImpl.java:215)
            at jdk.internal.reflect.GeneratedMethodAccessor470.invoke(Unknown Source)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.base/java.lang.reflect.Method.invoke(Method.java:569)
            at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
    		

Environment

VMware SDDC Manager 9.x

Cause

This issue occurs when the productVersionCatalog.json file becomes corrupted, often reverting to a binary format instead of the required readable JSON format. The LCM service relies on the productVersionCatalog.json file to calculate BOM and manifest details for available upgrades. Because the file is corrupted, the JSON parser fails to read it. This triggers a cascading failure (LcmException) up the stack, ultimately preventing SDDC Manager from displaying the available LCM bundles.

Resolution

To resolve the issue, remove the corrupted catalog files and restart the LCM service so that fresh metadata is automatically regenerated. Steps to follow:

  1. SSH into the SDDC Manager appliance using the vcf user and elevate to root using su -.
  2. Move the corrupted catalog and signature files to the /tmp folder by executing the following commands:
    mv /nfs/vmware/vcf/nfs-mount/bundle/depot/local/tmpDir/productVersionCatalog.json /tmp/productVersionCatalog.json
    mv /nfs/vmware/vcf/nfs-mount/bundle/depot/local/tmpDir/productVersionCatalog.sig /tmp/productVersionCatalog.sig
  3. Restart the LCM service to recreate the file and pull fresh metadata.
    systemctl restart lcm
  4. Log back into the SDDC Manager UI and verify that the LCM bundles are now populating correctly.