After VM's fail to migrate, for example, after vSphere HA failover fails due to insufficient resources, you might experience those symptoms.
<date/time>| vcpu-0| I005: VMXNET3 user: failed to connect Ethernet1 to network xxxxxxx-1222-4d2a-bfa5-xxxxxxxxxxxx. <date/time>| vcpu-0| I005: Msg_Post: Warning <date/time>| vcpu-0| I005: [msg.device.startdisconnected] Virtual device 'Ethernet0' will start disconnected. ... <date/time> In(05) vcpu-0 - [msg.ethernet.vlance.connectFailed] Failed to connect 'ethernet0'.
Due to the current design of VMware NSX, external id may be cleared from the ports after VM migration failure.
vNICs are disconnected from such ports.
On the destination host, VMs are unregistered if migration fails.
NSX ports are detached on unregistering and the external id is cleared from ports. The result is written to the port files in the same storage as the VMs.
Later on, when VMs try to connect to the VMware NSX ports on the source host, it reads the port files, but it has been detached on another host.
As a result, such vNICs are disconnected.
Ports without external id are cleaned up by a periodic script on ESXi.
If the script finds the external id is cleared, it deletes the ports.
After the ports are deleted, it fails to manually connect the vNICs again.
Manually connect the disconnected vNICs.
If it fails, connect the disconnected vNICs to another portgroup and then connect it back to the original VMware NSX segment.
It creates new VMware NSX ports and vNICs are attached successfully.
VMs lose network communication.