pacemaker
2.1.7-0f7f88312f
Scalable High-Availability cluster resource manager
|
#include <crm_internal.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include <ctype.h>
#include <inttypes.h>
#include <sys/types.h>
#include <glib.h>
#include <crm/crm.h>
#include <crm/stonith-ng.h>
#include <crm/fencing/internal.h>
#include <crm/msg_xml.h>
#include <crm/common/mainloop.h>
#include "fencing_private.h"
Go to the source code of this file.
Data Structures | |
struct | timer_rec_s |
Macros | |
#define | api_log_open() openlog("stonith-api", LOG_CONS | LOG_NDELAY | LOG_PID, LOG_DAEMON) |
#define | api_log(level, fmt, args...) syslog(level, "%s: "fmt, __func__, args) |
Typedefs | |
typedef struct stonith_private_s | stonith_private_t |
typedef struct stonith_notify_client_s | stonith_notify_client_t |
typedef struct stonith_callback_client_s | stonith_callback_client_t |
typedef int(* | stonith_op_t) (const char *, int, const char *, xmlNode *, xmlNode *, xmlNode *, xmlNode **, xmlNode **) |
Functions | |
CRM_TRACE_INIT_DATA (stonith) | |
bool | stonith_dispatch (stonith_t *st) |
xmlNode * | stonith_create_op (int call_id, const char *token, const char *op, xmlNode *data, int call_options) |
enum stonith_namespace | stonith_text2namespace (const char *namespace_s) |
Get agent namespace by name. More... | |
const char * | stonith_namespace2text (enum stonith_namespace st_namespace) |
Get agent namespace name. More... | |
enum stonith_namespace | stonith_get_namespace (const char *agent, const char *namespace_s) |
Determine namespace of a fence agent. More... | |
gboolean | stonith__watchdog_fencing_enabled_for_node_api (stonith_t *st, const char *node) |
gboolean | stonith__watchdog_fencing_enabled_for_node (const char *node) |
xmlNode * | create_device_registration_xml (const char *id, enum stonith_namespace namespace, const char *agent, const stonith_key_value_t *params, const char *rsc_provides) |
xmlNode * | create_level_registration_xml (const char *node, const char *pattern, const char *attr, const char *value, int level, const stonith_key_value_t *device_list) |
void | stonith_history_free (stonith_history_t *history) |
void | stonith_dump_pending_callbacks (stonith_t *stonith) |
void | stonith_api_delete (stonith_t *stonith) |
stonith_t * | stonith_api_new (void) |
int | stonith_api_connect_retry (stonith_t *st, const char *name, int max_attempts) |
Make a blocking connection attempt to the fencer. More... | |
stonith_key_value_t * | stonith_key_value_add (stonith_key_value_t *head, const char *key, const char *value) |
void | stonith_key_value_freeall (stonith_key_value_t *head, int keys, int values) |
int | stonith_api_kick (uint32_t nodeid, const char *uname, int timeout, bool off) |
time_t | stonith_api_time (uint32_t nodeid, const char *uname, bool in_progress) |
bool | stonith_agent_exists (const char *agent, int timeout) |
const char * | stonith_action_str (const char *action) |
Turn fence action into a more readable string. More... | |
GList * | stonith__parse_targets (const char *target_spec) |
const char * | stonith__later_succeeded (const stonith_history_t *event, const stonith_history_t *top_history) |
stonith_history_t * | stonith__sort_history (stonith_history_t *history) |
const char * | stonith_op_state_str (enum op_state state) |
Return string equivalent of an operation state value. More... | |
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) |
void | stonith__device_parameter_flags (uint32_t *device_flags, const char *device_name, xmlNode *metadata) |
int | stonith__metadata_async (const char *agent, int timeout_sec, void(*callback)(int pid, const pcmk__action_result_t *result, void *user_data), void *user_data) |
int | stonith__exit_status (const stonith_callback_data_t *data) |
int | stonith__execution_status (const stonith_callback_data_t *data) |
const char * | stonith__exit_reason (const stonith_callback_data_t *data) |
int | stonith__event_exit_status (const stonith_event_t *event) |
int | stonith__event_execution_status (const stonith_event_t *event) |
const char * | stonith__event_exit_reason (const stonith_event_t *event) |
char * | stonith__event_description (const stonith_event_t *event) |
const char * | get_stonith_provider (const char *agent, const char *provider) |
#define api_log | ( | level, | |
fmt, | |||
args... | |||
) | syslog(level, "%s: "fmt, __func__, args) |
Definition at line 1968 of file st_client.c.
#define api_log_open | ( | ) | openlog("stonith-api", LOG_CONS | LOG_NDELAY | LOG_PID, LOG_DAEMON) |
Definition at line 1967 of file st_client.c.
typedef struct stonith_callback_client_s stonith_callback_client_t |
typedef struct stonith_notify_client_s stonith_notify_client_t |
typedef int(* stonith_op_t) (const char *, int, const char *, xmlNode *, xmlNode *, xmlNode *, xmlNode **, xmlNode **) |
Definition at line 82 of file st_client.c.
typedef struct stonith_private_s stonith_private_t |
xmlNode* create_device_registration_xml | ( | const char * | id, |
enum stonith_namespace | namespace, | ||
const char * | agent, | ||
const stonith_key_value_t * | params, | ||
const char * | rsc_provides | ||
) |
Definition at line 293 of file st_client.c.
xmlNode* create_level_registration_xml | ( | const char * | node, |
const char * | pattern, | ||
const char * | attr, | ||
const char * | value, | ||
int | level, | ||
const stonith_key_value_t * | device_list | ||
) |
Definition at line 415 of file st_client.c.
CRM_TRACE_INIT_DATA | ( | stonith | ) |
const char* get_stonith_provider | ( | const char * | agent, |
const char * | provider | ||
) |
Definition at line 2708 of file st_client.c.
void stonith__device_parameter_flags | ( | uint32_t * | device_flags, |
const char * | device_name, | ||
xmlNode * | metadata | ||
) |
Definition at line 2400 of file st_client.c.
char* stonith__event_description | ( | const stonith_event_t * | event | ) |
Definition at line 2644 of file st_client.c.
int stonith__event_execution_status | ( | const stonith_event_t * | event | ) |
Definition at line 2602 of file st_client.c.
const char* stonith__event_exit_reason | ( | const stonith_event_t * | event | ) |
Definition at line 2622 of file st_client.c.
int stonith__event_exit_status | ( | const stonith_event_t * | event | ) |
Definition at line 2582 of file st_client.c.
bool stonith__event_state_eq | ( | stonith_history_t * | history, |
void * | user_data | ||
) |
Definition at line 2388 of file st_client.c.
bool stonith__event_state_neq | ( | stonith_history_t * | history, |
void * | user_data | ||
) |
Definition at line 2394 of file st_client.c.
bool stonith__event_state_pending | ( | stonith_history_t * | history, |
void * | user_data | ||
) |
Definition at line 2382 of file st_client.c.
int stonith__execution_status | ( | const stonith_callback_data_t * | data | ) |
Definition at line 2548 of file st_client.c.
const char* stonith__exit_reason | ( | const stonith_callback_data_t * | data | ) |
Definition at line 2565 of file st_client.c.
int stonith__exit_status | ( | const stonith_callback_data_t * | data | ) |
Definition at line 2531 of file st_client.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 2368 of file st_client.c.
const char* stonith__later_succeeded | ( | const stonith_history_t * | event, |
const stonith_history_t * | top_history | ||
) |
Definition at line 2261 of file st_client.c.
int stonith__metadata_async | ( | const char * | agent, |
int | timeout_sec, | ||
void(*)(int pid, const pcmk__action_result_t *result, void *user_data) | callback, | ||
void * | user_data | ||
) |
Definition at line 2461 of file st_client.c.
GList* stonith__parse_targets | ( | const char * | target_spec | ) |
Definition at line 2217 of file st_client.c.
stonith_history_t* stonith__sort_history | ( | stonith_history_t * | history | ) |
Definition at line 2301 of file st_client.c.
gboolean stonith__watchdog_fencing_enabled_for_node | ( | const char * | node | ) |
Definition at line 231 of file st_client.c.
gboolean stonith__watchdog_fencing_enabled_for_node_api | ( | stonith_t * | st, |
const char * | node | ||
) |
Definition at line 172 of file st_client.c.
const char* stonith_action_str | ( | const char * | action | ) |
Turn fence action into a more readable string.
[in] | action | Fence action |
Definition at line 2108 of file st_client.c.
bool stonith_agent_exists | ( | const char * | agent, |
int | timeout | ||
) |
Does the given agent describe a stonith resource that can exist?
[in] | agent | What is the name of the agent? |
[in] | timeout | Timeout to use when querying. If 0 is given, use a default of 120. |
Definition at line 2077 of file st_client.c.
int stonith_api_connect_retry | ( | stonith_t * | st, |
const char * | name, | ||
int | max_attempts | ||
) |
Make a blocking connection attempt to the fencer.
[in,out] | st | Fencer API object |
[in] | name | Client name to use with fencer |
[in] | max_attempts | Return error if this many attempts fail |
Definition at line 1906 of file st_client.c.
void stonith_api_delete | ( | stonith_t * | stonith | ) |
Definition at line 1720 of file st_client.c.
int stonith_api_kick | ( | uint32_t | nodeid, |
const char * | uname, | ||
int | timeout, | ||
bool | off | ||
) |
Definition at line 1971 of file st_client.c.
stonith_t* stonith_api_new | ( | void | ) |
Definition at line 1828 of file st_client.c.
time_t stonith_api_time | ( | uint32_t | nodeid, |
const char * | uname, | ||
bool | in_progress | ||
) |
Definition at line 2013 of file st_client.c.
xmlNode * stonith_create_op | ( | int | call_id, |
const char * | token, | ||
const char * | op, | ||
xmlNode * | data, | ||
int | call_options | ||
) |
Definition at line 806 of file st_client.c.
bool stonith_dispatch | ( | stonith_t * | st | ) |
Definition at line 1660 of file st_client.c.
void stonith_dump_pending_callbacks | ( | stonith_t * | stonith | ) |
Definition at line 1364 of file st_client.c.
enum stonith_namespace stonith_get_namespace | ( | const char * | agent, |
const char * | namespace_s | ||
) |
Determine namespace of a fence agent.
[in] | agent | Fence agent type |
[in] | namespace_s | Name of agent namespace as string, if known |
Definition at line 151 of file st_client.c.
void stonith_history_free | ( | stonith_history_t * | history | ) |
Definition at line 759 of file st_client.c.
stonith_key_value_t* stonith_key_value_add | ( | stonith_key_value_t * | head, |
const char * | key, | ||
const char * | value | ||
) |
Definition at line 1927 of file st_client.c.
void stonith_key_value_freeall | ( | stonith_key_value_t * | head, |
int | keys, | ||
int | values | ||
) |
Definition at line 1950 of file st_client.c.
const char* stonith_namespace2text | ( | enum stonith_namespace | st_namespace | ) |
Get agent namespace name.
[in] | namespace | Namespace as enum value |
Definition at line 130 of file st_client.c.
const char* stonith_op_state_str | ( | enum op_state | state | ) |
Return string equivalent of an operation state value.
[in] | state | Fencing operation state value |
Definition at line 2355 of file st_client.c.
enum stonith_namespace stonith_text2namespace | ( | const char * | namespace_s | ) |
Get agent namespace by name.
[in] | namespace_s | Name of namespace as string |
Definition at line 104 of file st_client.c.