Unable to complete VMware NSX upgrade due to failed IpPoolLogicalMigrationsTask.
search cancel

Unable to complete VMware NSX upgrade due to failed IpPoolLogicalMigrationsTask.

book

Article ID: 377459

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

  • The upgrade pre-check fails due to an error in IpPoolLogicalMigrationsTask.
  • Log lines similar to the below are encountered on the NSX Manager in /var/log/proton/nsxapi.log

    WARN pool-9-thread-1 UfoCorfuTableMigrator 19758 - [nsx@6876 comp="nsx-manager" level="WARNING" subcomp="manager"] ERROR while running logical migration MappingDetails{name='IpPoolLogicalMigrationTask', runForT heseFromVersions='##', targetVersion='###', modelName='null', migrationType=null, reason='Revision correction of IpPools', customMigratorClassName='com.vmware.nsx.management.migration.impl.IpPoolLogicalMigrationTask', fieldMapp ings=null, targetProtoName='null', requiresCustomCode='false', owner='null', apiToTest='null'}
    java.lang.IllegalArgumentException: Key cannot be null on nsx$IpPool in transaction on namespace nsx at org.corfudb.runtime.collections.TxnContext.baseValidateWrite(TxnContext.java:167) ~[logical-migration.jar:?]"

Environment

VMware NSX 4.x

VMware NSX-T Data Center 3.x

Cause

This is a condition that may occur in a VMware NSX environment due to a stale IPPool GPRR entry which has realizationObjectId set as null, as a result of this, the IpPoolLogicalMigrationsTask is fails during the upgrade.

Resolution

This is a known issue impacting VMware NSX.

If you believe you have encountered this issue and are unable to upgrade, please open a support case with Broadcom Support and refer to this KB article.
For more information, see Creating and managing Broadcom support cases.

  • Please collect the below information when raising the support request:
    1. GET all IpPools from Policy
      GET https://<NSX-IP>/policy/api/v1/infra/ip-pools/

    2. For each IpPool fetched from above step, execute below API
      GET https://<NSX-IP>/policy/api/v1/infra/realized-state/realized-entities?intent_path=<policy-ippool-path

    3. Fetch all IpPools from Manager
      GET https://<NSX-IP>/api/v1/pools/ip-pools

    4. Fetch:
      /opt/vmware/bin/corfu_tool_runner.py --tool corfu-browser -r nsx-policy-manager -t GenericPolicyRealizedResource > /tmp/GenericPolicyRealizedResource.txt


  • Upload the above and the NSX-T Manager log bundles to the case.
  • Handling Log Bundles for offline review with Broadcom support:

Additional Information