Environment has underwent skip level upgrade to 4.x version higher than 4500 and then SDDC manager upgrade to VCF 5.0.0.0 or 5.0.0.1. Now NSX bundle from VCF 4.5 is not available for upgrade.
LCM logs contain something similar to below for bundle 4f2f5d65-53ca-4b58-a85c-49d5b337cc64:
2023-09-11T22:23:29.955+0000 INFO [vcf_lcm,f7fc4ddb3517f5aa,7a9a] [c.v.e.s.l.s.UpgradeServiceHelper,http-nio-127.0.0.1-7400-exec-9] The current version of nsx cluster from the inventory is 3.1.3.7.4-19762317, aliased version is 3.2.2.1.0-21487560
2023-09-11T22:23:29.955+0000 DEBUG [vcf_lcm,f7fc4ddb3517f5aa,7a9a] [c.v.e.s.l.s.i.InventoryUpgradeServiceImpl,http-nio-127.0.0.1-7400-exec-9] Number of eligible resources for bundle 4f2f5d65-53ca-4b58-a85c-49d5b337cc64: 0
To workaround the issue, please follow the steps mentioned below:
Take a backup of the aliases in the system.
Execute GET /v1/system/settings/version-aliases and store the returned result as it will be later needed to restore the aliases.
Remove all NSX, vCenter, ESXi host aliases from /opt/vmware/vcf/lcm/lcm-app/conf/VersionAlias.yml
Execute DELETE /v1/system/settings/version-aliases/{bundleComponentType} for bundleComponentType NX_T_MANAGET, VCENTER, ESX_HOST.
Wait for 5-10 minutes so that alias cleanup can take effect and NSX bundle is shown as available and do the needed upgrades.
Restore version aliases from the backup after done with upgrades.
Execute PUT /v1/system/settings/version-aliases with the content from step 1. Get the response from 1, remove the wrap with
{ "elements": [ <needed alias content> ] } wrap it into { "forceUpdate" : true, "versionAliasesForBundleComponentTypes" : [ <needed alias content> ] }
and use it as a payload for PUT /v1/system/settings/version-aliases