Re: If anyone is interested in testing Simon Hormans patches for the server feedback agent

2013-08-22 Thread Simon Horman
On Wed, Aug 21, 2013 at 10:25:58AM +0200, Willy Tarreau wrote: Hi Malcolm, On Thu, Aug 15, 2013 at 06:34:16PM +0100, Malcolm Turnbull wrote: I've put up a quick blog entry here:

Re: If anyone is interested in testing Simon Hormans patches for the server feedback agent

2013-08-22 Thread Willy Tarreau
On Thu, Aug 22, 2013 at 03:55:23PM +0900, Simon Horman wrote: On Wed, Aug 21, 2013 at 10:25:58AM +0200, Willy Tarreau wrote: Hi Malcolm, On Thu, Aug 15, 2013 at 06:34:16PM +0100, Malcolm Turnbull wrote: I've put up a quick blog entry here:

RE: junk at end of syslog packets in 1.5dev19

2013-08-22 Thread Lukas Tribus
Hi Sam! It appears that the syslog packets generated by 1.5dev19 do not always end in a newline. They appear to end in a newline, followed by two bytes of the last syslog buffer. Is this happen randomly or can you pin point this to specifc requests, maybe errors/timeouts? How can we

Re: HAProxy v1.5-dev19 OpenSSL Support Issue

2013-08-22 Thread Simon Horman
On Tue, Aug 13, 2013 at 04:56:57PM +0200, Willy Tarreau wrote: On Tue, Aug 13, 2013 at 03:36:09PM +0100, Scott McKeown wrote: Hi Guys, I've not applied any patches to the download as this was a direct 'wget' from the Git repository. As follows is the OpenSSL v1.0.0 Centos 6.4 x64 build

Re: If anyone is interested in testing Simon Hormans patches for the server feedback agent

2013-08-22 Thread Baptiste
Let us know there, so I can test it as soon as released :) Baptiste On Thu, Aug 22, 2013 at 9:01 AM, Willy Tarreau w...@1wt.eu wrote: On Thu, Aug 22, 2013 at 03:55:23PM +0900, Simon Horman wrote: On Wed, Aug 21, 2013 at 10:25:58AM +0200, Willy Tarreau wrote: Hi Malcolm, On Thu, Aug 15,

[PATCH v6 02/22] CLEANUP: Make parameters of srv_downtime and srv_getinter const

2013-08-22 Thread Simon Horman
The parameters of srv_downtime and srv_getinter are not modified and thus may be const. Signed-off-by: Simon Horman ho...@verge.net.au --- include/proto/server.h | 4 ++-- src/server.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/proto/server.h

[PATCH v6 09/22] MEDIUM: Add name element to struct check

2013-08-22 Thread Simon Horman
This is in preparation for associating a agent check with a server which runs as well as the server's existing check. Signed-off-by: Simon Horman horms+rene...@verge.net.au --- v5 * Rebase --- include/types/server.h | 1 + src/cfgparse.c | 1 + src/checks.c | 2 +- 3 files

[PATCH v6 17/22] MEDIUM: Log agent fail, stopped or down as info

2013-08-22 Thread Simon Horman
In the case where an agent check returns fail, stopped or down, log this as info when logging the server status along with any trailing message returned by the agent after fail, stopped or down. Previously only the trailing message was logged as info and if omitted no info was logged.

[PATCH v6 14/22] MEDIUM: Parser to allow matching of HTTP header

2013-08-22 Thread Simon Horman
Replace the current header parser, which simply skips the headers, with a version that allows matching of a key in a header. This is in preparation for supporting agent check results returned in an HTTP header. Signed-off-by: Simon Horman ho...@verge.net.au --- src/checks.c | 94

[PATCH v6 05/22] MEDIUM: Move result element to struct check

2013-08-22 Thread Simon Horman
Move result element from struct server to struct check This allows check results to be independent of the check's server. This is in preparation for associating a agent check with a server which runs as well as the server's existing check. Signed-off-by: Simon Horman ho...@verge.net.au ---

[PATCH v6 07/22] MEDIUM: cfgparse: Factor out check initialisation

