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

Reply via email to