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