Re: haproxy reload terminated with master/worker
> Le 8 janv. 2019 à 15:02, William Lallemand a écrit : > > On Tue, Jan 08, 2019 at 02:03:22PM +0100, Tim Düsterhus wrote: >> Emmanuel, >> >> Am 08.01.19 um 13:53 schrieb Emmanuel Hocdet: >>> Without master/worker, haproxy reload work with an active waiting (haproxy >>> exec). >>> With master/worker, kill -USR2 return immediately: Is there a way to know >>> when the reload is finished? >>> >> >> Are you using systemd with -Ws? haproxy informs systemd when a reload >> starts and when it is finished using the sd_notify protocol: >> >> https://www.freedesktop.org/software/systemd/man/sd_notify.html#RELOADING=1 >> >> Best regards >> Tim Düsterhus >> > > Hi guys, > > Indeed you can't do that without systemd, haproxy send a READY=1 variable with > sd_notify once the processes are ready. > > Unfortunately sd_notify has some limitation, there is no sd_notify variable > which permits to notify that a reload failed, but you could read the errors in > the service logs. > > I have some plans for the master worker in the future, to have a synchronous > state of the reload on the CLI, but this is not possible with the current > architecture. We will probably need to stop reexecuting the process to achieve > that and do a reload over the master CLI with a return code. > > -- > William Lallemand Thanks for quick responses. I do not use systemd and even, it would be a shame to depend on systemd for that. Yes return code for reload failed is one of the use case to reload active waiting. (read the errors in the service logs is not really scripts friendly). Reload over the master CLI with return code seem to be a good solution. Waiting for the feature ;-) ++ Manu
Re: haproxy reload terminated with master/worker
On Tue, Jan 08, 2019 at 02:03:22PM +0100, Tim Düsterhus wrote: > Emmanuel, > > Am 08.01.19 um 13:53 schrieb Emmanuel Hocdet: > > Without master/worker, haproxy reload work with an active waiting (haproxy > > exec). > > With master/worker, kill -USR2 return immediately: Is there a way to know > > when the reload is finished? > > > > Are you using systemd with -Ws? haproxy informs systemd when a reload > starts and when it is finished using the sd_notify protocol: > > https://www.freedesktop.org/software/systemd/man/sd_notify.html#RELOADING=1 > > Best regards > Tim Düsterhus > Hi guys, Indeed you can't do that without systemd, haproxy send a READY=1 variable with sd_notify once the processes are ready. Unfortunately sd_notify has some limitation, there is no sd_notify variable which permits to notify that a reload failed, but you could read the errors in the service logs. I have some plans for the master worker in the future, to have a synchronous state of the reload on the CLI, but this is not possible with the current architecture. We will probably need to stop reexecuting the process to achieve that and do a reload over the master CLI with a return code. -- William Lallemand
Re: haproxy reload terminated with master/worker
Emmanuel, Am 08.01.19 um 13:53 schrieb Emmanuel Hocdet: > Without master/worker, haproxy reload work with an active waiting (haproxy > exec). > With master/worker, kill -USR2 return immediately: Is there a way to know > when the reload is finished? > Are you using systemd with -Ws? haproxy informs systemd when a reload starts and when it is finished using the sd_notify protocol: https://www.freedesktop.org/software/systemd/man/sd_notify.html#RELOADING=1 Best regards Tim Düsterhus
haproxy reload terminated with master/worker
Hi, Without master/worker, haproxy reload work with an active waiting (haproxy exec). With master/worker, kill -USR2 return immediately: Is there a way to know when the reload is finished? ++ Manu