Comment 0 for bug 1566508

Revision history for this message
Maciej Puzio (maciej-puzio) wrote :

This report concerns a configuration where autofs and sssd are both installed, sssd is configured to provide automount maps, and nsswitch.conf directs autofs to use sssd. In such a configuration autofs often fails on boot complaining "no mounts in table". This is because autofs may be started before sssd, or after sssd is started but before its autofs support is ready. If this happens, one can restart autofs and it will work fine.

This bug affects other users:
* Bug 40189 "autofs needs to be restarted to pick up some shares" - a very old bug with invalid status, but see last comment #46, complaining about Ubuntu trusty: https://bugs.launchpad.net/ubuntu/+source/autofs/+bug/40189/comments/46
* Link to SSSD-users mailing list, also complaining about Ubuntu trusty: https://lists.fedorahosted.org/pipermail/sssd-users/2015-July/003166.html

$ lsb_release -rd
Description: Ubuntu 14.04.4 LTS
Release: 14.04

$ apt-cache policy autofs sssd
autofs:
  Installed: 5.0.7-3ubuntu3.2
sssd:
  Installed: 1.11.5-1ubuntu3

$ uname -a
Linux **** 3.13.0-83-generic #127-Ubuntu SMP Fri Mar 11 00:25:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Workaround:
Edit /etc/init/autofs as shown in attached files (both full file and diff provided). Unfortunately, this modification will work only in this particular configuration, thus it is not a good candidate for a patch.
Explanation:
We have to deal with two problems here:
1. Autofs starts on runlevel [2345], and in effect its startup order in relation to sssd is random. We fix this by changing start stanza to "start on started sssd".
2. Unfortunately this is not enough, because sssd emits started event too early, before its autofs support is ready. To work around this, we add a loop to pre-start script that waits for sssd to start listening on /var/lib/sss/pipes/autofs.