Package: openafs-client
Version: 1.6.13-1

/lib/systemd/system/openafs-client.service specifies
        Before=remote-fs.target
It also has an implicit
        Requires=basic.target
(at least on the jessie system on which I'm testing this; one can see this
with systemctl show -p Requires openafs-client.service ).

While the reverse dependency on remote-fs.target seems logical (the service
does provide access to a remote filesystem), it causes trouble in practice
since many scripts in /etc/init.d/ have a
        Required-Start: $remote_fs
to signify that they need access to /usr (which, at least pre-systemd,
could be on a remote filesystem; this is explained, e.g., in
https://wiki.debian.org/LSBInitScripts/). sysinit.target depends on all
scripts in /etc/init.d/ that do not have a systemd counterpart, and
basic.target depends on sysinit.target.

I'm filing this bug against openafs-client but for my environment I'm
planning to work around the problem by changing $remote_fs to $local_fs
in the other /etc/init.d/ scripts involved. (One of them is /etc/init.d/ferm
and I do want my firewall rules to be in place before most services are
started.) I can do this since I'm not NFS-mounting /usr but it may not be
a satisfactory solution for everyone.

Maybe openafs-client.service should consider dropping Requires=basic.target .

To illustrate the problem, here is an excerpt from journalctl output that
shows an undesirable sequence of events:

systemd[1]: Found ordering cycle on basic.target/start
systemd[1]: Found dependency on sysinit.target/start
systemd[1]: Found dependency on ferm.service/start
systemd[1]: Found dependency on remote-fs.target/start
systemd[1]: Found dependency on openafs-client.service/start
systemd[1]: Found dependency on basic.target/start
systemd[1]: Breaking ordering cycle by deleting job ferm.service/start
systemd[1]: Job ferm.service/start deleted to break ordering cycle starting 
with basic.target/start
systemd[1]: Found ordering cycle on basic.target/start
systemd[1]: Found dependency on sysinit.target/start
systemd[1]: Found dependency on kbd.service/start
systemd[1]: Found dependency on remote-fs.target/start
systemd[1]: Found dependency on openafs-client.service/start
systemd[1]: Found dependency on basic.target/start
systemd[1]: Breaking ordering cycle by deleting job kbd.service/start
systemd[1]: Job kbd.service/start deleted to break ordering cycle starting with 
basic.target/start
systemd[1]: Found ordering cycle on basic.target/start
systemd[1]: Found dependency on sysinit.target/start
systemd[1]: Found dependency on console-setup.service/start
systemd[1]: Found dependency on remote-fs.target/start
systemd[1]: Found dependency on openafs-client.service/start
systemd[1]: Found dependency on basic.target/start
systemd[1]: Breaking ordering cycle by deleting job console-setup.service/start
systemd[1]: Job console-setup.service/start deleted to break ordering cycle 
starting with basic.target/start


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to