-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Systemd: Use erlang-systemd to notify systemd of service status #2957
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Valid systemd statuses are described in sd_notify(3): Currently, it is not possible to clear a status description with erlang-systemd. I'm discussing the possible root cause with the author. See hauleth/erlang-systemd#26. I would like to find a solution to that before submitting the patch for review. Update 1: I submitted a pull request to keep empty values, allowing us to clear the status (hauleth/erlang-systemd#27). Update 2: The pull request was accepted and merged. I'm updating this patch to pin the latest commit of erlang-systemd in |
dada476
to
8b3e8d3
Compare
Here is how I tested it on a Debian Buster VM:
|
8b3e8d3
to
aaa47e8
Compare
Until now, we were using socat(1). It was added as a dependency to our Debian and RPM packages. Unfortunately, the availability of this package has not always been good. We also supported erlang-sd_notify which relied on a UDP socket. None of them had journald support. Now, thanks to erlang-systemd, we can use the Unix socket and provide more fine-grained status updates if we want. Journald support is also provided by erlang-systemd. It was added to RabbitMQ in commit 91583a0 (#2940).
aaa47e8
to
4992b0c
Compare
@dumbbell this works as advertised but still required me to install |
Let's backport this after |
Yes, the dependency will be dropped from both the Debian and RPM packages in a separate patch. |
No need to backport IMHO. It doesn't fix anything, just removes code mostly (now that master has this new dependency for journald logging). |
used in RabbitMQ <3.9 for systemd communication, cf. rabbitmq/rabbitmq-server#2957 (comment)
Until now, we were using socat(1). It was added as a dependency to our Debian and RPM packages. Unfortunately, the availability of this package has not always been good. We also supported erlang-sd_notify which relied on a UDP socket. None of them had journald support.
Now, thanks to erlang-systemd, we can use the Unix socket and provide more fine-grained status updates if we want.
Journald support is also provided by erlang-systemd. It was added to RabbitMQ in commit 91583a0 (#2940).