Control: tags -1 moreinfo
On Fri, May 18, 2018 at 8:57 AM Benjamin Drung <
benjamin.dr...@profitbricks.com> wrote:

> Package: systemd
> Version: 232-25+deb9u3
> Severity: normal
>
> Hi,
>
> rdma-load-modules@infiniband.service (from rdma-core) loads the ib_ipoib
> (IP over InfiniBand) kernel module. Once this module is loaded, ifup can
> bring up network devices on InfiniBand. systemd is configured to runs
> networking.service after network-pre.target which comes after
> rdma-load-modules@infiniband.service:
>
> ```
> $ systemctl cat networking.service
> # /lib/systemd/system/networking.service
> [Unit]
> Description=Raise network interfaces
> Documentation=man:interfaces(5)
> DefaultDependencies=no
> Wants=network.target
> After=local-fs.target network-pre.target apparmor.service
> systemd-sysctl.service systemd-modules-load.service
> Before=network.target shutdown.target network-online.target
> Conflicts=shutdown.target
>
> [Install]
> WantedBy=multi-user.target
> WantedBy=network-online.target
>
> [Service]
> Type=oneshot
> EnvironmentFile=-/etc/default/networking
> ExecStartPre=-/bin/sh -c '[ "$CONFIGURE_INTERFACES" != "no" ] && [ -n
> "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle'
> ExecStart=/sbin/ifup -a --read-environment
> ExecStop=/sbin/ifdown -a --read-environment --exclude=lo
> RemainAfterExit=true
> TimeoutStartSec=5min
>
> $ systemctl cat rdma-load-modules@infiniband.service
> # /lib/systemd/system/rdma-load-modules@.service
> [Unit]
> Description=Load RDMA modules from /etc/rdma/modules/%I.conf
> Documentation=file:/usr/share/doc/rdma-core/udev.md
> # Kernel module loading must take place before sysinit.target, similar
> # to
> # systemd-modules-load.service
> DefaultDependencies=no
> Before=sysinit.target
> # Do not execute concurrently with an ongoing shutdown
> Conflicts=shutdown.target
> Before=shutdown.target
> # Partially support distro network setup scripts that run after
> # systemd-modules-load.service but before sysinit.target, eg a classic
> # network
> # setup script. Run them after modules have loaded.
> Wants=network-pre.target
> Before=network-pre.target
> # Orders all kernel module startup before rdma-hw.target can become
> # ready
> Before=rdma-hw.target
>
> ConditionCapability=CAP_SYS_MODULE
>
> [Service]
> Type=oneshot
> RemainAfterExit=yes
> ExecStart=/lib/systemd/systemd-modules-load /etc/rdma/modules/%I.conf
> TimeoutSec=90s
> ```
>

How is this service pulled into the boot transaction? Ordering dependencies
only take effect if all involved units are started at the same time. This
means the ordering relationship is ignored if networking.service is already
activating by the time rdma-load-modules@infiniband.service pulled into the
boot transaction.

Seems like a misconfiguration issue to me.

-- 

Saludos,
Felipe Sateler

Reply via email to