[pve-devel] [PATCH pve-lxc-syscalld 2/4] service: avoid using generic runtime directory name
Fiona Ebner
f.ebner at proxmox.com
Thu May 15 10:41:49 CEST 2025
Am 14.05.25 um 16:33 schrieb Thomas Lamprecht:
> Am 13.05.25 um 12:56 schrieb Fiona Ebner:
>> When the service is restarted, the directory will be recreated. The
>> issue is that the /run/pve directory is not just used as the runtime
>> directory of this service, but also for other things, e.g. storage
>> tunnel and mtunnel sockets and container stderr logs as well as pull
>> metrics, which will be lost when the service is restarted.
>
> Is there much gained by moving the socket path or would it be enough to
> drop the RundtimeDirectory completely or do we want to rely on the
> clean-up being done by systemd? Which probably is an OK enough reason,
> I'd think..
Yes, the cleanup aspect is there and it seems nicer to have a dedicated
directory IMHO. It would avoid the need to adapt pve-container and the
postinst snippet, but I'd still like to go for the "dedicated
RuntimeDirectory" approach.
> btw., to name all options, there would be the RuntimeDirectoryPreserve=
> property for systemd services (documented in man systemd.exec) which
> we could set to `restart` to handle just updates or `yes` to never clean
> it up; besides obviously a system reboot clearing any tmpfs, that is.
That option would not help with the awkward dependency/reliance on the
service to create the /run/pve directory in the first place. And even if
it's created by the tmpfiles.d snippet in pve-manager first, it will get
overwritten (with root:root 0755 permissions) when its first used as the
service's runtime directory.
>>
>> Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
>> ---
>>
>> Versioned breaks for pve-container and pve-manager needed.
>>
>> etc/pve-lxc-syscalld.service.in | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/etc/pve-lxc-syscalld.service.in b/etc/pve-lxc-syscalld.service.in
>> index be076a7..0557fe6 100644
>> --- a/etc/pve-lxc-syscalld.service.in
>> +++ b/etc/pve-lxc-syscalld.service.in
>> @@ -4,8 +4,8 @@ Before=pve-guests.service
>>
>> [Service]
>> Type=notify
>> -ExecStart=%LIBEXECDIR%/pve-lxc-syscalld/pve-lxc-syscalld --system /run/pve/lxc-syscalld.sock
>> -RuntimeDirectory=pve
>> +ExecStart=%LIBEXECDIR%/pve-lxc-syscalld/pve-lxc-syscalld --system /run/pve-lxc-syscalld/lxc-syscalld.sock
>
> If we go for a dedicated directory we could drop the redundancy in the
> file name, e.g.
>
> /run/pve-lxc-syscalld/sock
>
> or
>
> /run/pve-lxc-syscalld/socket
Okay, I'll go for the latter in v2.
More information about the pve-devel
mailing list