Re: [PATCH 1/1] start after systemd-networkd



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]