csync2 socket and service file

Felipe Sateler fsateler at debian.org
Mon Dec 7 16:42:14 GMT 2015


On 7 December 2015 at 12:51, Dhionel Díaz <ddiaz at cenditel.gob.ve> wrote:
> El 07/12/15 a las 08:22, Felipe Sateler escribió:
>> Hi Dhionel,
>>
>> On 6 December 2015 at 21:14, Dhionel Díaz <ddiaz at cenditel.gob.ve> wrote:
>>> Hi everyone,
>>>
>>> Following the directions in https://wiki.debian.org/systemd/HowToHelp
>>> I've attached files that can be used to make csync2 a socket activated
>>> service and avoid the use of inetd, they are based on the ones published
>>> in
>>> https://github.com/mk-fg/fg_exheres/tree/master/packages/sys-apps/csync2/files/systemd.
>>> The configuration has been tested in a four node cluster.
>>
>> Excellent! Let's see this:
>>
>>>
>>> I'll be awaiting your review.
>>
>>
>> csync2.socket
>>
>>> [Socket]
>>> ListenStream = 30865
>>
>> Please don't use spaces around the '=' sign. This currently works, but
>> is not part of the spec and may stop working in the future. Moreover,
>> some debian tools do not handle this well. This applies to both files.
>>
>>> Accept = true
>>>
>>> [Install]
>>> WantedBy = sockets.target
>>
>> This should also have a description in a [Unit] section. Other than
>> that, looks good.
>
> Point taken, thanks for the review.
>
>>
>> csync2 at .service
>>
>>> [Unit]
>>> Description = csyn2 asynchronous file synchronization
>>>
>>> [Service]
>>> User = csync2
>>> Group = csync2
>>
>> The current package does not appear to create its own csync2 user, and
>> runs it as root under inetd. I don't know which is appropriate.
>>
>
> I've also prepared a patch to create the system user, as root privileges
> are not needed for the synchronization process when the files involved
> are kept writable by the system user. In any case I'm sure there will be
> an interesting discussion with the csync2 maintainers about this.

OK, then it should be fine, provided the package also picks up the new user.

>
>>> ExecStart = -/usr/sbin/csync2 -i
>>> StandardInput = socket
>>> StandardOutput = socket
>>
>> The StandardOutput line should not be needed, as it is inherited from
>> StandardInput.
>>
>>
>
> In the systemd.exec man page included in jessie is explained that the
> default value for StandardOutput ends up being 'journal'. ¿That
> behaviour has been changed?

This seems to be a documentation bug. It appears that when
StandardInput is set, then StandardOutput default changes to
'inherit'. I have filed an issue upstream[1]. This is not a major
issue, however. The file would be correct either way.


[1] https://github.com/systemd/systemd/issues/2114
-- 

Saludos,
Felipe Sateler




More information about the Pkg-systemd-maintainers mailing list