[Bug 2063973] [NEW] network-online.target is reached before netplan-configured interfaces are online

Lucas Nussbaum 2063973 at bugs.launchpad.net
Sat Apr 27 22:10:27 UTC 2024


Public bug reported:

Hi,

Running Ubuntu 24.04 with netplan.io/netplan-generator 1.0-2ubuntu1.

I use a systemd unit to mount an NFS filesystem. That unit should only
be activated when the network is ready. However, it looks like network-
online.target is reached before netplan-configured interfaces are up, so
the unit triggers too early and sometimes fail (because it cannot
resolve the name of the remote server).

I configured netplan manually with:
```
# cat /etc/netplan/01-netcfg.yaml 
---
network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: true
```

I see the following during boot:

```
Apr 27 23:31:28 localhost systemd[1]: Starting systemd-networkd.service - Network Configuration...
Apr 27 23:31:28 localhost systemd-networkd[1190]: lo: Link UP
Apr 27 23:31:28 localhost systemd-networkd[1190]: lo: Gained carrier
Apr 27 23:31:28 localhost systemd-networkd[1190]: Enumeration completed
Apr 27 23:31:28 localhost systemd-networkd[1190]: eno1: Configuring with /run/systemd/network/10-netplan-eno1.network.
Apr 27 23:31:28 localhost systemd[1]: Started systemd-networkd.service - Network Configuration.
Apr 27 23:31:28 localhost systemd[1]: Reached target network.target - Network.
Apr 27 23:31:28 localhost systemd[1]: systemd-networkd-wait-online.service - Wait for Network to be Configured was skipped because of an unmet condition check (ConditionPathIsSymbolicLink=/run/systemd/generator/network-online.target.wants/systemd-networkd-wait-online.service).
Apr 27 23:31:28 localhost systemd[1]: Reached target network-online.target - Network is Online.
Apr 27 23:31:28 localhost systemd[1]: Reached target remote-fs-pre.target - Preparation for Remote File Systems.
Apr 27 23:31:28 localhost systemd[1]: Mounting grid5000.mount - /grid5000...
Apr 27 23:31:28 localhost systemd-networkd[1190]: eno1: Link UP
Apr 27 23:31:28 localhost systemd-networkd[1190]: eno1: Gained carrier
Apr 27 23:31:28 localhost systemd-networkd[1190]: eno1: DHCPv4 address 172.16.66.53/20, gateway 172.16.79.254 acquired from 172.16.79.107
Apr 27 23:31:28 localhost systemd[1]: Starting networkd-dispatcher.service - Dispatcher daemon for systemd-networkd...
Apr 27 23:31:29 gros-53 systemd[1]: Starting rpc-statd.service - NFS status monitor for NFSv2/3 locking....
Apr 27 23:31:29 gros-53 rpc.statd[1439]: Version 2.6.4 starting
Apr 27 23:31:29 gros-53 rpc.statd[1439]: Flags: TI-RPC
Apr 27 23:31:29 gros-53 rpc.statd[1439]: Failed to read /var/lib/nfs/state: Success
Apr 27 23:31:29 gros-53 rpc.statd[1439]: Initializing NSM state
Apr 27 23:31:29 gros-53 systemd[1]: Started rpc-statd.service - NFS status monitor for NFSv2/3 locking..
Apr 27 23:31:29 gros-53 mount[1441]: Created symlink /run/systemd/system/remote-fs.target.wants/rpc-statd.service → /usr/lib/systemd/system/rpc-statd.service.
Apr 27 23:31:29 gros-53 systemd[1]: Reloading requested from client PID 1441 ('systemctl') (unit grid5000.mount)...
Apr 27 23:31:29 gros-53 systemd[1]: Reloading...
Apr 27 23:31:30 gros-53 systemd[1]: Reloading finished in 194 ms.
Apr 27 23:31:30 gros-53 systemd[1]: Mounted grid5000.mount - /grid5000.
Apr 27 23:31:30 gros-53 nfsrahead[1497]: setting /grid5000 readahead to 128


The key message here seems to be:
Apr 27 23:31:28 localhost systemd[1]: systemd-networkd-wait-online.service - Wait for Network to be Configured was skipped because of an unmet condition check (ConditionPathIsSymbolicLink=/run/systemd/generator/network-online.target.wants/systemd-networkd-wait-online.service).
Why doesn't netplan generate that symlink? It seems it does generate it, but only later, when systemd reloads at 23:31:29 (according to 'stat' on the symlink).


It worked fine with Ubuntu 22.04:
"systemd[1]: Reached target Network is Online."
only appears after the interface got configured via DHCP.

ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: netplan.io 1.0-2ubuntu1
ProcVersionSignature: Ubuntu 6.8.0-31.31-generic 6.8.1
Uname: Linux 6.8.0-31-generic x86_64
ApportVersion: 2.28.1-0ubuntu2
Architecture: amd64
CasperMD5CheckResult: pass
Date: Sat Apr 27 23:50:37 2024
InstallationDate: Installed on 2024-04-26 (1 days ago)
InstallationMedia: Ubuntu-Server 24.04 LTS "Noble Numbat" - Release amd64 (20240423)
ProcEnviron:
 LANG=en_US.UTF-8
 PATH=(custom, no user)
 SHELL=/bin/bash
 TERM=xterm
 XDG_RUNTIME_DIR=<set>
SourcePackage: netplan.io
UpgradeStatus: No upgrade log present (probably fresh install)

** Affects: netplan.io (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug noble

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to netplan.io in Ubuntu.
Matching subscriptions: foundations-bugs
https://bugs.launchpad.net/bugs/2063973

Title:
  network-online.target is reached before netplan-configured interfaces
  are online

Status in netplan.io package in Ubuntu:
  New

Bug description:
  Hi,

  Running Ubuntu 24.04 with netplan.io/netplan-generator 1.0-2ubuntu1.

  I use a systemd unit to mount an NFS filesystem. That unit should only
  be activated when the network is ready. However, it looks like
  network-online.target is reached before netplan-configured interfaces
  are up, so the unit triggers too early and sometimes fail (because it
  cannot resolve the name of the remote server).

  I configured netplan manually with:
  ```
  # cat /etc/netplan/01-netcfg.yaml 
  ---
  network:
    version: 2
    renderer: networkd
    ethernets:
      eno1:
        dhcp4: true
  ```

  I see the following during boot:

  ```
  Apr 27 23:31:28 localhost systemd[1]: Starting systemd-networkd.service - Network Configuration...
  Apr 27 23:31:28 localhost systemd-networkd[1190]: lo: Link UP
  Apr 27 23:31:28 localhost systemd-networkd[1190]: lo: Gained carrier
  Apr 27 23:31:28 localhost systemd-networkd[1190]: Enumeration completed
  Apr 27 23:31:28 localhost systemd-networkd[1190]: eno1: Configuring with /run/systemd/network/10-netplan-eno1.network.
  Apr 27 23:31:28 localhost systemd[1]: Started systemd-networkd.service - Network Configuration.
  Apr 27 23:31:28 localhost systemd[1]: Reached target network.target - Network.
  Apr 27 23:31:28 localhost systemd[1]: systemd-networkd-wait-online.service - Wait for Network to be Configured was skipped because of an unmet condition check (ConditionPathIsSymbolicLink=/run/systemd/generator/network-online.target.wants/systemd-networkd-wait-online.service).
  Apr 27 23:31:28 localhost systemd[1]: Reached target network-online.target - Network is Online.
  Apr 27 23:31:28 localhost systemd[1]: Reached target remote-fs-pre.target - Preparation for Remote File Systems.
  Apr 27 23:31:28 localhost systemd[1]: Mounting grid5000.mount - /grid5000...
  Apr 27 23:31:28 localhost systemd-networkd[1190]: eno1: Link UP
  Apr 27 23:31:28 localhost systemd-networkd[1190]: eno1: Gained carrier
  Apr 27 23:31:28 localhost systemd-networkd[1190]: eno1: DHCPv4 address 172.16.66.53/20, gateway 172.16.79.254 acquired from 172.16.79.107
  Apr 27 23:31:28 localhost systemd[1]: Starting networkd-dispatcher.service - Dispatcher daemon for systemd-networkd...
  Apr 27 23:31:29 gros-53 systemd[1]: Starting rpc-statd.service - NFS status monitor for NFSv2/3 locking....
  Apr 27 23:31:29 gros-53 rpc.statd[1439]: Version 2.6.4 starting
  Apr 27 23:31:29 gros-53 rpc.statd[1439]: Flags: TI-RPC
  Apr 27 23:31:29 gros-53 rpc.statd[1439]: Failed to read /var/lib/nfs/state: Success
  Apr 27 23:31:29 gros-53 rpc.statd[1439]: Initializing NSM state
  Apr 27 23:31:29 gros-53 systemd[1]: Started rpc-statd.service - NFS status monitor for NFSv2/3 locking..
  Apr 27 23:31:29 gros-53 mount[1441]: Created symlink /run/systemd/system/remote-fs.target.wants/rpc-statd.service → /usr/lib/systemd/system/rpc-statd.service.
  Apr 27 23:31:29 gros-53 systemd[1]: Reloading requested from client PID 1441 ('systemctl') (unit grid5000.mount)...
  Apr 27 23:31:29 gros-53 systemd[1]: Reloading...
  Apr 27 23:31:30 gros-53 systemd[1]: Reloading finished in 194 ms.
  Apr 27 23:31:30 gros-53 systemd[1]: Mounted grid5000.mount - /grid5000.
  Apr 27 23:31:30 gros-53 nfsrahead[1497]: setting /grid5000 readahead to 128

  
  The key message here seems to be:
  Apr 27 23:31:28 localhost systemd[1]: systemd-networkd-wait-online.service - Wait for Network to be Configured was skipped because of an unmet condition check (ConditionPathIsSymbolicLink=/run/systemd/generator/network-online.target.wants/systemd-networkd-wait-online.service).
  Why doesn't netplan generate that symlink? It seems it does generate it, but only later, when systemd reloads at 23:31:29 (according to 'stat' on the symlink).

  
  It worked fine with Ubuntu 22.04:
  "systemd[1]: Reached target Network is Online."
  only appears after the interface got configured via DHCP.

  ProblemType: Bug
  DistroRelease: Ubuntu 24.04
  Package: netplan.io 1.0-2ubuntu1
  ProcVersionSignature: Ubuntu 6.8.0-31.31-generic 6.8.1
  Uname: Linux 6.8.0-31-generic x86_64
  ApportVersion: 2.28.1-0ubuntu2
  Architecture: amd64
  CasperMD5CheckResult: pass
  Date: Sat Apr 27 23:50:37 2024
  InstallationDate: Installed on 2024-04-26 (1 days ago)
  InstallationMedia: Ubuntu-Server 24.04 LTS "Noble Numbat" - Release amd64 (20240423)
  ProcEnviron:
   LANG=en_US.UTF-8
   PATH=(custom, no user)
   SHELL=/bin/bash
   TERM=xterm
   XDG_RUNTIME_DIR=<set>
  SourcePackage: netplan.io
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/2063973/+subscriptions




More information about the foundations-bugs mailing list