[systemd-devel] network/openvswitch dependency loop/deadlock

Lennart Poettering lennart at poettering.net
Tue Feb 12 19:11:40 PST 2013

On Wed, 06.02.13 16:27, Ian Pilcher (arequipeno at gmail.com) wrote:

> * Removing network.target from the Before=... line in
>   openvswitch.service is not an option.  See comment #1 of that bug.

So, you need to figure out what you want here... You cannot have a
service A both start after B and start at the same time as B.

If it depends on configuration whether sometimes you want A after B and
sometimes A unordered to B, then the best solution appears to be to
actually make this configuration.

I.e. ask the user to add After=network.target if he needs it, and
otherwise not. Or, if you don't want people to copy unit files, then
create a .target unit, that is ordered before one, and after the other,
and that needs to be enabled to act as a separator "barrier" between the
services, but when it isn't enabled won't do anything...

> * Changing the network startup script (ifup-ovs) to use "systemctl
>   --ignore-dependencies start openvswitch.service" appears to work, but
>   the man page discourages its use for anything but debugging.

--ignore-dependencies is always, and unconditionally just a hack, this
should always be the last resort only.


Lennart Poettering - Red Hat, Inc.

More information about the systemd-devel mailing list