Hi Holger, On Tue, Oct 25, 2016 at 12:38:26PM +0200, Holger Just wrote: > Hey Willy, > > Willy Tarreau wrote: > > I absolutely despise systemd and each time I have to work on the > > wrapper I feel like I'm going to throw up. So for me working on this > > crap is a huge pain each time. But I'm really fed up with seeing > > people having problems in this crazy environment because one > > clueless guy decided that he knew better than all others how a daemon > > should reload, so whatever we can do to make our users' lifes easier > > in captivity should at least be considered. > > Just to be sure, I don't like systemd for mostly the reasons you > mentioned. However, I do use the systemd wrapper to reliably run HAProxy > under runit for a couple of years now.
This feedback is actually useful because if we later decide to improve the design, we must absolutely take such other use cases into consideration. > Since they (similar to most service managers) also expect a service to > have one stable parent process even after reloading, In my opinion this is a flawed expectation. I really don't understand how a *service* manager confuses a *service* and a *process*. There is not a 1-to-1 relation between the two at all. A service is something that is delivered. We don't care how it is delivered. Some kernel daemons do not even involve any process at all. Further, certains settings like IP forwarding are services in my opinion yet they just end up being a sysctl. > the systemd wrapper > acts as a nice workaround to facilitate reloading. I've been using it from time to time to get multi-process *and* stdout/stderr available for debugging. > The same wrapper > allows simple service handling with Solaris's SMF and is a much better > solution than the crude python script I wrote a couple of years ago for > this simple process. Good point. > I guess what I've been trying to say is: the wrapper is absolutely > useful for about any process manager, not just systemd and I would love > to see it stay compatible with other process managers like runit. Do you see any specific value that I'm overlooing in using the wrapper as it is now compared to having it natively integrated into haproxy ? The only value I'm seeing is a possibly lower memory consumption for very large configurations after the copy-on-write happens in the children. I think it's a small benefit to be honnest. Thanks for your feedback, Willy

