On Wed, 2015-11-25 at 15:36 +0100, Christian Hesse wrote:
Thomas Haller <thaller redhat com> on Wed, 2015/11/25 15:11:On Wed, 2015-11-25 at 11:53 +0100, Christian Hess wrote:From: Christian Hesse <mail eworm de> It is possible to use systemd-networkd for some general network setup (rename devices, ...) even for devices that are managed by NetworkManager later.
(does networkd rename device? I'd think that is be done by udev).
Since systemd 228 the behaviour changed that systemd-networkd drops foreign configuration from devices. It does not change configuration that is done after systemd-networkd has started up, though. To prevent race conditions we order NetworkManager service to start after systemd-networkd service.The "After" will delay starting NetworkManager only "after networkd declared to be started".That's not true. From man 5 systemd.unit: [...] while After= ensures that the configured unit is started after the listed unit finished starting up [...]
I didn't say anything different. systemd-networkd.service has: [Service] Type=notify and networkd does: ... r = manager_rtnl_enumerate_links(m); r = manager_rtnl_enumerate_addresses(m); r = manager_rtnl_enumerate_routes(m); log_info("Enumeration completed"); sd_notify(false, "READY=1\n" "STATUS=Processing requests..."); thus, networkd signals that it is READY=1 before configuring the devices (or not?). How does ordering NM "After=networkd" help then? I think it's anyway a bad idea to have networkd and NM fight over the same devices. You can use networkd to create the device for which NM then does IP configuration. That will probably work, but doesn't require "After" either (does it?). Maybe you can elaborate on your use-case and show how "After" solves it? Thomas
Attachment:
signature.asc
Description: This is a digitally signed message part