This is a known issue and is Resolved in NSX-T version 4.2.0
Workaround:
If you have Standard NAPP deployment:
On the 3 NSX Managers, edit the below files
/config/vmware/napps/charts/nsxi-platform-standard/files/registration/api_request.py
/config/vmware/napps/charts/nsxi-platform-standard/files/registration/registration.py
Edit all X-NSX-Username references in the above files from being assigned the value of "admin" to your new local admin name
Example:
Before
root@nsx-manager01# grep "X-NSX-Username" /config/vmware/napps/charts/nsxi-platform-standard/files/registration/*
api_request.py: if "X-NSX-Username" not in headers:
api_request.py: headers["X-NSX-Username"] = "admin"
api_request.py: if "X-NSX-Username" not in headers:
api_request.py: headers["X-NSX-Username"] = "admin"
grep: __pycache__: Is a directory
registration.py: header = {'X-NSX-Username': "admin"}
registration.py: header = {'X-NSX-Username': "admin", 'X-Allow-Overwrite': True}
registration.py: headers = {'X-NSX-Username': "admin"}
registration.py: headers = {'X-NSX-Username': "admin", 'X-Allow-Overwrite': True}
After (assuming that you have renamed it "localadmin")
root@nsx-manager01# grep "X-NSX-Username" /config/vmware/napps/charts/nsxi-platform-standard/files/registration/*
api_request.py: if "X-NSX-Username" not in headers:
api_request.py: headers["X-NSX-Username"] = "localadmin"
api_request.py: if "X-NSX-Username" not in headers:
api_request.py: headers["X-NSX-Username"] = "localadmin"
grep: __pycache__: Is a directory
registration.py: header = {'X-NSX-Username': "localadmin"}
registration.py: header = {'X-NSX-Username': "localadmin", 'X-Allow-Overwrite': True}
registration.py: headers = {'X-NSX-Username': "localadmin"}
registration.py: headers = {'X-NSX-Username': "localadmin", 'X-Allow-Overwrite': True}
Click "Retry" on NAPP installation UI screen, after which the installation should complete successfully.
If you have Advanced NAPP deployment:
On the 3 NSX Managers, edit the below files
/config/vmware/napps/charts/nsxi-platform-advanced/files/registration/api_request.py
/config/vmware/napps/charts/nsxi-platform-advanced/files/registration/registration.py
Edit all X-NSX-Username references in the above file from being assigned the value of "admin" to your new local admin name
Example:
Before
root@nsx-manager01# grep "X-NSX-Username" /config/vmware/napps/charts/nsxi-platform-advanced/files/registration/*
api_request.py: if "X-NSX-Username" not in headers:
api_request.py: headers["X-NSX-Username"] = "admin"
api_request.py: if "X-NSX-Username" not in headers:
api_request.py: headers["X-NSX-Username"] = "admin"
grep: __pycache__: Is a directory
registration.py: header = {'X-NSX-Username': "admin"}
registration.py: header = {'X-NSX-Username': "admin", 'X-Allow-Overwrite': True}
registration.py: headers = {'X-NSX-Username': "admin"}
registration.py: headers = {'X-NSX-Username': "admin", 'X-Allow-Overwrite': True}
After (assuming that you have renamed it "localadmin")
root@nsx-manager01# grep "X-NSX-Username" /config/vmware/napps/charts/nsxi-platform-advanced/files/registration/*
api_request.py: if "X-NSX-Username" not in headers:
api_request.py: headers["X-NSX-Username"] = "localadmin"
api_request.py: if "X-NSX-Username" not in headers:
api_request.py: headers["X-NSX-Username"] = "localadmin"
grep: __pycache__: Is a directory
registration.py: header = {'X-NSX-Username': "localadmin"}
registration.py: header = {'X-NSX-Username': "localadmin", 'X-Allow-Overwrite': True}
registration.py: headers = {'X-NSX-Username': "localadmin"}
registration.py: headers = {'X-NSX-Username': "localadmin", 'X-Allow-Overwrite': True}
Click "Retry" on NAPP installation UI screen, after which the installation should complete successfully.