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 Networking

Issue/Introduction

Symptoms:
  • Hosts show the below 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 65120c2a-4a90-11ee-af84-0050569d8fcf:host-29836 message : Unable to fetch host hardware and network compute information associated with 65120c2a-4a90-11ee-af84-0050569d8fcf 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

Cause

Hosts are unable to fetch inventory information from vCenter.

Resolution

This is a known issue impacting NSX-T Data Center.

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-4a90-11ee-af84-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-4a90-11ee-af84-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.