Skip to content

ovsdb-server.service Warning and Network Timeout After Upgrade ​

Problem Statement ​

After updating Ubuntu systems with apt upgrade and rebooting, many users encounter two related issues:

  1. OVSDB Service Warning:
    When applying network configurations with sudo netplan apply, the system outputs:

    none
    WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running.

    This occurs despite Open vSwitch (OVS) never being installed.

  2. Network Configuration Timeout:
    The systemd-networkd-wait-online.service fails with a timeout:

    none
    × systemd-networkd-wait-online.service - Wait for Network to be Configured
      Active: failed (Result: timeout)

    This happens even though Ethernet/Wi-Fi interfaces obtain valid IP addresses.

These issues are caused by:

  • A known bug in netplan that incorrectly checks for OVS
  • Overly broad network interface waiting logic in systemd
  • Specific package interactions in recent Ubuntu updates

Solutions ​

1. Resolving OVSB Server Warning ​

bash
sudo apt update
sudo apt install openvswitch-switch
sudo netplan apply  # Verify warning disappears

For Raspberry Pi Systems: ​

bash
sudo apt install linux-modules-extra-raspi
sudo apt install openvswitch-switch
sudo netplan try

If you prefer not to install OVS, ignore the harmless warning (bug fix pending).


2. Fixing Network Timeout Failure ​

Modify the wait service to target only essential interfaces:

Step 1: Find Active Interfaces ​

bash
ip a

Identify critical interfaces (e.g., eth0, wlan0)

Step 2: Create Service Override ​

bash
sudo mkdir -p /etc/systemd/system/systemd-networkd-wait-online.service.d
sudo nano /etc/systemd/system/systemd-networkd-wait-online.service.d/override.conf

Add this configuration (adapt interfaces as needed):

ini
[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=eth0 --interface=wlan0
TimeoutStartSec=30sec

Step 3: Apply Changes ​

bash
sudo systemctl daemon-reload
sudo systemctl restart systemd-networkd-wait-online.service
sudo systemctl status systemd-networkd-wait-online.service  # Verify active status

Alternative Network Wait Approach ​

To skip waiting entirely (not recommended for servers):

bash
sudo systemctl mask systemd-networkd-wait-online.service

Explanation ​

Why Does This Happen? ​

  1. OVS Warning Bug
    Recent netplan updates contain a defect that incorrectly checks for OVS database services, triggering false warnings.

  2. Network Timeout Causes
    The default systemd-networkd-wait-online.service waits for all interfaces, including:

    • Dormant virtual interfaces
    • Disconnected ports
    • Non-essential devices
      This causes unnecessary timeouts.

Best Practice Recommendations ​

  1. Prefer Targeted Interface Waiting
    Constraining --interface to essential connections aligns with the Ubuntu 22.04+ recommendation for headless servers.

  2. Adjust Timeouts Conservatively
    30sec works for most systems - increase only if using complex network topologies.

  3. Monitor Bug Fixes
    Track Launchpad Bug #2041727 for native resolution of OVS warnings.


Verification ​

Confirm both issues are resolved with:

bash
sudo netplan apply  # Should show no warnings
systemctl status systemd-networkd-wait-online.service  # Should show active

Important: After fixing, reboot once to confirm persistence:

bash
sudo reboot