NSX bundle is not available, after upgrading VMware Cloud Foundation to 5.0.0.1
search cancel

NSX bundle is not available, after upgrading VMware Cloud Foundation to 5.0.0.1

book

Article ID: 313320

calendar_today

Updated On:

Products

VMware Cloud Foundation

Issue/Introduction

This article helps users to remediate the issue and continue with upgrades.

Symptoms:

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


Environment

VMware Cloud Foundation 5.0

Cause

Some VCF 4.x skip level upgrades mask NSX 4.5 version as it has been reached which leads to the first NSX bundle of the dual hop NSX upgrade path to become unavailable.

Resolution

Currently there is no resolution to the issue.

Workaround:

To workaround the issue, please follow the steps mentioned below:

  1. 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.

  1. 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.

  1. Wait for 5-10 minutes so that alias cleanup can take effect and NSX bundle is shown as available and do the needed upgrades.

  2. 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