2013-08-22 Thread Simon Horman
This is in preparation for struct server having two elements of type struct check. Signed-off-by: Simon Horman ho...@verge.net.au --- v5 * Remove server argument from init_check. It is not used. * Set type in init_check This allows a zero type to be used to indicate that a task for a

[PATCH v6 08/22] MEDIUM: Add state to struct check

2013-08-22 Thread Simon Horman
Add state to struct check. This is currently used to store one bit, CHK_RUNNING, which is set if a check is running and clear otherwise. This bit was previously SRV_CHK_RUNNING of the state element of struct server. This is in preparation for associating a agent check with a server which runs as

[PATCH v6 00/22] Agent Check Enhancements and External Check

2013-08-22 Thread Simon Horman
!) which is 55 commits after v1.5-dev19. Availability To aid review I have made this series available in git at: https://github.com/horms/haproxy.git agent-check-20130822 Overall Diffstat: doc/configuration.txt | 140 - include/common/defaults.h |2 + include/proto/checks.h|4

[PATCH v6 22/22] MEDIUM: Add external check

2013-08-22 Thread Simon Horman
Add an external check which makes use of an external process to check the status of a server. --- v6 * Correct implementation and documentation of arguments to external-check command so that they are consistent with both each other and ldirectord's external check. The motivation being to

[PATCH v6 03/22] MEDIUM: Split up struct server's check element

2013-08-22 Thread Simon Horman
This is in preparation for associating a agent check with a server which runs as well as the server's existing check. The split has been made by: * Moving elements of struct server's check element that will be shared by both checks into a new check_common element of struct server. * Moving

[PATCH v6 12/22] MEDIUM: checks: Add supplementary agent checks

2013-08-22 Thread Simon Horman
Allow an agent check to be run in conjunction with one other server health check. If the backend for a server check is not lb-agent-chk then an agent check may also be run using the agent-check parameter to a server, which sets the TCP port to be used for the agent check. e.g. server web1_1

[PATCH v6 13/22] MEDIUM: Add helper for agent check events.

2013-08-22 Thread Simon Horman
Break agent check handling out of event_srv_chk_r(). This is in preparation for supporting agent check results returned in an HTTP header. Signed-off-by: Simon Horman ho...@verge.net.au --- src/checks.c | 97 1 file changed, 52

[PATCH v6 04/22] MEDIUM: Move {,fast,down}inter to struct check

2013-08-22 Thread Simon Horman
Move {,fast,down}inter elements from struct server to struct check. This allows those elements of a check to be independent of the check's server. This is in preparation for associating a agent check with a server which runs as well as the server's existing check. Signed-off-by: Simon Horman

[PATCH v6 06/22] MEDIUM: Paramatise functions over the check of a server

2013-08-22 Thread Simon Horman
Paramatise the following functions over the check of a server * set_server_down * set_server_up * srv_getinter * server_status_printf * set_server_check_status * set_server_disabled Generally the server parameter of these functions has been removed. Where it is still needed it is obtained using

[PATCH v6 16/22] MEDIUM: Add DRAIN state and report it on the stats page

2013-08-22 Thread Simon Horman
Add a DRAIN sub-state for a server which will be shown on the stats page instead of UP if an agent check is in use and the agent has most recently returned drain. Signed-off-by: Simon Horman ho...@verge.net.au --- include/types/server.h | 3 ++- src/checks.c | 7 +++

[PATCH v6 10/22] MEDIUM: Move health element to struct check

2013-08-22 Thread Simon Horman
This is in preparation for associating a agent check with a server which runs as well as the server's existing check. Signed-off-by: Simon Horman ho...@verge.net.au --- include/types/server.h | 3 ++- src/cfgparse.c | 10 +- src/checks.c | 50

[PATCH v6 18/22] MEDIUM: Do not mark a server as down if the agent is unavailable

2013-08-22 Thread Simon Horman
In the case where agent-port is used and the agent check is a secondary check to not mark a server as down if the agent becomes unavailable. In this configuration the agent should only cause a server to be marked as down if the agent returns fail, stopped or down. Signed-off-by: Simon Horman

[PATCH v6 21/22] MEDIUM: Break out check establishment into establish_chk()

