Control: tag -1 + patch
Hi,

So it turns out that the problem is a missing dependency on udev. You
see, there is no point if having udev installed in a cointainer, so it's
usually not.

root@test:~# systemctl status ifupdown-pre
● ifupdown-pre.service - Helper to synchronize boot up for ifupdown
   Loaded: loaded (/lib/systemd/system/ifupdown-pre.service; static; vendor 
preset: enabled)
   Active: failed (Result: exit-code) since Fri 2018-05-25 12:15:55 UTC; 1min 
21s ago
  Process: 37 ExecStart=/bin/sh -c if [ "$CONFIGURE_INTERFACES" != "no" ] && [ 
-n "$(ifquery --read-environment --list --exclude=lo)" ]; then udevadm settle; 
fi (code
=exited, status=127)
 Main PID: 37 (code=exited, status=127)

May 25 12:15:55 test sh[37]: /bin/sh: 1: udevadm: not found


I could "fix" this with:

root@test:~# ln -s /bin/true /bin/udevadm
root@test:~# reboot

of course this is not great. The attached patch fixes the issue
From d2f8480107882f65ff72607bec7504174cec8855 Mon Sep 17 00:00:00 2001
From: Antonio Terceiro <terce...@debian.org>
Date: Fri, 25 May 2018 09:23:08 -0300
Subject: [PATCH] ifupdown-pre.service: only call udevadm if present

---
 debian/ifupdown-pre.service | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/ifupdown-pre.service b/debian/ifupdown-pre.service
index b6602ad..07410ea 100644
--- a/debian/ifupdown-pre.service
+++ b/debian/ifupdown-pre.service
@@ -10,4 +10,4 @@ Type=oneshot
 TimeoutSec=180
 RemainAfterExit=yes
 EnvironmentFile=-/etc/default/networking
-ExecStart=/bin/sh -c 'if [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ]; then udevadm settle; fi'
+ExecStart=/bin/sh -c 'if [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ] && [ -x /bin/udevadm ]; then udevadm settle; fi'
-- 
2.17.0

Attachment: signature.asc
Description: PGP signature

Reply via email to