NSX Hosts upgrade fail with "Unexpected error while upgrading upgrade unit: No DUI found for hostTnId"
search cancel

NSX Hosts upgrade fail with "Unexpected error while upgrading upgrade unit: No DUI found for hostTnId"

book

Article ID: 397818

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

During NSX upgrade in version 4.2.2.x, the host upgrade fails immediately with the following message: 

  • Hosts upgrade has failed. check error details to determine if manual resolution is needed and Retry Upgrade

Upon clicking on the "Failed" message in the NSX upgrade page, you see the following details:

  • Unexpected error while upgrading upgrade unit: No DUI found for hostTnId <UUID>

Retrying the NSX upgrade does not resolve the issue.

 

Environment

VMware NSX 4.2.x

Cause

The Fabric module entry is missing the field “FabricModuleType”

"fabric_module_type": "HOST_PREP"

Resolution

This is a known issue impacting VMware NSX in version 4.2.2.x and has been resolved in VMware NSX 4.2.3

Workaround:

  1. SSH into any one of the NSX manager as "admin" user
  2. Enter engineering mode and supply the root password: st en
  3. In the root shell run the following command:
    • /opt/vmware/bin/corfu_tool_runner.py --tool corfu-editor -n nsx -t FabricModule -o showTable > /image/FabricModule.txt && grep hostprep -B3  /image/FabricModule.txt
  4. Copy the UUID highlight from the output of above command after "displayName"
    • Example:
    • "managedResource": {
          "displayName": "<UUID-COPY-ME>"
        },
  5. Run the following API call against any NSX Manager 
    • GET https://<NSX-Manager-IP>/api/v1/fabric/modules/<UUID-FROM-ABOVE-COMMAND>
  6. Confirm from the above API output that there is no "fabric_module_type" is found
  7. Copy the entire output to a notepad then add the following line into the text:
    • "fabric_module_type": "HOST_PREP",
  8. For example (near the end of the text):
    • "source_authentication_mode": "NO_AUTHENTICATION",
      "fabric_module_type": "HOST_PREP",
      "resource_type": "FabricModule",
  9. Copy the newly modified output and use it as the body of the request and run the following API call:
    • PUT https://<NSX-Manager-IP>/api/v1/fabric/modules/<UUID-FROM-ABOVE-COMMAND>
  10. Once the manager responds with status 200, the change is accepted then restart the upgrade process from NSX UI