Fixed monitor scripts and added extra logging.
This commit is contained in:
@ -114,6 +114,7 @@ EXTERNCMD* externcmd_allocate(char* argstr)
|
|||||||
externcmd_free(cmd);
|
externcmd_free(cmd);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
skygw_log_write(LT, "Executing script %s.", cmd->parameters[0]);
|
||||||
}
|
}
|
||||||
return cmd;
|
return cmd;
|
||||||
}
|
}
|
||||||
|
@ -294,31 +294,37 @@ bool mon_print_fail_status(
|
|||||||
return succp;
|
return succp;
|
||||||
}
|
}
|
||||||
|
|
||||||
void monitor_launch_script(MONITOR* mon,MONITOR_SERVERS* ptr, char* script)
|
/**
|
||||||
|
* Launch a script
|
||||||
|
* @param mon Owning monitor
|
||||||
|
* @param ptr The server which has changed state
|
||||||
|
* @param script Script to execute
|
||||||
|
*/
|
||||||
|
void monitor_launch_script(MONITOR* mon, MONITOR_SERVERS* ptr, char* script)
|
||||||
{
|
{
|
||||||
char argstr[PATH_MAX + MON_ARG_MAX + 1];
|
char argstr[PATH_MAX + MON_ARG_MAX + 1];
|
||||||
EXTERNCMD* cmd;
|
EXTERNCMD* cmd;
|
||||||
|
|
||||||
snprintf(argstr,PATH_MAX + MON_ARG_MAX,
|
snprintf(argstr, PATH_MAX + MON_ARG_MAX,
|
||||||
"%s --event=%s --initiator=%s:%d --nodelist=",
|
"%s --event=%s --initiator=%s:%d --nodelist=",
|
||||||
script,
|
script,
|
||||||
mon_get_event_name(ptr),
|
mon_get_event_name(ptr),
|
||||||
ptr->server->name,
|
ptr->server->name,
|
||||||
ptr->server->port);
|
ptr->server->port);
|
||||||
|
|
||||||
mon_append_node_names(mon->databases,argstr,PATH_MAX + MON_ARG_MAX);
|
mon_append_node_names(mon->databases, argstr, PATH_MAX + MON_ARG_MAX);
|
||||||
if((cmd = externcmd_allocate(argstr)) == NULL)
|
if ((cmd = externcmd_allocate(argstr)) == NULL)
|
||||||
{
|
{
|
||||||
skygw_log_write(LE,"Failed to initialize script: %s",script);
|
skygw_log_write(LE, "Failed to initialize script: %s", script);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(externcmd_execute(cmd))
|
if (externcmd_execute(cmd))
|
||||||
{
|
{
|
||||||
skygw_log_write(LOGFILE_ERROR,
|
skygw_log_write(LOGFILE_ERROR,
|
||||||
"Error: Failed to execute script "
|
"Error: Failed to execute script "
|
||||||
"'%s' on server state change event %s.",
|
"'%s' on server state change event %s.",
|
||||||
script,mon_get_event_type(ptr));
|
script, mon_get_event_name(ptr));
|
||||||
}
|
}
|
||||||
externcmd_free(cmd);
|
externcmd_free(cmd);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user