vCenter Server Appliance (VCSA) Displays "No Compatible Network Adapter Found" After Reboot, eth0 Interface Missing
search cancel

vCenter Server Appliance (VCSA) Displays "No Compatible Network Adapter Found" After Reboot, eth0 Interface Missing

book

Article ID: 415940

calendar_today

Updated On:

Products

VCF Operations/Automation (formerly VMware Aria Suite)

Issue/Introduction

After rebooting a vCenter Server Appliance (VCSA), the Direct Console User Interface (DCUI) displays the error message: "no compatible network adapter found". This error prevents users from configuring or monitoring the network settings directly from the console. When checking the VCSA's network configuration via SSH or console, the primary network interface (vmxnet3) is found to be named eno1 (or similar, like ensXXX) instead of the traditional eth0. Despite eno1 potentially having a valid IP address and allowing SSH/VAMI (Appliance Management Interface) access, the DCUI specifically reports the absence of a compatible network adapter. This behavior typically arises after maintenance activities, such as taking offline snapshots, applying updates, or a general reboot, where previously the vCenter Server functioned without issue.

Environment

VMware vCenter Server Appliance (VCSA)

Dell VxRail 

Cause

The underlying operating system for the vCenter Server Appliance, Photon OS (like many modern Linux distributions), utilizes Predictable Network Interface Names (PNIN). During the boot process, a udev rule (e.g., /usr/lib/udev/rules.d/60-net.rules) and associated systemd.link configurations are designed to automatically rename network interfaces based on their hardware characteristics (such as PCI bus ID or MAC address). Specifically, the vmxnet3 virtual network adapter, which is initially identified by the Linux kernel as eth0, is subsequently renamed to a predictable name like eno1 by these rules. The vCenter Server Appliance's DCUI, however, is often developed with a hardcoded dependency or expectation for the traditional eth0 interface name. When the DCUI fails to find an interface explicitly named eth0, it reports the "no compatible network adapter found" error, regardless of whether network connectivity is actually available through the renamed eno1 interface. This is a common conflict between modern Linux interface naming conventions and application-specific expectations.

Resolution

To resolve this, the vmxnet3 network adapter must be consistently named eth0 by overriding the default predictable naming rules. The recommended and most robust approach for Photon OS is to use a systemd.link file, which is processed early in the boot sequence.

Steps to Force eth0 Naming

  1. Access VCSA Console: Open the vSphere Client and access the VCSA's console. If the DCUI shows the error, press Alt + F1 (or Alt + F2) to switch to a shell prompt. Log in as root.
  2. Identify MAC Address:
    • Determine the MAC address of the network adapter currently named eno1.
    • Execute the following command:
      ip a show eno1
    • Look for the link/ether line (e.g., link/ether XX:XX:XX:XX:XX:XX). Note down this MAC address (XX:XX:XX:XX:YY:ZZ) as it is required for the next step.
  3. Create systemd.link File:
    • Create a new configuration file to explicitly name the interface. The 10- prefix ensures this rule is processed very early, taking precedence over default naming schemes.
    • Execute the following command to open the editor:
      vi /etc/systemd/network/10-persistent-eth0.link
  4. Add Configuration to File:
    • Insert the following content into the file. Remember to replace XX:XX:XX:XX:XX:XX with the actual MAC address obtained in Step 2.
      [Match]
      MACAddress=XX:XX:XX:XX:XX:XX # IMPORTANT: Replace with the actual MAC address
      [Link]
      Name=eth0
    • Save and exit the vi editor (:wq).
  5. Verify 10-eth0.network:
    • Ensure the primary network configuration file /etc/systemd/network/10-eth0.network exists and is correctly configured for your vCenter's IP address (static or DHCP). This file should automatically apply to eth0 once the naming is fixed. If this file was modified or deleted, it might need to be recreated or corrected via vami_config_net or the VAMI web interface.
    • You can view its content with:
      cat /etc/systemd/network/10-eth0.network
    • Example for Static IP (adjust values as per your environment):
      [Match]
      Name=eth0
      [Network]
      Address=###.###.###.###/24 # Your vCenter IP and CIDR
      Gateway=###.###.###.### # Your Gateway IP
      DNS=###.###.###.### # Your DNS Server
      Domains=########.local # Optional
    • Example for DHCP:
      [Match]
      Name=eth0
      [Network]
      DHCP=ipv4
  6. Reload Systemd and Reboot:
    • Execute the following commands to apply changes and reboot the appliance:
      systemctl daemon-reload
      reboot

Verification After Reboot

  1. Check DCUI: After the VCSA reboots, access its console. The "no compatible network adapter found" error should be gone, and the DCUI should correctly display eth0 with its network configuration.
  2. Verify Interface Name: Log in via SSH or console and execute ip a. Confirm that the primary network interface is now named eth0 and has the correct IP address.
  3. Verify Network Connectivity:
    • Ping your default gateway, DNS servers, and at least one ESXi host to confirm basic network reachability.
    • Run nslookup <your_vcenter_hostname> to verify DNS resolution.
  4. Check VCSA Services and Health:
    • Execute the following command to ensure all critical vCenter services are running:
      service-control --status --all
    • Access the VCSA Management Interface (VAMI) at https://<vCenter_IP>:5480 and log in as root. Check the "Summary" tab for overall health status (CPU, Memory, Storage, Database, Swap).
    • Log in to the vSphere Client (https://<vCenter_IP>) to confirm vCenter connectivity, host status, and the ability to perform basic operations.