Hi, I checked it and during synthetic tests it worked. I use same mechanism as origin agent-check, so it's ready to merge.
It doesn't need to be backported. 2017-01-27 15:38 GMT+01:00 Michał <creating....@gmail.com>: > Hello, > > So here's patch, which includes all functionalities I think about. > It propagates the response for every tracking server without changing it > and without intercepting it. In my opinion we should propagate relative > and absolute weights, because if you use weight=0 server's to offload > checks then you can send relative weight change and 0 will stay where it > is. > > Regards, > Michał > > > 2017-01-20 10:54 GMT+01:00 Willy Tarreau <w...@1wt.eu>: > >> Hi Michal, >> >> On Thu, Jan 19, 2017 at 11:45:57PM +0100, Micha?? wrote: >> > Hello, >> > >> > We use track's in haproxy to minimize check traffic in some situations >> and >> > after my last patch we are probably going to switch to agent-checks for >> > live management of weights and statuses. One problem I see now - track >> > don't propagate weight setting to trackers, so if we set agent-check on >> > track we can manage status only. >> > >> > My first PoC solution works good, so I thought about introducing >> something >> > like agent-track or track-agent directive set on backends (or maybe it >> > should be default, non-configurable behaviour) to propagate agent-check >> > responses from main check to all tracking backends. Both default >> behaviour >> > and directive approach are small changes in code, but a little bigger in >> > functionality. >> > >> > In my opinion if we set agent-check on backend which is tracked by >> others - >> > it should propagate agent-check weight response to those tracking >> backend >> > and set weight on them too. Configurable or not - it will be good >> feature. >> >> I think we at least propagate the DRAIN state which is equivalent to >> weight == 0. If so I too think we should propagate *relative* weights. >> Agent-checks can return a relative weight (eg: 50%, 100%, 150%) or an >> absolute weight (eg: 10, 20). If you have two farms configured like this : >> >> backend farm1 >> server new1 1.1.1.1:8000 weight 10 agent-check >> server new2 1.1.1.2:8000 weight 10 agent-check >> >> backend farm2 >> server new1 1.1.1.1:8000 weight 20 track farm1/new1 >> server new2 1.1.1.2:8000 weight 20 track farm1/new2 >> server old1 1.1.1.3:8000 weight 10 check >> server old2 1.1.1.4:8000 weight 10 check >> >> Then you want the weight changes on farm1 to be applied proportionally >> to farm2 (ie: a ratio of the configured absolute weight, which is iweight >> IIRC). >> >> Otherwise that sounds quite reasonable to me given that the agent-check's >> purpose is to provide a more accurate vision of the server's health, and >> that tracking is made to share the same vision across multiple farms. >> >> Regards, >> Willy >> > > >