From b6d160d5a944dbab440d484fedbdcfcc3b85fff9 Mon Sep 17 00:00:00 2001 From: Viktor Ashirov Date: Wed, 26 Jul 2023 16:44:51 +0200 Subject: [PATCH] Issue 5864 - Server fails to start after reboot because it's unable to access nsslapd-rundir Bug Description: Sometimes after reboot dirsrv service fails to start: EMERG - main - Unable to access nsslapd-rundir: No such file or directory EMERG - main - Ensure that user "dirsrv" has read and write permissions on /run/dirsrv EMERG - main - Shutting down. We rely on systemd-tmpfiles for /run/dirsrv creation. But dirsrv service doesn't explicitly wait for systemd-tmpfiles-setup.service to start. This creates a race condition. Fix Description: dirsrv service should start only after systemd-tmpfiles-setup.service is finished, add it as a dependency via `After=` and `Wants=`. Fixes: https://github.com/389ds/389-ds-base/issues/5864 Reviwed-by: @Firstyear (Thanks!) --- wrappers/systemd.template.service.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wrappers/systemd.template.service.in b/wrappers/systemd.template.service.in index 4485e0ec0a..4a44eb0e43 100644 --- a/wrappers/systemd.template.service.in +++ b/wrappers/systemd.template.service.in @@ -4,8 +4,9 @@ [Unit] Description=@capbrand@ Directory Server %i. PartOf=@systemdgroupname@ -After=chronyd.service ntpd.service network-online.target +After=chronyd.service ntpd.service network-online.target systemd-tmpfiles-setup.service Before=radiusd.service +Wants=systemd-tmpfiles-setup.service [Service] Type=notify