Error al iniciarse autofs antes de estar listos los listeners de sssd en Ubuntu 22.04

Cambiamos de Ubuntu Bionic a Jammy y volvemos a tener problemas por el inicio del servicio autofs antes de sssd. Podéis comprobarlo fácilmente si hacéis un systemctl status autofs.service -l y véis el siguiente error:
 setautomntent: lookup(sss): setautomntent: Connection refused

systemctl status autofs.service -l
● autofs.service - Automounts filesystems on demand
   Loaded: loaded (/lib/systemd/system/autofs.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-07-09 12:07:17 CEST; 1h 59min left
  Process: 1086 ExecStart=/usr/sbin/automount $OPTIONS --pid-file /var/run/autofs.pid (code=exited, status=0/SUCCESS)
 Main PID: 1087 (automount)
    Tasks: 3 (limit: 4915)
   CGroup: /system.slice/autofs.service
           └─1087 /usr/sbin/automount --pid-file /var/run/autofs.pid
jul 09 12:07:17 a19-pro systemd[1]: Starting Automounts filesystems on demand...
jul 09 12:07:17 a19-pro automount[1087]: setautomntent: lookup(sss): setautomntent: Connection refused
jul 09 12:07:17 a19-pro systemd[1]: Started Automounts filesystems on demand.

La mayor parte de nuestros equipos montan el home del servidor cuando el usuario lo demanda mediante el servicio autofs.

Pero, para que se pueda montar el home, no sólo tiene que estar listo el servicio sssd. También debe estar listo el servicio sssd-autofs (algo nuevo en Ubuntu 22.04); y, por supuesto, que los servicios ldap y dns del servidor estén funcionando correctamente. Muchas variables para una ecuación, que hacen que cuando algo falle, muchos administradores no sepan por donde mirar cuál es el problema...

Tras observar que, en ocasiones (parecía algo aleatorio, pero no lo era), seguía produciéndose el error "setautomntent: lookup(sss): setautomntent: Connection refused" al iniciarse el servicio sssd, decidí ponerme a reorganizar las dependencias para que el servicio arrancara bien.

Si os sucede ésto, podéis resolver el problema fácilmente con tan sólo establecer las siguientes dependencias de servicios en autofs:

[Unit]
Wants=network-online.target nfs-client.target
Requires=network-online.target rpc-statd.service rpcbind.service sssd.service sssd-autofs.service
After=network-online.target remote-fs.target sssd.service sssd-autofs.service

Be the first to comment