The NSX configuration status for the transport nodes is showing as "failed or "Partial success"
search cancel

The NSX configuration status for the transport nodes is showing as "failed or "Partial success"

book

Article ID: 382337

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction


The ESXi transport node configuration fails with the following error message and code:


"failure_message": "Host configuration: Caught MessagingException during host config stage. [TN=TransportNode/xxxxx]. Reason: MessagingException LogicalSwitch full-sync: LogicalSwitch full-sync realization query skipped.",  "failure_code": 8804  

 

Upon analyzing the ESXi logs, the issue is observed during the applyDVS call, where the SaveDVPorts operation takes an unusually long time 

Relevant log excerpts from ESXi  hostd logs (/var/log/hostd.log)


2024-10-04T05:32:39.303Z warning hostd[53741607] [Originator@6876 sub=Hostsvc.NetworkProvider opID=c2a53649 user=nsx-user] Skip saving  dvport Datacenter-dvs-xxxxxxxxxxxxxxxxxx to : filePath empty
2024-10-04T05:32:39.303Z warning hostd[53741607] [Originator@6876 sub=Hostsvc.NetworkProvider opID=c2a53649 user=nsx-user] Skip saving  dvport Datacenter-dvsxxxxxxxxxxxxxxxx to : filePath empty
2024-10-04T05:35:01.731Z warning hostd[53741607] [Originator@6876 sub=Hostsvc.NetworkProvider opID=c2a53649 user=nsx-user] SaveDVPorts:Datacenter-dvs took 142430ms, 00:02:22.430854 (hh:mm:ss.us).
2024-10-04T05:35:01.732Z info hostd[2168106] [Originator@6876 sub=Hostsvc.DvsTracker opID=c2a53649] HandleDvsUpdate called
2024-10-04T05:35:12.343Z error hostd[2102252] [Originator@6876 sub=Hostsvc.HostSpecTracker opID=c2a53649] AddDvsToHostSpec : object not found/hostspec disabled

Environment

VMware ESXi 

Cause

The issue occurs on the ESXi side, where the hostd process attempts to access a non-existent port file.
During the PersistAllDvsInfo operation, the system saves all Distributed Virtual Switch (DVS) information along with the DVPorts. If a port is associated with a VM, its configuration is stored in the VM directory.

When the VM is destroyed, the corresponding port is not immediately removed and is recycled after 5 minutes. This creates a time window during which hostd may attempt to access the VM directory, even though the VM has already been destroyed.

The PersistAllDvsInfo operation is invoked in the following scenarios:
 

  • When a DVS is created.
  • When a DVS is modified.
  • When a user explicitly requests the DVS information to be persisted using the net-dvs command.

Resolution

This issue is resolved in ESXi version 8.0 GA and later.
With the fix, the applyDVS API no longer attempts to save unnecessary DVPort files, thereby preventing the issue.