mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 06:11:32 +02:00
MINOR: cli: Add possiblity to change agent config via CLI/socket
This change adds possibility to change agent-addr and agent-send directives by CLI/socket. Now you can replace server's and their configuration without reloading/restarting whole haproxy, so it's a step in no-reload/no-restart direction. Depends on #e9602af - agent-addr is implemented there. Can be backported to 1.7.
This commit is contained in:
parent
ea849333ca
commit
2da082d732
27
src/server.c
27
src/server.c
@ -3469,6 +3469,33 @@ static int cli_parse_set_server(char **args, struct appctx *appctx, void *privat
|
|||||||
appctx->st0 = CLI_ST_PRINT;
|
appctx->st0 = CLI_ST_PRINT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (strcmp(args[3], "agent-addr") == 0) {
|
||||||
|
if (!(sv->agent.state & CHK_ST_ENABLED)) {
|
||||||
|
appctx->ctx.cli.msg = "agent checks are not enabled on this server.\n";
|
||||||
|
appctx->st0 = CLI_ST_PRINT;
|
||||||
|
} else {
|
||||||
|
if (str2ip(args[4], &sv->agent.addr) == NULL) {
|
||||||
|
appctx->ctx.cli.msg = "incorrect addr address given for agent.\n";
|
||||||
|
appctx->st0 = CLI_ST_PRINT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (strcmp(args[3], "agent-send") == 0) {
|
||||||
|
if (!(sv->agent.state & CHK_ST_ENABLED)) {
|
||||||
|
appctx->ctx.cli.msg = "agent checks are not enabled on this server.\n";
|
||||||
|
appctx->st0 = CLI_ST_PRINT;
|
||||||
|
} else {
|
||||||
|
char *nss = strdup(args[4]);
|
||||||
|
if (!nss) {
|
||||||
|
appctx->ctx.cli.msg = "cannot allocate memory for new string.\n";
|
||||||
|
appctx->st0 = CLI_ST_PRINT;
|
||||||
|
} else {
|
||||||
|
free(sv->agent.send_string);
|
||||||
|
sv->agent.send_string = nss;
|
||||||
|
sv->agent.send_string_len = strlen(args[4]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (strcmp(args[3], "check-port") == 0) {
|
else if (strcmp(args[3], "check-port") == 0) {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
if (strl2irc(args[4], strlen(args[4]), &i) != 0) {
|
if (strl2irc(args[4], strlen(args[4]), &i) != 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user