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
VMware ESXi
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:
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.