mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-17 00:44:33 +00:00
MINOR: checks: support a neutral check result
Agent will have the ability to return a weight without indicating an up/down status. Currently this is not possible, so let's add a 5th result CHK_RES_NEUTRAL for this purpose. It has been mapped to the unused HCHK_STATUS_CHECKED which already serves as a neutral delimitor between initiated checks and those returning a result.
This commit is contained in:
parent
12634e1428
commit
23964187ae
@ -29,6 +29,7 @@
|
||||
*/
|
||||
enum chk_result {
|
||||
CHK_RES_UNKNOWN = 0, /* initialized to this by default */
|
||||
CHK_RES_NEUTRAL, /* valid check but no status information */
|
||||
CHK_RES_FAILED, /* check failed */
|
||||
CHK_RES_PASSED, /* check succeeded and server is fully up again */
|
||||
CHK_RES_CONDPASS, /* check reports the server doesn't want new sessions */
|
||||
|
@ -66,6 +66,8 @@ static const struct check_status check_statuses[HCHK_STATUS_SIZE] = {
|
||||
[HCHK_STATUS_INI] = { CHK_RES_UNKNOWN, "INI", "Initializing" },
|
||||
[HCHK_STATUS_START] = { /* SPECIAL STATUS*/ },
|
||||
|
||||
/* Below we have finished checks */
|
||||
[HCHK_STATUS_CHECKED] = { CHK_RES_NEUTRAL, "CHECKED", "No status change" },
|
||||
[HCHK_STATUS_HANA] = { CHK_RES_FAILED, "HANA", "Health analyze" },
|
||||
|
||||
[HCHK_STATUS_SOCKERR] = { CHK_RES_FAILED, "SOCKERR", "Socket error" },
|
||||
@ -232,6 +234,10 @@ static void set_server_check_status(struct check *check, short status, const cha
|
||||
tv_zero(&check->start);
|
||||
}
|
||||
|
||||
/* no change is expected if no state change occurred */
|
||||
if (check->result == CHK_RES_NEUTRAL)
|
||||
return;
|
||||
|
||||
report = 0;
|
||||
|
||||
switch (check->result) {
|
||||
|
Loading…
Reference in New Issue
Block a user