mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-05 19:52:14 +00:00
MINOR: checks: add a flag to indicate what check is an agent
Currently to know if a check is an agent, we compare its pointer to its servers' agent pointer. Better have a flag in its state to indicate this.
This commit is contained in:
parent
d8514a2a05
commit
3343432fcd
@ -39,6 +39,7 @@ enum chk_result {
|
||||
#define CHK_ST_CONFIGURED 0x0002 /* this check is configured and may be enabled */
|
||||
#define CHK_ST_ENABLED 0x0004 /* this check is currently administratively enabled */
|
||||
#define CHK_ST_PAUSED 0x0008 /* checks are paused because of maintenance (health only) */
|
||||
#define CHK_ST_AGENT 0x0010 /* check is an agent check (otherwise it's a health check) */
|
||||
|
||||
/* check status */
|
||||
enum {
|
||||
|
@ -5146,7 +5146,7 @@ stats_error_parsing:
|
||||
goto out;
|
||||
}
|
||||
|
||||
newsrv->agent.state |= CHK_ST_CONFIGURED | CHK_ST_ENABLED;
|
||||
newsrv->agent.state |= CHK_ST_CONFIGURED | CHK_ST_ENABLED | CHK_ST_AGENT;
|
||||
}
|
||||
|
||||
if (!defsrv) {
|
||||
|
@ -233,7 +233,7 @@ static void set_server_check_status(struct check *check, short status, const cha
|
||||
/* Failure to connect to the agent as a secondary check should not
|
||||
* cause the server to be marked down. So only log status changes
|
||||
* for HCHK_STATUS_* statuses */
|
||||
if (check == &s->agent && check->status < HCHK_STATUS_L7TOUT)
|
||||
if ((check->state & CHK_ST_AGENT) && check->status < HCHK_STATUS_L7TOUT)
|
||||
return;
|
||||
|
||||
if (s->proxy->options2 & PR_O2_LOGHCHKS &&
|
||||
@ -626,7 +626,7 @@ static void check_failed(struct check *check)
|
||||
* The implication here is that failure to connect to the agent
|
||||
* as a secondary check should not cause the server to be marked
|
||||
* down. */
|
||||
if (check == &s->agent && check->status != HCHK_STATUS_L7STS)
|
||||
if ((check->state & CHK_ST_AGENT) && check->status != HCHK_STATUS_L7STS)
|
||||
return;
|
||||
|
||||
if (check->health > check->rise) {
|
||||
@ -1532,7 +1532,7 @@ static struct task *process_chk(struct task *t)
|
||||
* configuration of the primary check. Similarly, tcp-check uses
|
||||
* its own strings.
|
||||
*/
|
||||
if (check->type && check->type != PR_O2_TCPCHK_CHK && check != &s->agent) {
|
||||
if (check->type && check->type != PR_O2_TCPCHK_CHK && !(check->state & CHK_ST_AGENT)) {
|
||||
bo_putblk(check->bo, s->proxy->check_req, s->proxy->check_len);
|
||||
|
||||
/* we want to check if this host replies to HTTP or SSLv3 requests
|
||||
|
Loading…
Reference in New Issue
Block a user