NSX-T host configuration shows Validation Errors with error code "9564"
search cancel

NSX-T host configuration shows Validation Errors with error code "9564"

book

Article ID: 322465

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

  • Hosts show the following  Validation Error in NSX-T UI under: System > Fabric > Nodes> Host Transport Nodes > NSX Configuration:
9564: Unable to fetch host hardware and network compute information associated with <Host UUID> from inventory. Either the CM-Inventory Service is not running, or inventory information is missing.
  • The following log entries are seen in the NSX-T manager /var/log/proton/nsxapi.log:
INFO http-nio-127.0.0.1-7440-exec-9 TransportNodeProfileUtilImpl 6005 FABRIC [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager" username="admin"] Record validation error in TNC for discovered node xxxxxxxx-4a90-11ee-af84-xxxxxxxxxxxx:host-xxxxx message : Unable to fetch host hardware and network compute information associated with xxxxxxxx-4a90-11ee-af84-xxxxxxxxxxxx from inventory. Either the CM-Inventory Service is not running, or inventory information is missing.
  • The below API's show CM service is up and service account true:

GET https://<NSX-Manager-IP>/api/v1/fabric/compute-managers/<CM-id>
GET https://<NSX-Manager-IP>/api/v1/fabric/compute-managers/<CM-id>/status

Environment

VMware NSX-T Data Center
VMware NSX

Cause

Hosts are unable to fetch inventory information from vCenter.

Resolution

This issue is resolved in VMware NSX 4.2

Workaround:
To work around this issue, you can proceed with the following steps:

  • For Networking and Security Cluster:
    1. Detach the Transport node Profile (TNP) from cluster.(select cluster > Actions > Detach Transport Node Profile)
    2. Wait for the detachment to complete.
    3. Attach the same TNP back to the cluster. (select cluster > Configure NSX > select the same Transport Node Profile
  • For Security-only prepared cluster:
    1. Execute the below GET API call for the impacted transport node:

      GET https://<NSX-Manager-IP>/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes/<transport-node-id>
      ...
      "id": "65120c2a-####-####-####-0050569d8fcf",
      "display_name": "10.92.162.148", -->> This is the display_name needed for step 2
      "path": "/infra/sites/default/enforcement-points/default/host-transport-nodes/65120c2a-####-####-####-0050569d8fcf",
      ...


    2. Edit the response received on step 1, and make some change to the "display_name" field. You can simply add some characters, which can be changed back later. Then run the below PUT API, with adding the entire edited response (with the new display_name) as the body for the PUT API:

      PUT https://<NSX-Manager-IP>//policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes/<transport-node-id>

      Note: Updating the "display_name" field will reinitiate the Transport Node intent validation and remove the validation errors for the host once validation is passed.

Note: If the cluster where you are detaching the TNP from has a sub cluster, when you attach the TNP back to the cluster, you will also need to attachethe correct sub cluster TNP back.