Upgrade from NSX-T 3.1.3.x fails due to invalid NSService UUID.
search cancel

Upgrade from NSX-T 3.1.3.x fails due to invalid NSService UUID.

book

Article ID: 322566

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

Symptoms:
  • Upgrading from 3.1.3.x to a higher version fails at pre-check due to either or both of the following error(s): image.png
  • In the NSX Manager /var/log/proton/data-migration.log file you see the following error:
2022-11-29T20:04:05.300Z WARN main UfoCorfuTableMigrator 3884 - [nsx@6876 comp="nsx-manager" level="WARNING" subcomp="manager"] ERROR while running custom migration MappingDetails{modelName='com.vmware.nsx.management.groupingobjects.nsservice.model.NSService', migrationType=CUSTOM_MIGRATION, reason='null', customMigratorClassName='com.vmware.nsx.management.migration.task.nsservice.NSServiceMigrationTask', fieldMappings=null, targetProtoName='null', requiresCustomCode='false', owner='null', apiToTest='api/v1/ns-services'} java.lang.IllegalArgumentException: Invalid UUID string: <NSService_UUID>


Environment

VMware NSX-T Data Center 3.x
VMware NSX-T Data Center

Cause

  • This issue occur when validation of the NSService UUID does not occur, thus allowing invalid NSService UUID to be created and resulting in the above Pre check error.
  • This issue could arise also when NSServices are created via the API and an invalid 'id' was passed.

Resolution

This is resolved in NSX-T 3.2.3 available at VMware Downloads.

Workaround:
1. Copy the UUID of the problematic NSService. 
2. Go to home UI page of NSX-T and in the search box paste the NSService UUID. 
3. In the search results you will get the list of entities consuming the NSService. Take a note of these entities, for example they could be DFW rules. 
4. Create a new NSService with same port and protocol information.
5. Modify the entities consuming the NSService from step 3. Remove the reference to the old NSSerivce and point the entity to the new NSService created in step 4
6. Test the entity is working as expected.
7. Delete the old NSService.
Note: If you are using API calls to create the NSService then in the body of API call do not add the id field, IDs are auto generated.