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.
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)
VMware SDDC Manager 9.x
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.
To resolve the issue, remove the corrupted catalog files and restart the LCM service so that fresh metadata is automatically regenerated. Steps to follow:
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
systemctl restart lcm