[pmg-devel] [PATCH pmg-api v5 01/11] pmgpolicy: move pid file into /run/pmgpolicy
Stoiko Ivanov
s.ivanov at proxmox.com
Thu Aug 14 02:09:26 CEST 2025
Hi,
writing the general feedback for the series here - as there's no
cover-letter - hope that's ok!
Thanks big time for tackling this and sending updates so often!
The series looks quite nice already in general!
A few nits (I'll send replies to the individual patches for those)
Most of them are related to the commit-messages being a bit to terse, and
lacking a few explanation, which might help reviewers - or people looking
for bugs in the future.
else - I rebased it (after the tree-wide run of proxmox-perltidy on
pmg-api) - so if you want to spare yourself the hassle - it's on my staff
repo
comments inline:
On Fri, 4 Apr 2025 15:14:28 +0200
Maximiliano Sandoval <m.sandoval at proxmox.com> wrote:
> We use systemd's RuntimeDirectory to ensure the directory exists when needed.
>
> We also set $opt_pidfile using PIDFILE, see
> https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#%24PIDFILE.
>
> Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
> ---
>
> Differences from v4:
> - Run pmg-smtp-filter migration if coming from a version older than 9.0.0.
> - Instead of adding the pmgpolicy user to the pmg group, pmgproxy.service is
> started with SupplementaryGroups=systemd-journal
is that a typo? (pmgpolicy is not added to the pmg-group therefore
pmgproxy is started with an another group?)
(in both cases - a short line as to why would help)
> - Use $ENV{'PIDFILE'} instead of hardcoding PID path on binaries backed up
> with a systemd service
Not 100% sure - is using the PIDFILE env-var here to address Fiona's
feedback from
https://lore.proxmox.com/all/38c4a43b-5f49-41a0-98ca-3911676a0232@proxmox.com/
? - If so - I'm not sure that this would be enough - as the pid-file is
read by other services (pmgdaemon upon config-changes) - so I still see a
theoretical potential for a race (but would assume that all services
should be restarted one after the other while pmg-api (which ships
all of the services) is upgraded - so I think it should be ok.
>
> Differences from v3:
> - Override rrdcached's systemd unit to add SOCKGROUP=pmg instead of
> modifying /etc/default/rrdcached.conf
>
> Differences from v2:
> - Use systemd-sysusers for creating users
>
> debian/pmgpolicy.service | 3 ++-
> src/bin/pmgpolicy | 2 +-
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/debian/pmgpolicy.service b/debian/pmgpolicy.service
> index 517a5d61..21a403f0 100644
> --- a/debian/pmgpolicy.service
> +++ b/debian/pmgpolicy.service
> @@ -10,8 +10,9 @@ ExecStart=/usr/bin/pmgpolicy
> KillMode=mixed
> TimeoutStopSec=40
> ExecReload=/bin/kill -HUP $MAINPID
> -PIDFile=/run/pmgpolicy.pid
> +PIDFile=/run/pmgpolicy/pmgpolicy.pid
> Type=forking
> +RuntimeDirectory=pmgpolicy
>
> [Install]
> WantedBy=multi-user.target
> diff --git a/src/bin/pmgpolicy b/src/bin/pmgpolicy
> index df2e66f4..3f976ff7 100755
> --- a/src/bin/pmgpolicy
> +++ b/src/bin/pmgpolicy
> @@ -56,7 +56,7 @@ if (!GetOptions(%_opts)) {
> exit (-1);
> }
>
> -$opt_pidfile = "/run/pmgpolicy.pid" if !$opt_pidfile;
> +$opt_pidfile = $ENV{'PIDFILE'} if !$opt_pidfile;
> $opt_max_dequeue = 0 if $opt_testmode;
>
> initlog('pmgpolicy', 'mail');
More information about the pmg-devel
mailing list