2013-08-22 Thread Simon Horman
This is in preparation for adding a new type of check that uses a process rather than a socket. Signed-off-by: Simon Horman ho...@verge.net.au --- v4 * Use check-type in establish_conn_chk() Use check-type instead of s-proxy-options2 PR_O2_CHK_ANY as the former is specific to the check

[PATCH v6 19/22] MEDIUM: Set rise and fall of agent checks to 1

2013-08-22 Thread Simon Horman
This is achieved by moving rise and fall from struct server to struct check. After this move the behaviour of the primary check, server-check is unchanged. However, the secondary agent check, server-agent now has independent rise and fall values each of which are set to 1. The result is that

[PATCH v6 20/22] MEDIUM: Add set agent pause|unpause unix socket command

2013-08-22 Thread Simon Horman
The syntax of this new command is: set agent backend/server pause|unpause This command changes the behaviour of agent checks as follows: In the case where an agent check is being run as a secondary check, due to the agent-port parameter of a server directive, new checks are only initialised

[PATCH v6 15/22] MEDIUM: Add http-check agent-hdr option

2013-08-22 Thread Simon Horman
Allow agent checks to obtain information in an HTTP header of the response to an http check. Signed-off-by: Simon Horman ho...@verge.net.au --- v4 * Do not duplicate code that is in process_result() v2 - v3 * No change --- doc/configuration.txt | 24 +-- include/types/proxy.h | 2

Re: If anyone is interested in testing Simon Hormans patches for the server feedback agent

2013-08-22 Thread Simon Horman
-check-20130822

RE: junk at end of syslog packets in 1.5dev19

2013-08-22 Thread Lukas Tribus
Is this happen randomly or can you pin point this to specifc requests, maybe errors/timeouts? How can we reproduce this? Nevermind, its easily reproducible (just generate some syslog messages). The whole thing seems random: most of the times, the syslog msg ends with \n\0\0, other times with

Re: Can I add RIP Server online?

2013-08-22 Thread Baptiste
Hi Mason, There is no API for HAProxy opensource. HAProxy owns a socket which can be used to inject some commands to modify the running configuration, but unfortunately, you won't be able to insert a new server through this socket. 2 choices for you now: 1. if new servers have a random and

Re: If anyone is interested in testing Simon Hormans patches for the server feedback agent

2013-08-22 Thread Willy Tarreau
. It can be found in git at https://github.com/horms/haproxy.git agent-check-20130822 Thank you Simon, I'll do my best to start reviewing it today. Willy

Re: HAProxy v1.5-dev19 OpenSSL Support Issue

2013-08-22 Thread Scott McKeown
Sorry I must have forgot/overlooked replying to this. However, I did manage to get the OpenSSL Support working with the current v1.5-dev19 downloaded directly from the the HAProxy website using the tar image. Saying that though I'm glad I can still manage to break things ;) ~Scott On 22

Re: HAProxy v1.5-dev19 OpenSSL Support Issue

2013-08-22 Thread Simon Horman
On Thu, Aug 22, 2013 at 09:36:34AM +0100, Scott McKeown wrote: Sorry I must have forgot/overlooked replying to this. However, I did manage to get the OpenSSL Support working with the current v1.5-dev19 downloaded directly from the the HAProxy website using the tar image. Saying that though

Track headers with tcp-request in listen only work with if HTTP

2013-08-22 Thread Ricardo F
Hello, I have been testing the connection tracking in the frontend based on headers, but it only work if the if HTTP option is set: tcp-request inspect-delay 10s tcp-request content track-sc0 hdr(x-forwarded-for,-1) if HTTP Without this option, the table doesn't fill, the connections aren't

RE: Can I add RIP Server online?

2013-08-22 Thread Mason(MyungSik) Jang
Hi Baptiste; Thanks for your prompt response. If I restart HAProxy, what will happen to existing sessions. I’m afraid if all existing sessions might be failed. Mason. From: Baptiste [mailto:bed...@gmail.com] Sent: Thursday, August 22, 2013 5:21 PM To: Mason(MyungSik) Jang Cc: HAProxy