reassign 899002 ifupdown 0.8.19 thanks Hi Michael,
Am Freitag, den 18.05.2018, 21:23 +0200 schrieb Michael Biebl: > Am 18.05.2018 um 19:22 schrieb Benjamin Drung: > > Am Freitag, den 18.05.2018, 13:14 -0400 schrieb Felipe Sateler: > > > Control: tags -1 moreinfo > > > On Fri, May 18, 2018 at 8:57 AM Benjamin Drung <benjamin.drung@pr > > > ofit > > > bricks.com> wrote: > > > > $ systemctl cat [email protected] > > > > # /lib/systemd/system/[email protected] > > > > Before=sysinit.target > > > > > > Before=network-pre.target > > > > > > # Orders all kernel module startup before rdma-hw.target can > > > > become > > > > # ready > > > > Before=rdma-hw.target > > All those Before orderings can not be guaranteed, if > [email protected] is started via a udev rule (dynamically). > > udev can trigger the start of that service at any time during boot > when > those targets are already active and systemd can't know that it has > to > wait for [email protected] as it doesn't have that > information when it computes the initial boot transaction. > > So this is really a problem of how [email protected] and > rdma-hw.target are implemented. They are not going to work like you > expected it to work, i.e. having a rdma-hw.target which other units > can > order itself against reliably. Thanks for the explanation. The networking service starts before [email protected] which is triggered by udev. The networking service should not attempt to do udevadm settle internally, but it must depend on systemd-udev- settle.service. The reason is due to how systemd scheduals ordering. Once it starts running networking.service 'ExecStartPre' it will not re-consider order past that point. So any activations done by udev while settling have no impact on networking.service at all. So ifupdown's networking.service should depend on systemd-udev- settle.service. A successfully tested patch is attached and a merge proposed is opened for it: https://salsa.debian.org/debian/ifupdown/merge_requests/1 -- Benjamin Drung System Developer Debian & Ubuntu Developer ProfitBricks GmbH Greifswalder Str. 207 10405 Berlin Email: [email protected] URL: https://www.profitbricks.de Sitz der Gesellschaft: Berlin Registergericht: Amtsgericht Charlottenburg, HRB 125506 B Geschäftsführer: Achim Weiss, Matthias Steinberg, Christoph Steffens
From 07f2b7303f02ffc40ac7768f69cf9002990be204 Mon Sep 17 00:00:00 2001 From: Benjamin Drung <[email protected]> Date: Tue, 22 May 2018 11:52:24 +0200 Subject: [PATCH] Depend on systemd-udev-settle.service in networking.service udev rules trigger [email protected] (which loads the ib_ipoib kernel module) which should run before networking.service. The networking service should not attempt to do udevadm settle internally, but it must depend on systemd-udev-settle.service instead. The reason is due to how systemd scheduals ordering. Once it starts running networking.service 'ExecStartPre' it will not re-consider order past that point. So any activations done by udev while settling have no impact on networking.service at all. Closes: #899002 Signed-off-by: Benjamin Drung <[email protected]> --- debian/networking.service | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/networking.service b/debian/networking.service index f5e5bcd..1d72d42 100644 --- a/debian/networking.service +++ b/debian/networking.service @@ -2,8 +2,9 @@ Description=Raise network interfaces Documentation=man:interfaces(5) DefaultDependencies=no +Requires=systemd-udev-settle.service Wants=network.target -After=local-fs.target network-pre.target apparmor.service systemd-sysctl.service systemd-modules-load.service +After=local-fs.target network-pre.target apparmor.service systemd-sysctl.service systemd-modules-load.service systemd-udev-settle.service Before=network.target shutdown.target network-online.target Conflicts=shutdown.target @@ -14,7 +15,6 @@ WantedBy=network-online.target [Service] Type=oneshot EnvironmentFile=-/etc/default/networking -ExecStartPre=-/bin/sh -c 'if [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ]; then udevadm settle; fi' ExecStart=/sbin/ifup -a --read-environment ExecStop=/sbin/ifdown -a --read-environment --exclude=lo RemainAfterExit=true -- 2.17.0
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Pkg-systemd-maintainers mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-systemd-maintainers
