pacemaker
2.0.5-ba59be712
Scalable High-Availability cluster resource manager
|
#include <glib.h>
#include <crm/common/ipc.h>
#include <crm/common/xml.h>
#include <crm/common/output_internal.h>
#include <crm/stonith-ng.h>
Go to the source code of this file.
Macros | |
#define | stonith__set_device_flags(device_flags, device_id, flags_to_set) |
#define | stonith__set_call_options(st_call_opts, call_for, flags_to_set) |
#define | stonith__clear_call_options(st_call_opts, call_for, flags_to_clear) |
#define | ST_LEVEL_MAX 10 |
#define | F_STONITH_CLIENTID "st_clientid" |
#define | F_STONITH_CALLOPTS "st_callopt" |
#define | F_STONITH_CALLID "st_callid" |
#define | F_STONITH_CALLDATA "st_calldata" |
#define | F_STONITH_OPERATION "st_op" |
#define | F_STONITH_TARGET "st_target" |
#define | F_STONITH_REMOTE_OP_ID "st_remote_op" |
#define | F_STONITH_REMOTE_OP_ID_RELAY "st_remote_op_relay" |
#define | F_STONITH_RC "st_rc" |
#define | F_STONITH_TIMEOUT "st_timeout" |
#define | F_STONITH_TOLERANCE "st_tolerance" |
#define | F_STONITH_DELAY "st_delay" |
#define | F_STONITH_ACTION_TIMEOUT "st_action_timeout" |
#define | F_STONITH_ACTION_DISALLOWED "st_action_disallowed" |
#define | F_STONITH_DELAY_MAX "st_delay_max" |
#define | F_STONITH_DELAY_BASE "st_delay_base" |
#define | F_STONITH_DEVICE_VERIFIED "st_monitor_verified" |
#define | F_STONITH_DEVICE_REQUIRED "st_required" |
#define | F_STONITH_AVAILABLE_DEVICES "st-available-devices" |
#define | F_STONITH_CALLBACK_TOKEN "st_async_id" |
#define | F_STONITH_CLIENTNAME "st_clientname" |
#define | F_STONITH_CLIENTNODE "st_clientnode" |
#define | F_STONITH_NOTIFY_ACTIVATE "st_notify_activate" |
#define | F_STONITH_NOTIFY_DEACTIVATE "st_notify_deactivate" |
#define | F_STONITH_DELEGATE "st_delegate" |
#define | F_STONITH_ORIGIN "st_origin" |
#define | F_STONITH_HISTORY_LIST "st_history" |
#define | F_STONITH_DATE "st_date" |
#define | F_STONITH_STATE "st_state" |
#define | F_STONITH_ACTIVE "st_active" |
#define | F_STONITH_DIFFERENTIAL "st_differential" |
#define | F_STONITH_DEVICE "st_device_id" |
#define | F_STONITH_ACTION "st_device_action" |
#define | F_STONITH_MODE "st_mode" |
#define | F_STONITH_MERGED "st_op_merged" |
#define | T_STONITH_NG "stonith-ng" |
#define | T_STONITH_REPLY "st-reply" |
#define | T_STONITH_TIMEOUT_VALUE "st-async-timeout-value" |
#define | T_STONITH_NOTIFY "st_notify" |
#define | STONITH_ATTR_HOSTARG "pcmk_host_argument" |
#define | STONITH_ATTR_HOSTMAP "pcmk_host_map" |
#define | STONITH_ATTR_HOSTLIST "pcmk_host_list" |
#define | STONITH_ATTR_HOSTCHECK "pcmk_host_check" |
#define | STONITH_ATTR_DELAY_MAX "pcmk_delay_max" |
#define | STONITH_ATTR_DELAY_BASE "pcmk_delay_base" |
#define | STONITH_ATTR_ACTION_LIMIT "pcmk_action_limit" |
#define | STONITH_ATTR_ACTION_OP "action" |
#define | STONITH_OP_EXEC "st_execute" |
#define | STONITH_OP_TIMEOUT_UPDATE "st_timeout_update" |
#define | STONITH_OP_QUERY "st_query" |
#define | STONITH_OP_FENCE "st_fence" |
#define | STONITH_OP_RELAY "st_relay" |
#define | STONITH_OP_DEVICE_ADD "st_device_register" |
#define | STONITH_OP_DEVICE_DEL "st_device_remove" |
#define | STONITH_OP_FENCE_HISTORY "st_fence_history" |
#define | STONITH_OP_LEVEL_ADD "st_level_add" |
#define | STONITH_OP_LEVEL_DEL "st_level_remove" |
#define | STONITH_WATCHDOG_AGENT "#watchdog" |
Typedefs | |
typedef struct stonith_action_s | stonith_action_t |
Enumerations | |
enum | st_device_flags { st_device_supports_list = 0x0001, st_device_supports_status = 0x0002, st_device_supports_reboot = 0x0004, st_device_supports_parameter_plug = 0x0008, st_device_supports_parameter_port = 0x0010 } |
Functions | |
stonith_action_t * | stonith_action_create (const char *agent, const char *_action, const char *victim, uint32_t victim_nodeid, int timeout, GHashTable *device_args, GHashTable *port_map, const char *host_arg) |
void | stonith__destroy_action (stonith_action_t *action) |
void | stonith__action_result (stonith_action_t *action, int *rc, char **output, char **error_output) |
int | stonith_action_execute_async (stonith_action_t *action, void *userdata, void(*done)(GPid pid, int rc, const char *output, gpointer user_data), void(*fork_cb)(GPid pid, gpointer user_data)) |
int | stonith__execute (stonith_action_t *action) |
xmlNode * | create_level_registration_xml (const char *node, const char *pattern, const char *attr, const char *value, int level, stonith_key_value_t *device_list) |
xmlNode * | create_device_registration_xml (const char *id, enum stonith_namespace namespace, const char *agent, stonith_key_value_t *params, const char *rsc_provides) |
void | stonith__register_messages (pcmk__output_t *out) |
GList * | stonith__parse_targets (const char *hosts) |
gboolean | stonith__later_succeeded (stonith_history_t *event, stonith_history_t *top_history) |
stonith_history_t * | stonith__sort_history (stonith_history_t *history) |
void | stonith__device_parameter_flags (uint32_t *device_flags, const char *device_name, xmlNode *metadata) |
int | stonith__list_rhcs_agents (stonith_key_value_t **devices) |
int | stonith__rhcs_metadata (const char *agent, int timeout, char **output) |
Execute RHCS-compatible agent's meta-data action. More... | |
bool | stonith__agent_is_rhcs (const char *agent) |
int | stonith__rhcs_validate (stonith_t *st, int call_options, const char *target, const char *agent, GHashTable *params, const char *host_arg, int timeout, char **output, char **error_output) |
int | stonith__failed_history (pcmk__output_t *out, va_list args) |
int | stonith__history (pcmk__output_t *out, va_list args) |
int | stonith__full_history (pcmk__output_t *out, va_list args) |
int | stonith__full_history_xml (pcmk__output_t *out, va_list args) |
int | stonith__last_fenced_html (pcmk__output_t *out, va_list args) |
int | stonith__last_fenced_text (pcmk__output_t *out, va_list args) |
int | stonith__last_fenced_xml (pcmk__output_t *out, va_list args) |
int | stonith__pending_actions (pcmk__output_t *out, va_list args) |
int | stonith__event_html (pcmk__output_t *out, va_list args) |
int | stonith__event_text (pcmk__output_t *out, va_list args) |
int | stonith__event_xml (pcmk__output_t *out, va_list args) |
int | stonith__validate_agent_html (pcmk__output_t *out, va_list args) |
int | stonith__validate_agent_text (pcmk__output_t *out, va_list args) |
int | stonith__validate_agent_xml (pcmk__output_t *out, va_list args) |
stonith_history_t * | stonith__first_matching_event (stonith_history_t *history, bool(*matching_fn)(stonith_history_t *, void *), void *user_data) |
bool | stonith__event_state_pending (stonith_history_t *history, void *user_data) |
bool | stonith__event_state_eq (stonith_history_t *history, void *user_data) |
bool | stonith__event_state_neq (stonith_history_t *history, void *user_data) |
#define F_STONITH_ACTION "st_device_action" |
Definition at line 143 of file internal.h.
#define F_STONITH_ACTION_DISALLOWED "st_action_disallowed" |
Host in query result is not allowed to run this action
Definition at line 113 of file internal.h.
#define F_STONITH_ACTION_TIMEOUT "st_action_timeout" |
Action specific timeout period returned in query of fencing devices.
Definition at line 111 of file internal.h.
#define F_STONITH_ACTIVE "st_active" |
Definition at line 139 of file internal.h.
#define F_STONITH_AVAILABLE_DEVICES "st-available-devices" |
number of available devices in query result
Definition at line 124 of file internal.h.
#define F_STONITH_CALLBACK_TOKEN "st_async_id" |
Definition at line 125 of file internal.h.
#define F_STONITH_CALLDATA "st_calldata" |
Definition at line 100 of file internal.h.
#define F_STONITH_CALLID "st_callid" |
Definition at line 99 of file internal.h.
#define F_STONITH_CALLOPTS "st_callopt" |
Definition at line 98 of file internal.h.
#define F_STONITH_CLIENTID "st_clientid" |
Definition at line 97 of file internal.h.
#define F_STONITH_CLIENTNAME "st_clientname" |
Definition at line 126 of file internal.h.
#define F_STONITH_CLIENTNODE "st_clientnode" |
Definition at line 127 of file internal.h.
#define F_STONITH_DATE "st_date" |
Definition at line 137 of file internal.h.
#define F_STONITH_DELAY "st_delay" |
Definition at line 109 of file internal.h.
#define F_STONITH_DELAY_BASE "st_delay_base" |
Base delay used for a fencing delay
Definition at line 117 of file internal.h.
#define F_STONITH_DELAY_MAX "st_delay_max" |
Maximum of random fencing delay for a device
Definition at line 115 of file internal.h.
#define F_STONITH_DELEGATE "st_delegate" |
Definition at line 130 of file internal.h.
#define F_STONITH_DEVICE "st_device_id" |
Definition at line 142 of file internal.h.
#define F_STONITH_DEVICE_REQUIRED "st_required" |
device is required for this action
Definition at line 122 of file internal.h.
#define F_STONITH_DEVICE_VERIFIED "st_monitor_verified" |
Has this device been verified using a monitor type operation (monitor, list, status)
Definition at line 120 of file internal.h.
#define F_STONITH_DIFFERENTIAL "st_differential" |
Definition at line 140 of file internal.h.
#define F_STONITH_HISTORY_LIST "st_history" |
Definition at line 136 of file internal.h.
#define F_STONITH_MERGED "st_op_merged" |
Definition at line 145 of file internal.h.
#define F_STONITH_MODE "st_mode" |
Definition at line 144 of file internal.h.
#define F_STONITH_NOTIFY_ACTIVATE "st_notify_activate" |
Definition at line 128 of file internal.h.
#define F_STONITH_NOTIFY_DEACTIVATE "st_notify_deactivate" |
Definition at line 129 of file internal.h.
#define F_STONITH_OPERATION "st_op" |
Definition at line 101 of file internal.h.
#define F_STONITH_ORIGIN "st_origin" |
The node initiating the stonith operation. If an operation is relayed, this is the last node the operation lands on. When in standalone mode, origin is the client's id that originated the operation.
Definition at line 135 of file internal.h.
#define F_STONITH_RC "st_rc" |
Definition at line 105 of file internal.h.
#define F_STONITH_REMOTE_OP_ID "st_remote_op" |
Definition at line 103 of file internal.h.
#define F_STONITH_REMOTE_OP_ID_RELAY "st_remote_op_relay" |
Definition at line 104 of file internal.h.
#define F_STONITH_STATE "st_state" |
Definition at line 138 of file internal.h.
#define F_STONITH_TARGET "st_target" |
Definition at line 102 of file internal.h.
#define F_STONITH_TIMEOUT "st_timeout" |
Timeout period per a device execution
Definition at line 107 of file internal.h.
#define F_STONITH_TOLERANCE "st_tolerance" |
Definition at line 108 of file internal.h.
#define ST_LEVEL_MAX 10 |
Definition at line 95 of file internal.h.
#define stonith__clear_call_options | ( | st_call_opts, | |
call_for, | |||
flags_to_clear | |||
) |
Definition at line 42 of file internal.h.
#define stonith__set_call_options | ( | st_call_opts, | |
call_for, | |||
flags_to_set | |||
) |
Definition at line 35 of file internal.h.
#define stonith__set_device_flags | ( | device_flags, | |
device_id, | |||
flags_to_set | |||
) |
Definition at line 28 of file internal.h.
#define STONITH_ATTR_ACTION_LIMIT "pcmk_action_limit" |
Definition at line 161 of file internal.h.
#define STONITH_ATTR_ACTION_OP "action" |
Definition at line 163 of file internal.h.
#define STONITH_ATTR_DELAY_BASE "pcmk_delay_base" |
Definition at line 160 of file internal.h.
#define STONITH_ATTR_DELAY_MAX "pcmk_delay_max" |
Definition at line 159 of file internal.h.
#define STONITH_ATTR_HOSTARG "pcmk_host_argument" |
Definition at line 155 of file internal.h.
#define STONITH_ATTR_HOSTCHECK "pcmk_host_check" |
Definition at line 158 of file internal.h.
#define STONITH_ATTR_HOSTLIST "pcmk_host_list" |
Definition at line 157 of file internal.h.
#define STONITH_ATTR_HOSTMAP "pcmk_host_map" |
Definition at line 156 of file internal.h.
#define STONITH_OP_DEVICE_ADD "st_device_register" |
Definition at line 170 of file internal.h.
#define STONITH_OP_DEVICE_DEL "st_device_remove" |
Definition at line 171 of file internal.h.
#define STONITH_OP_EXEC "st_execute" |
Definition at line 165 of file internal.h.
#define STONITH_OP_FENCE "st_fence" |
Definition at line 168 of file internal.h.
#define STONITH_OP_FENCE_HISTORY "st_fence_history" |
Definition at line 172 of file internal.h.
#define STONITH_OP_LEVEL_ADD "st_level_add" |
Definition at line 173 of file internal.h.
#define STONITH_OP_LEVEL_DEL "st_level_remove" |
Definition at line 174 of file internal.h.
#define STONITH_OP_QUERY "st_query" |
Definition at line 167 of file internal.h.
#define STONITH_OP_RELAY "st_relay" |
Definition at line 169 of file internal.h.
#define STONITH_OP_TIMEOUT_UPDATE "st_timeout_update" |
Definition at line 166 of file internal.h.
#define STONITH_WATCHDOG_AGENT "#watchdog" |
Definition at line 176 of file internal.h.
#define T_STONITH_NG "stonith-ng" |
Definition at line 147 of file internal.h.
#define T_STONITH_NOTIFY "st_notify" |
Definition at line 153 of file internal.h.
#define T_STONITH_REPLY "st-reply" |
Definition at line 148 of file internal.h.
#define T_STONITH_TIMEOUT_VALUE "st-async-timeout-value" |
For async operations, an event from the server containing the total amount of time the server is allowing for the operation to take place is returned to the client.
Definition at line 152 of file internal.h.
typedef struct stonith_action_s stonith_action_t |
Definition at line 50 of file internal.h.
enum st_device_flags |
Enumerator | |
---|---|
st_device_supports_list | |
st_device_supports_status | |
st_device_supports_reboot | |
st_device_supports_parameter_plug | |
st_device_supports_parameter_port |
Definition at line 19 of file internal.h.
xmlNode* create_device_registration_xml | ( | const char * | id, |
enum stonith_namespace | namespace, | ||
const char * | agent, | ||
stonith_key_value_t * | params, | ||
const char * | rsc_provides | ||
) |
Definition at line 274 of file st_client.c.
xmlNode* create_level_registration_xml | ( | const char * | node, |
const char * | pattern, | ||
const char * | attr, | ||
const char * | value, | ||
int | level, | ||
stonith_key_value_t * | device_list | ||
) |
Definition at line 394 of file st_client.c.
void stonith__action_result | ( | stonith_action_t * | action, |
int * | rc, | ||
char ** | output, | ||
char ** | error_output | ||
) |
Definition at line 613 of file st_client.c.
void stonith__destroy_action | ( | stonith_action_t * | action | ) |
Definition at line 582 of file st_client.c.
void stonith__device_parameter_flags | ( | uint32_t * | device_flags, |
const char * | device_name, | ||
xmlNode * | metadata | ||
) |
Definition at line 2660 of file st_client.c.
int stonith__event_html | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 229 of file st_output.c.
bool stonith__event_state_eq | ( | stonith_history_t * | history, |
void * | user_data | ||
) |
Definition at line 2636 of file st_client.c.
bool stonith__event_state_neq | ( | stonith_history_t * | history, |
void * | user_data | ||
) |
Definition at line 2642 of file st_client.c.
bool stonith__event_state_pending | ( | stonith_history_t * | history, |
void * | user_data | ||
) |
Definition at line 2630 of file st_client.c.
int stonith__event_text | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 277 of file st_output.c.
int stonith__event_xml | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 315 of file st_output.c.
int stonith__execute | ( | stonith_action_t * | action | ) |
Definition at line 897 of file st_client.c.
int stonith__failed_history | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 34 of file st_output.c.
stonith_history_t* stonith__first_matching_event | ( | stonith_history_t * | history, |
bool(*)(stonith_history_t *, void *) | matching_fn, | ||
void * | user_data | ||
) |
Definition at line 2616 of file st_client.c.
int stonith__full_history | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 88 of file st_output.c.
int stonith__full_history_xml | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 113 of file st_output.c.
int stonith__history | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 62 of file st_output.c.
int stonith__last_fenced_html | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 149 of file st_output.c.
int stonith__last_fenced_text | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 165 of file st_output.c.
int stonith__last_fenced_xml | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 180 of file st_output.c.
gboolean stonith__later_succeeded | ( | stonith_history_t * | event, |
stonith_history_t * | top_history | ||
) |
Definition at line 2540 of file st_client.c.
int stonith__list_rhcs_agents | ( | stonith_key_value_t ** | devices | ) |
GList* stonith__parse_targets | ( | const char * | hosts | ) |
Definition at line 2500 of file st_client.c.
int stonith__pending_actions | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 200 of file st_output.c.
void stonith__register_messages | ( | pcmk__output_t * | out | ) |
Definition at line 459 of file st_output.c.
int stonith__rhcs_metadata | ( | const char * | agent, |
int | timeout, | ||
char ** | output | ||
) |
int stonith__rhcs_validate | ( | stonith_t * | st, |
int | call_options, | ||
const char * | target, | ||
const char * | agent, | ||
GHashTable * | params, | ||
const char * | host_arg, | ||
int | timeout, | ||
char ** | output, | ||
char ** | error_output | ||
) |
stonith_history_t* stonith__sort_history | ( | stonith_history_t * | history | ) |
Definition at line 2571 of file st_client.c.
int stonith__validate_agent_html | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 361 of file st_output.c.
int stonith__validate_agent_text | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 386 of file st_output.c.
int stonith__validate_agent_xml | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
Definition at line 414 of file st_output.c.
stonith_action_t* stonith_action_create | ( | const char * | agent, |
const char * | _action, | ||
const char * | victim, | ||
uint32_t | victim_nodeid, | ||
int | timeout, | ||
GHashTable * | device_args, | ||
GHashTable * | port_map, | ||
const char * | host_arg | ||
) |
Definition at line 642 of file st_client.c.
int stonith_action_execute_async | ( | stonith_action_t * | action, |
void * | userdata, | ||
void(*)(GPid pid, int rc, const char *output, gpointer user_data) | done, | ||
void(*)(GPid pid, gpointer user_data) | fork_cb | ||
) |
Definition at line 870 of file st_client.c.