[systemd-devel] network/openvswitch dependency loop/deadlock
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