Log Location for upgrade evaluation tool failure - /var/log/proton/data-migration.log (in the Upgrade Evaluation Tool), error similar to following will be observed:
2022-02-09T19:10:06.866Z WARN main UfoCorfuTableMigrator 10438 - [nsx@6876 comp="nsx-manager" level="WARNING" subcomp="manager"] ERROR while running custom migration MappingDetails{modelName='com.vmware.nsx.management.groupingobjects.nsgroup.model.NSGroup', migrationType=CUSTOM_MIGRATION, reason='null', customMigratorClassName='com.vmware.nsx.management.migration.task.group.RealizedNSGroupMigrationTask', fieldMappings=null, targetProtoName='null', requiresCustomCode='false', owner='null', apiToTest='null'}
java.lang.ClassCastException: com.vmware.nsx.management.groupingobjects.nsgroup.pojo.NSGroupComplexExpression cannot be cast to com.vmware.nsx.management.groupingobjects.nsgroup.pojo.NSGroupSimpleExpression
at com.vmware.nsx.management.migration.ufo.converter.TNIntentExpressionConverter.createExpressionNode(TNIntentExpressionConverter.java:86) ~[data-migration-gc.jar:?]
at com.vmware.nsx.management.migration.ufo.converter.NSGroupIntentConverter.toIntentExpressions(NSGroupIntentConverter.java:193) ~[data-migration-gc.jar:?]
at com.vmware.nsx.management.migration.ufo.converter.NSGroupIntentConverter.toIntentModel(NSGroupIntentConverter.java:110) ~[data-migration-gc.jar:?]
at com.vmware.nsx.management.migration.task.group.NsGroupMigrationTask.migrate(NsGroupMigrationTask.java:123) ~[data-migration-gc.jar:?]
at com.vmware.nsx.management.migration.task.group.RealizedNSGroupMigrationTask.migrate(RealizedNSGroupMigrationTask.java:209) ~[data-migration-gc.jar:?]
at com.vmware.nsx.management.migration.ufo.UfoCorfuTableMigrator.customMigration(UfoCorfuTableMigrator.java:214) [data-migration-gc.jar:?]
at com.vmware.nsx.management.migration.ufo.UfoCorfuTableMigrator.migrate(UfoCorfuTableMigrator.java:176) [data-migration-gc.jar:?]
at com.vmware.nsx.management.migration.ufo.UFOMigration.migrate(UFOMigration.java:258) [data-migration-gc.jar:?]
at com.vmware.nsx.management.migration.ufo.UFOMigration.migrate(UFOMigration.java:191) [data-migration-gc.jar:?]
at com.vmware.nsx.management.migration.impl.ProtonMigration.executeMigrations(ProtonMigration.java:57) [data-migration-gc.jar:?]
at com.vmware.nsx.management.migration.impl.Migration.migrate(Migration.java:46) [data-migration-gc.jar:?]
at com.vmware.nsx.management.migration.impl.ProtonMigration.main(ProtonMigration.java:37) [data-migration-gc.jar:?]
The Upgrade Evaluation tool catches the issue and alerts as follows (example run):
dry-run> start dry-run data-migration mp-ip <Manager IP Address>
Root password of the Remote MP node:
Checking ssh connectivity to the MP node <Manager IP Address> with root user...
Checking if nub is unpacked
Nub is already unpacked
Creating a temporary folder on MP <Manager IP Address>
Copy Corfu data to the temporary folder on MP <Manager IP Address>
Copy nsx_issue file to the temporary folder on MP <Manager IP Address>
Create tar of the temporary folder on MP <Manager IP Address>
Delete the temporary folder on MP <Manager IP Address>
Fetching tar containing Corfu data
Delete tar file on MP
Downloaded corfu tgz file of size 21 MB
Loading the fetched Corfu data
Stopping Corfu server
Stopping CBM
Untaring the data
Starting Corfu server
Starting data-migration dry-run
Running.... Please track progress in /var/log/cloudnet/data-migration.log, /var/log/proton/data-migration.log, /var/log/policy/data-migration.log, /var/log/proton/logical-migration.log
*** WARNING: Some pre-upgrade check(s) failed. Do not proceed with the upgrade. Please collect the support bundle and contact VMWare GSS***
NSGroup
VMware NSX-T Data Center
The upgrade script is not equipped to handle the user-created Nsgroup, if the Nsgroup contains a TransportNode complex expression it will fail. For instance if the NSgroup contains both Edge and Host transport nodes.
This issue is fixed in VMware NSX-T Data Center 3.2.1.
Workaround
Simplify the "NSGroupComplexExpression" via API/GUI and re-run the Upgrade Evaluation Tool/Upgrade. NSgroups must only contain a single transport node type.
Steps to Reproduce the issue:
Create an NSgroup with TransportNode complex expression. For Example: Creating an NSgroup where the Transport node is both Edge and Host Node results in NULL after the evaluation since Transport Node be Edge or Host but never both
Impact/Risks:
The Upgrade Evaluation Alerts the customer not to proceed with the Upgrade
or
Upgrade Fails if the Upgrade Evaluation Alerts are not handled.