mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-05 04:56:10 +02:00
BUG/MINOR: tcpcheck: Update .health threshold of agent inside an agent-check
If an agent-check is configured for a server, When the response is parsed, the .health threshold of the agent must be updated on up/down/stopped/fail command and not the threshold of the health-check. Otherwise, the agent-check will compete with the health-check and may mark a DOWN server as UP. This patch should fix the issue #1176. It must be backported as far as 2.2.
This commit is contained in:
parent
5647fbacdf
commit
24ec943427
@ -836,22 +836,22 @@ enum tcpcheck_eval_ret tcpcheck_agent_expect_reply(struct check *check, struct t
|
||||
|
||||
/* first, health statuses */
|
||||
if (strcasecmp(cmd, "up") == 0) {
|
||||
check->server->check.health = check->server->check.rise + check->server->check.fall - 1;
|
||||
check->health = check->rise + check->fall - 1;
|
||||
status = HCHK_STATUS_L7OKD;
|
||||
hs = cmd;
|
||||
}
|
||||
else if (strcasecmp(cmd, "down") == 0) {
|
||||
check->server->check.health = 0;
|
||||
check->health = 0;
|
||||
status = HCHK_STATUS_L7STS;
|
||||
hs = cmd;
|
||||
}
|
||||
else if (strcasecmp(cmd, "stopped") == 0) {
|
||||
check->server->check.health = 0;
|
||||
check->health = 0;
|
||||
status = HCHK_STATUS_L7STS;
|
||||
hs = cmd;
|
||||
}
|
||||
else if (strcasecmp(cmd, "fail") == 0) {
|
||||
check->server->check.health = 0;
|
||||
check->health = 0;
|
||||
status = HCHK_STATUS_L7STS;
|
||||
hs = cmd;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user