Netplan/Systemd/Cloud-init/Dbus Race
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Expired
|
High
|
James Falcon | ||
netplan |
Triaged
|
Wishlist
|
Lukas Märdian | ||
systemd (Ubuntu) |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
Cloud-init is seeing intermittent failures while running `netplan apply`, which appears to be caused by a missing resource at the time of call.
The symptom in cloud-init logs looks like:
Running ['netplan', 'apply'] resulted in stderr output: Failed to connect system bus: No such file or directory
I think that this error[1] is likely caused by cloud-init running netplan apply too early in boot process (before dbus is active).
Today I stumbled upon this error which was hit in MAAS[2]. We have also hit it intermittently during tests (we didn't have a reproducer).
Realizing that this may not be a cloud-init error, but possibly a dependency bug between dbus/systemd we decided to file this bug for broader visibility to other projects.
I will follow up this initial report with some comments from our discussion earlier.
[1] https:/
[2] https:/
Changed in cloud-init: | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in cloud-init: | |
assignee: | nobody → James Falcon (falcojr) |
status: | Triaged → In Progress |
Changed in netplan: | |
assignee: | nobody → Lukas Märdian (slyon) |
Changed in systemd (Ubuntu): | |
status: | Confirmed → Triaged |
importance: | Undecided → Wishlist |
Some details from a conversation with Chad, James, and Vorlon.
`netplan apply` is executed in cloud-init.service, which runs network- online. target` but `After= systemd- networkd- wait-online. service` .
`Before=
There is may be a dependency bug between dbus and systemd-networkd because systemd-networkd is a dbus service so when it's "up" it should be accessible over dbus.
Should cloud-init or systemd- networkd- wait-online. service require being ordered after dbus.service?