summaryrefslogtreecommitdiff
path: root/units/systemd-networkd-wait-online.service.in
Commit message (Collapse)AuthorAgeFilesLines
* 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.