nixos/openldap: fix systemd rejecting notification (#177084)

On one of the two machines I have running openldap, openldap failed to start due to a "timeout". Increasing the allowed startup delay didn't help.

I noticed the following in logs:
```
openldap.service: Got notification message from PID 5224, but reception only permitted for main PID 5223
```

It turns out that on this machine at least, openldap apparently sends the notification from a non-main process, which means that we need this NotifyAccess setting for systemd to record that it successfully started. Without it, after 30 seconds systemd kills the process because it didn't receive the sd_notify call.

Somehow the other machine I have on nixos running ldap works fine even without this, but I could not figure out what changes the behavior.

Given that AFAIU NotifyAccess still restricts to "from the cgroup of the service", I think this change should be safe.
This commit is contained in:
Léo Gaspard 2022-06-13 15:28:12 +02:00 committed by GitHub
parent a1ad235743
commit 02cd48717d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -312,6 +312,7 @@ in {
"-h" (lib.concatStringsSep " " cfg.urlList)
]);
Type = "notify";
NotifyAccess = "all";
PIDFile = cfg.settings.attrs.olcPidFile;
};
};