summaryrefslogtreecommitdiff
path: root/units/systemd-networkd-wait-online.service.in
Commit message (Collapse)AuthorAgeFilesLines
* Revert "units: Add missing dependencies on initrd-switch-root.target"Daan De Meyer2023-05-151-2/+2
| | | | This reverts commit f0ad3e6b9652fe785245934ff8604cc897d3b8f4.
* units: Add missing dependencies on initrd-switch-root.targetDaan De Meyer2023-05-131-2/+2
| | | | | | | These are all services that valid to be run in the initrd, so let's make sure they have the appropriate dependencies on initrd-switch-root.target so that they are stopped when we're about to switch root.
* units: condition systemd-networkd-wait-online.service like ↵Lennart Poettering2023-01-051-0/+1
| | | | | | | | | | systemd-networkd.service This adds the same condition that systemd-networkd.service already carries also to systemd-networkd-wait-online.service. Otherwise we'll potentially see some logs we'd rather not see about a service we BindTo= not running. Or in other words, if service X binds to Y then X should be at least as conditioned as Y.
* units: Use BindsTo=systemd-networkd in systemd-networkd-wait-online.serviceDaan De Meyer2022-11-261-1/+1
| | | | | | We don't want systemd-networkd-wait-online to start if systemd-networkd is skipped due to condition failures. This is only guaranteed by BindsTo= and not Requires=, so let's use BindsTo=
* meson: use jinja2 for unit templatesZbigniew Jędrzejewski-Szmek2021-05-191-1/+1
| | | | | | | | | We don't need two (and half) templating systems anymore, yay! I'm keeping the changes minimal, to make the diff manageable. Some enhancements due to a better templating system might be possible in the future. For handling of '## ' — see the next commit.
* license: LGPL-2.1+ -> LGPL-2.1-or-laterYu Watanabe2020-11-091-1/+1
|
* Add SPDX license headers to unit filesZbigniew Jędrzejewski-Szmek2017-11-191-0/+2
|
* units: add missing Before=shutdown.target for units which it ConflictsAlan Jenkins2017-09-301-1/+1
| | | | | | | There's a few services missing this ordering. Also remove a duplicate Conflicts=shutdown.target from systemd-volatile-root.service.
* units: use Requires in systemd-networkd-wait-online.service (#6065)Zbigniew Jędrzejewski-Szmek2017-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the initial design, foobar-wait-online.service would have Requisite=foobar.service, so that foobar-wait-online.service could be enabled unconditionally, irrespective of whether foobar.service itself is enabled. Unfortunately this doesn't work too well: 1. the message about foobar-wait-online.service being skipped because of a "missing dependency" *looks* like an is problem. This is mostly cosmetic, but it also quite confusing. We generally don't want any messages of this type during default boot. 2. it is impossible to start and wait for the network in an implementation-agnostic way: systemctl start network-online.target, or Wants/After=network-online.target in a unit don't work because pulling in network-online.target pulls in foobar-wait-online.service, but it in turn does not pull in foobar.service. During startup, foobar.service is pulled in by multi-user.target, but not in a smaller transaction which does not include multi-user.target. This change means that *-wait-online.service should be installed through presets, so that it can be enabled/disabled at will by the administrator. Our own systemd-networkd-wait-online.service does this already, and similar change has been requested for NetworkManager-wait-online.service (https://bugzilla.redhat.com/show_bug.cgi?id=1455704). This change should by mostly backwards-compatible, unless somebody has some wait-online.service enabled, without having the corresponding network implementation enabled, and they are relying on it not being started. I think that's relatively unlikely because of issue 1. above, and I'm not aware of this being the default in any distro. And being able to start the network in an implementation-agnostic way is pretty important, see https://bugzilla.redhat.com/show_bug.cgi?id=1452866.
* units: networkd - don't order wait-online.service before network.targetTom Gundersen2014-06-301-1/+1
| | | | Reported by Michael Olbrich.
* units: order network-online.target after network.targetLennart Poettering2014-06-111-1/+1
| | | | | | | There might be implementations around where the network-online logic might not talk to any network configuration service (and thus not have to wait for it), hence let's explicitly order network-online.target after network.target to avoid any ambiguities.
* networkd-wait-online: improve interoptability and enable by defaultTom Gundersen2014-04-241-0/+23
To make sure we don't delay boot on systems where (some) network links are managed by someone else we don't block if something else has successfully brought up a link. We will still block until all links we are aware of that are managed by networkd have been configured, but if no such links exist, and someone else have configured a link sufficiently that it has a carrier, it may be that the link is ready so we should no longer block. Note that in all likelyhood the link is not ready (no addresses/routes configured), so whatever network managment daemon configured it should provide a similar wait-online service to block network-online.target until it is ready. The aim is to block as long as we know networking is not fully configured, but no longer. This will allow systemd-networkd-wait-online.service to be enabled on any system, even if we don't know whether networkd is the main/only network manager. Even in the case networking is fully configured by networkd, the default behavior may not be sufficient: if two links need to be configured, but the first is fully configured before the second one appears we will assume the network is up. To work around that, we allow specifying specific devices to wait for before considering the network up. This unit is enabled by default, just like systemd-networkd, but will only be pulled in if anyone pulls in network-online.target.