pacemaker
2.1.7-0f7f88312f
Scalable High-Availability cluster resource manager
|
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include <crm/msg_xml.h>
#include <crm/pengine/status.h>
#include <crm/pengine/remote_internal.h>
#include <crm/common/internal.h>
#include <crm/common/options_internal.h>
#include <crm/common/output_internal.h>
#include <crm/common/scheduler_internal.h>
Go to the source code of this file.
Data Structures | |
struct | pe__location_constraint_s |
struct | pe__order_constraint_s |
struct | op_digest_cache_s |
struct | pe__bundle_replica_t |
A single instance of a bundle. More... | |
Macros | |
#define | pe_rsc_info(rsc, fmt, args...) crm_log_tag(LOG_INFO, rsc ? rsc->id : "<NULL>", fmt, ##args) |
#define | pe_rsc_debug(rsc, fmt, args...) crm_log_tag(LOG_DEBUG, rsc ? rsc->id : "<NULL>", fmt, ##args) |
#define | pe_rsc_trace(rsc, fmt, args...) crm_log_tag(LOG_TRACE, rsc ? rsc->id : "<NULL>", fmt, ##args) |
#define | pe_err(fmt...) |
#define | pe_warn(fmt...) |
#define | pe_proc_err(fmt...) { was_processing_error = TRUE; crm_err(fmt); } |
#define | pe_proc_warn(fmt...) { was_processing_warning = TRUE; crm_warn(fmt); } |
#define | pe__set_working_set_flags(scheduler, flags_to_set) |
#define | pe__clear_working_set_flags(scheduler, flags_to_clear) |
#define | pe__set_resource_flags(resource, flags_to_set) |
#define | pe__clear_resource_flags(resource, flags_to_clear) |
#define | pe__set_action_flags(action, flags_to_set) |
#define | pe__clear_action_flags(action, flags_to_clear) |
#define | pe__set_raw_action_flags(action_flags, action_name, flags_to_set) |
#define | pe__clear_raw_action_flags(action_flags, action_name, flags_to_clear) |
#define | pe__set_action_flags_as(function, line, action, flags_to_set) |
#define | pe__clear_action_flags_as(function, line, action, flags_to_clear) |
#define | pe__set_order_flags(order_flags, flags_to_set) |
#define | pe__clear_order_flags(order_flags, flags_to_clear) |
#define | pe_warn_once(pe_wo_bit, fmt...) |
#define | pe__show_node_scores(level, rsc, text, nodes, scheduler) |
#define | delete_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_DELETE, 0) |
#define | delete_action(rsc, node, optional) |
#define | stop_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_STOP, 0) |
#define | stop_action(rsc, node, optional) |
#define | reload_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_RELOAD_AGENT, 0) |
#define | start_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_START, 0) |
#define | start_action(rsc, node, optional) |
#define | promote_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_PROMOTE, 0) |
#define | promote_action(rsc, node, optional) |
#define | demote_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_DEMOTE, 0) |
#define | demote_action(rsc, node, optional) |
Typedefs | |
typedef struct pe__location_constraint_s | pe__location_t |
typedef struct pe__order_constraint_s | pe__ordering_t |
typedef struct op_digest_cache_s | op_digest_cache_t |
Functions | |
const char * | pe__resource_description (const pcmk_resource_t *rsc, uint32_t show_opts) |
bool | pe__clone_is_ordered (const pcmk_resource_t *clone) |
int | pe__set_clone_flag (pcmk_resource_t *clone, enum pcmk__clone_flags flag) |
bool | pe__clone_flag_is_set (const pcmk_resource_t *clone, uint32_t flags) |
bool | pe__group_flag_is_set (const pcmk_resource_t *group, uint32_t flags) |
pcmk_resource_t * | pe__last_group_member (const pcmk_resource_t *group) |
const pcmk_resource_t * | pe__const_top_resource (const pcmk_resource_t *rsc, bool include_bundle) |
int | pe__clone_max (const pcmk_resource_t *clone) |
int | pe__clone_node_max (const pcmk_resource_t *clone) |
int | pe__clone_promoted_max (const pcmk_resource_t *clone) |
int | pe__clone_promoted_node_max (const pcmk_resource_t *clone) |
void | pe__create_clone_notifications (pcmk_resource_t *clone) |
void | pe__free_clone_notification_data (pcmk_resource_t *clone) |
void | pe__create_clone_notif_pseudo_ops (pcmk_resource_t *clone, pcmk_action_t *start, pcmk_action_t *started, pcmk_action_t *stop, pcmk_action_t *stopped) |
pcmk_action_t * | pe__new_rsc_pseudo_action (pcmk_resource_t *rsc, const char *task, bool optional, bool runnable) |
void | pe__create_promotable_pseudo_ops (pcmk_resource_t *clone, bool any_promoting, bool any_demoting) |
bool | pe_can_fence (const pcmk_scheduler_t *scheduler, const pcmk_node_t *node) |
void | add_hash_param (GHashTable *hash, const char *name, const char *value) |
char * | native_parameter (pcmk_resource_t *rsc, pcmk_node_t *node, gboolean create, const char *name, pcmk_scheduler_t *scheduler) |
pcmk_node_t * | native_location (const pcmk_resource_t *rsc, GList **list, int current) |
void | pe_metadata (pcmk__output_t *out) |
void | verify_pe_options (GHashTable *options) |
void | native_add_running (pcmk_resource_t *rsc, pcmk_node_t *node, pcmk_scheduler_t *scheduler, gboolean failed) |
gboolean | native_unpack (pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) |
gboolean | group_unpack (pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) |
gboolean | clone_unpack (pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) |
gboolean | pe__unpack_bundle (pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) |
pcmk_resource_t * | native_find_rsc (pcmk_resource_t *rsc, const char *id, const pcmk_node_t *node, int flags) |
gboolean | native_active (pcmk_resource_t *rsc, gboolean all) |
gboolean | group_active (pcmk_resource_t *rsc, gboolean all) |
gboolean | clone_active (pcmk_resource_t *rsc, gboolean all) |
gboolean | pe__bundle_active (pcmk_resource_t *rsc, gboolean all) |
void | native_print (pcmk_resource_t *rsc, const char *pre_text, long options, void *print_data) |
void | group_print (pcmk_resource_t *rsc, const char *pre_text, long options, void *print_data) |
void | clone_print (pcmk_resource_t *rsc, const char *pre_text, long options, void *print_data) |
void | pe__print_bundle (pcmk_resource_t *rsc, const char *pre_text, long options, void *print_data) |
gchar * | pcmk__native_output_string (const pcmk_resource_t *rsc, const char *name, const pcmk_node_t *node, uint32_t show_opts, const char *target_role, bool show_nodes) |
int | pe__name_and_nvpairs_xml (pcmk__output_t *out, bool is_list, const char *tag_name, size_t pairs_count,...) |
char * | pe__node_display_name (pcmk_node_t *node, bool print_detail) |
void | pe__order_notifs_after_fencing (const pcmk_action_t *action, pcmk_resource_t *rsc, pcmk_action_t *stonith_op) |
int | pe__clone_xml (pcmk__output_t *out, va_list args) |
int | pe__clone_default (pcmk__output_t *out, va_list args) |
int | pe__group_xml (pcmk__output_t *out, va_list args) |
int | pe__group_default (pcmk__output_t *out, va_list args) |
int | pe__bundle_xml (pcmk__output_t *out, va_list args) |
int | pe__bundle_html (pcmk__output_t *out, va_list args) |
int | pe__bundle_text (pcmk__output_t *out, va_list args) |
int | pe__node_html (pcmk__output_t *out, va_list args) |
int | pe__node_text (pcmk__output_t *out, va_list args) |
int | pe__node_xml (pcmk__output_t *out, va_list args) |
int | pe__resource_xml (pcmk__output_t *out, va_list args) |
int | pe__resource_html (pcmk__output_t *out, va_list args) |
int | pe__resource_text (pcmk__output_t *out, va_list args) |
void | native_free (pcmk_resource_t *rsc) |
void | group_free (pcmk_resource_t *rsc) |
void | clone_free (pcmk_resource_t *rsc) |
void | pe__free_bundle (pcmk_resource_t *rsc) |
enum rsc_role_e | native_resource_state (const pcmk_resource_t *rsc, gboolean current) |
enum rsc_role_e | group_resource_state (const pcmk_resource_t *rsc, gboolean current) |
enum rsc_role_e | clone_resource_state (const pcmk_resource_t *rsc, gboolean current) |
enum rsc_role_e | pe__bundle_resource_state (const pcmk_resource_t *rsc, gboolean current) |
void | pe__count_common (pcmk_resource_t *rsc) |
void | pe__count_bundle (pcmk_resource_t *rsc) |
void | common_free (pcmk_resource_t *rsc) |
pcmk_node_t * | pe__copy_node (const pcmk_node_t *this_node) |
time_t | get_effective_time (pcmk_scheduler_t *scheduler) |
int | pe_get_failcount (const pcmk_node_t *node, pcmk_resource_t *rsc, time_t *last_failure, uint32_t flags, const xmlNode *xml_op) |
pcmk_action_t * | pe__clear_failcount (pcmk_resource_t *rsc, const pcmk_node_t *node, const char *reason, pcmk_scheduler_t *scheduler) |
Schedule a controller operation to clear a fail count. More... | |
bool | pe__count_active_node (const pcmk_resource_t *rsc, pcmk_node_t *node, pcmk_node_t **active, unsigned int *count_all, unsigned int *count_clean) |
pcmk_node_t * | pe__find_active_requires (const pcmk_resource_t *rsc, unsigned int *count) |
GHashTable * | pe__node_list2table (const GList *list) |
pcmk_action_t * | get_pseudo_op (const char *name, pcmk_scheduler_t *scheduler) |
gboolean | order_actions (pcmk_action_t *lh_action, pcmk_action_t *rh_action, uint32_t flags) |
void | pe__show_node_scores_as (const char *file, const char *function, int line, bool to_log, const pcmk_resource_t *rsc, const char *comment, GHashTable *nodes, pcmk_scheduler_t *scheduler) |
GHashTable * | pcmk__unpack_action_meta (pcmk_resource_t *rsc, const pcmk_node_t *node, const char *action_name, guint interval_ms, const xmlNode *action_config) |
GHashTable * | pcmk__unpack_action_rsc_params (const xmlNode *action_xml, GHashTable *node_attrs, pcmk_scheduler_t *data_set) |
xmlNode * | pcmk__find_action_config (const pcmk_resource_t *rsc, const char *action_name, guint interval_ms, bool include_disabled) |
enum rsc_start_requirement | pcmk__action_requires (const pcmk_resource_t *rsc, const char *action_name) |
enum action_fail_response | pcmk__parse_on_fail (const pcmk_resource_t *rsc, const char *action_name, guint interval_ms, const char *value) |
enum rsc_role_e | pcmk__role_after_failure (const pcmk_resource_t *rsc, const char *action_name, enum action_fail_response on_fail, GHashTable *meta) |
pcmk_action_t * | custom_action (pcmk_resource_t *rsc, char *key, const char *task, const pcmk_node_t *on_node, gboolean optional, pcmk_scheduler_t *scheduler) |
Create or update an action object. More... | |
int | pe_get_configured_timeout (pcmk_resource_t *rsc, const char *action, pcmk_scheduler_t *scheduler) |
pcmk_action_t * | find_first_action (const GList *input, const char *uuid, const char *task, const pcmk_node_t *on_node) |
enum action_tasks | get_complex_task (const pcmk_resource_t *rsc, const char *name) |
GList * | find_actions (GList *input, const char *key, const pcmk_node_t *on_node) |
GList * | find_actions_exact (GList *input, const char *key, const pcmk_node_t *on_node) |
GList * | pe__resource_actions (const pcmk_resource_t *rsc, const pcmk_node_t *node, const char *task, bool require_node) |
Find all actions of given type for a resource. More... | |
void | pe_free_action (pcmk_action_t *action) |
void | resource_location (pcmk_resource_t *rsc, const pcmk_node_t *node, int score, const char *tag, pcmk_scheduler_t *scheduler) |
int | pe__is_newer_op (const xmlNode *xml_a, const xmlNode *xml_b, bool same_node_default) |
gint | sort_op_by_callid (gconstpointer a, gconstpointer b) |
gboolean | get_target_role (const pcmk_resource_t *rsc, enum rsc_role_e *role) |
void | pe__set_next_role (pcmk_resource_t *rsc, enum rsc_role_e role, const char *why) |
pcmk_resource_t * | find_clone_instance (const pcmk_resource_t *rsc, const char *sub_id) |
void | destroy_ticket (gpointer data) |
pcmk_ticket_t * | ticket_new (const char *ticket_id, pcmk_scheduler_t *scheduler) |
const char * | pe_base_name_end (const char *id) |
char * | clone_strip (const char *last_rsc_id) |
char * | clone_zero (const char *last_rsc_id) |
int | pe__target_rc_from_xml (const xmlNode *xml_op) |
gint | pe__cmp_node_name (gconstpointer a, gconstpointer b) |
bool | is_set_recursive (const pcmk_resource_t *rsc, long long flag, bool any) |
op_digest_cache_t * | pe__calculate_digests (pcmk_resource_t *rsc, const char *task, guint *interval_ms, const pcmk_node_t *node, const xmlNode *xml_op, GHashTable *overrides, bool calc_secure, pcmk_scheduler_t *scheduler) |
void | pe__free_digests (gpointer ptr) |
op_digest_cache_t * | rsc_action_digest_cmp (pcmk_resource_t *rsc, const xmlNode *xml_op, pcmk_node_t *node, pcmk_scheduler_t *scheduler) |
pcmk_action_t * | pe_fence_op (pcmk_node_t *node, const char *op, bool optional, const char *reason, bool priority_delay, pcmk_scheduler_t *scheduler) |
void | trigger_unfencing (pcmk_resource_t *rsc, pcmk_node_t *node, const char *reason, pcmk_action_t *dependency, pcmk_scheduler_t *scheduler) |
char * | pe__action2reason (const pcmk_action_t *action, enum pe_action_flags flag) |
void | pe_action_set_reason (pcmk_action_t *action, const char *reason, bool overwrite) |
void | pe__add_action_expected_result (pcmk_action_t *action, int expected_result) |
void | pe__set_resource_flags_recursive (pcmk_resource_t *rsc, uint64_t flags) |
void | pe__clear_resource_flags_recursive (pcmk_resource_t *rsc, uint64_t flags) |
void | pe__clear_resource_flags_on_all (pcmk_scheduler_t *scheduler, uint64_t flag) |
gboolean | add_tag_ref (GHashTable *tags, const char *tag_name, const char *obj_ref) |
void | print_rscs_brief (GList *rsc_list, const char *pre_text, long options, void *print_data, gboolean print_all) |
int | pe__rscs_brief_output (pcmk__output_t *out, GList *rsc_list, unsigned int options) |
void | pe_fence_node (pcmk_scheduler_t *scheduler, pcmk_node_t *node, const char *reason, bool priority_delay) |
Schedule a fence action for a node. More... | |
pcmk_node_t * | pe_create_node (const char *id, const char *uname, const char *type, const char *score, pcmk_scheduler_t *scheduler) |
void | common_print (pcmk_resource_t *rsc, const char *pre_text, const char *name, const pcmk_node_t *node, long options, void *print_data) |
int | pe__common_output_text (pcmk__output_t *out, const pcmk_resource_t *rsc, const char *name, const pcmk_node_t *node, unsigned int options) |
int | pe__common_output_html (pcmk__output_t *out, const pcmk_resource_t *rsc, const char *name, const pcmk_node_t *node, unsigned int options) |
GList * | pe__bundle_containers (const pcmk_resource_t *bundle) |
int | pe__bundle_max (const pcmk_resource_t *rsc) |
bool | pe__node_is_bundle_instance (const pcmk_resource_t *bundle, const pcmk_node_t *node) |
pcmk_resource_t * | pe__bundled_resource (const pcmk_resource_t *rsc) |
const pcmk_resource_t * | pe__get_rsc_in_container (const pcmk_resource_t *instance) |
pcmk_resource_t * | pe__first_container (const pcmk_resource_t *bundle) |
void | pe__foreach_bundle_replica (pcmk_resource_t *bundle, bool(*fn)(pe__bundle_replica_t *, void *), void *user_data) |
void | pe__foreach_const_bundle_replica (const pcmk_resource_t *bundle, bool(*fn)(const pe__bundle_replica_t *, void *), void *user_data) |
pcmk_resource_t * | pe__find_bundle_replica (const pcmk_resource_t *bundle, const pcmk_node_t *node) |
bool | pe__bundle_needs_remote_name (pcmk_resource_t *rsc) |
const char * | pe__add_bundle_remote_name (pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler, xmlNode *xml, const char *field) |
const char * | pe__node_attribute_calculated (const pcmk_node_t *node, const char *name, const pcmk_resource_t *rsc, enum pcmk__rsc_node node_type, bool force_host) |
const char * | pe_node_attribute_raw (const pcmk_node_t *node, const char *name) |
bool | pe__is_universal_clone (const pcmk_resource_t *rsc, const pcmk_scheduler_t *scheduler) |
void | pe__add_param_check (const xmlNode *rsc_op, pcmk_resource_t *rsc, pcmk_node_t *node, enum pcmk__check_parameters, pcmk_scheduler_t *scheduler) |
void | pe__foreach_param_check (pcmk_scheduler_t *scheduler, void(*cb)(pcmk_resource_t *, pcmk_node_t *, const xmlNode *, enum pcmk__check_parameters)) |
void | pe__free_param_checks (pcmk_scheduler_t *scheduler) |
bool | pe__shutdown_requested (const pcmk_node_t *node) |
void | pe__update_recheck_time (time_t recheck, pcmk_scheduler_t *scheduler, const char *reason) |
void | pe__register_messages (pcmk__output_t *out) |
void | pe__unpack_dataset_nvpairs (const xmlNode *xml_obj, const char *set_name, const pe_rule_eval_data_t *rule_data, GHashTable *hash, const char *always_first, gboolean overwrite, pcmk_scheduler_t *scheduler) |
bool | pe__resource_is_disabled (const pcmk_resource_t *rsc) |
void | pe__clear_resource_history (pcmk_resource_t *rsc, const pcmk_node_t *node) |
GList * | pe__rscs_with_tag (pcmk_scheduler_t *scheduler, const char *tag_name) |
GList * | pe__unames_with_tag (pcmk_scheduler_t *scheduler, const char *tag_name) |
bool | pe__rsc_has_tag (pcmk_scheduler_t *scheduler, const char *rsc, const char *tag) |
bool | pe__uname_has_tag (pcmk_scheduler_t *scheduler, const char *node, const char *tag) |
bool | pe__rsc_running_on_only (const pcmk_resource_t *rsc, const pcmk_node_t *node) |
bool | pe__rsc_running_on_any (pcmk_resource_t *rsc, GList *node_list) |
GList * | pe__filter_rsc_list (GList *rscs, GList *filter) |
GList * | pe__build_node_name_list (pcmk_scheduler_t *scheduler, const char *s) |
GList * | pe__build_rsc_list (pcmk_scheduler_t *scheduler, const char *s) |
bool | pcmk__rsc_filtered_by_node (pcmk_resource_t *rsc, GList *only_node) |
gboolean | pe__bundle_is_filtered (const pcmk_resource_t *rsc, GList *only_rsc, gboolean check_parent) |
gboolean | pe__clone_is_filtered (const pcmk_resource_t *rsc, GList *only_rsc, gboolean check_parent) |
gboolean | pe__group_is_filtered (const pcmk_resource_t *rsc, GList *only_rsc, gboolean check_parent) |
gboolean | pe__native_is_filtered (const pcmk_resource_t *rsc, GList *only_rsc, gboolean check_parent) |
xmlNode * | pe__failed_probe_for_rsc (const pcmk_resource_t *rsc, const char *name) |
const char * | pe__clone_child_id (const pcmk_resource_t *rsc) |
int | pe__sum_node_health_scores (const pcmk_node_t *node, int base_health) |
int | pe__node_health (pcmk_node_t *node) |
#define delete_action | ( | rsc, | |
node, | |||
optional | |||
) |
Definition at line 374 of file internal.h.
#define delete_key | ( | rsc | ) | pcmk__op_key(rsc->id, PCMK_ACTION_DELETE, 0) |
Definition at line 373 of file internal.h.
#define demote_action | ( | rsc, | |
node, | |||
optional | |||
) |
Definition at line 395 of file internal.h.
#define demote_key | ( | rsc | ) | pcmk__op_key(rsc->id, PCMK_ACTION_DEMOTE, 0) |
Definition at line 394 of file internal.h.
#define pe__clear_action_flags | ( | action, | |
flags_to_clear | |||
) |
Definition at line 85 of file internal.h.
#define pe__clear_action_flags_as | ( | function, | |
line, | |||
action, | |||
flags_to_clear | |||
) |
Definition at line 119 of file internal.h.
#define pe__clear_order_flags | ( | order_flags, | |
flags_to_clear | |||
) |
Definition at line 135 of file internal.h.
#define pe__clear_raw_action_flags | ( | action_flags, | |
action_name, | |||
flags_to_clear | |||
) |
Definition at line 101 of file internal.h.
#define pe__clear_resource_flags | ( | resource, | |
flags_to_clear | |||
) |
Definition at line 70 of file internal.h.
#define pe__clear_working_set_flags | ( | scheduler, | |
flags_to_clear | |||
) |
Definition at line 58 of file internal.h.
#define pe__set_action_flags | ( | action, | |
flags_to_set | |||
) |
Definition at line 76 of file internal.h.
#define pe__set_action_flags_as | ( | function, | |
line, | |||
action, | |||
flags_to_set | |||
) |
Definition at line 110 of file internal.h.
#define pe__set_order_flags | ( | order_flags, | |
flags_to_set | |||
) |
Definition at line 128 of file internal.h.
#define pe__set_raw_action_flags | ( | action_flags, | |
action_name, | |||
flags_to_set | |||
) |
Definition at line 94 of file internal.h.
#define pe__set_resource_flags | ( | resource, | |
flags_to_set | |||
) |
Definition at line 64 of file internal.h.
#define pe__set_working_set_flags | ( | scheduler, | |
flags_to_set | |||
) |
Definition at line 52 of file internal.h.
#define pe__show_node_scores | ( | level, | |
rsc, | |||
text, | |||
nodes, | |||
scheduler | |||
) |
Definition at line 341 of file internal.h.
#define pe_err | ( | fmt... | ) |
Definition at line 39 of file internal.h.
#define pe_proc_err | ( | fmt... | ) | { was_processing_error = TRUE; crm_err(fmt); } |
Definition at line 49 of file internal.h.
#define pe_proc_warn | ( | fmt... | ) | { was_processing_warning = TRUE; crm_warn(fmt); } |
Definition at line 50 of file internal.h.
#define pe_rsc_debug | ( | rsc, | |
fmt, | |||
args... | |||
) | crm_log_tag(LOG_DEBUG, rsc ? rsc->id : "<NULL>", fmt, ##args) |
Definition at line 36 of file internal.h.
#define pe_rsc_info | ( | rsc, | |
fmt, | |||
args... | |||
) | crm_log_tag(LOG_INFO, rsc ? rsc->id : "<NULL>", fmt, ##args) |
Definition at line 35 of file internal.h.
#define pe_rsc_trace | ( | rsc, | |
fmt, | |||
args... | |||
) | crm_log_tag(LOG_TRACE, rsc ? rsc->id : "<NULL>", fmt, ##args) |
Definition at line 37 of file internal.h.
#define pe_warn | ( | fmt... | ) |
Definition at line 44 of file internal.h.
#define pe_warn_once | ( | pe_wo_bit, | |
fmt... | |||
) |
Definition at line 142 of file internal.h.
#define promote_action | ( | rsc, | |
node, | |||
optional | |||
) |
Definition at line 390 of file internal.h.
#define promote_key | ( | rsc | ) | pcmk__op_key(rsc->id, PCMK_ACTION_PROMOTE, 0) |
Definition at line 389 of file internal.h.
#define reload_key | ( | rsc | ) | pcmk__op_key(rsc->id, PCMK_ACTION_RELOAD_AGENT, 0) |
Definition at line 383 of file internal.h.
#define start_action | ( | rsc, | |
node, | |||
optional | |||
) |
Definition at line 385 of file internal.h.
#define start_key | ( | rsc | ) | pcmk__op_key(rsc->id, PCMK_ACTION_START, 0) |
Definition at line 384 of file internal.h.
#define stop_action | ( | rsc, | |
node, | |||
optional | |||
) |
Definition at line 379 of file internal.h.
#define stop_key | ( | rsc | ) | pcmk__op_key(rsc->id, PCMK_ACTION_STOP, 0) |
Definition at line 378 of file internal.h.
typedef struct op_digest_cache_s op_digest_cache_t |
typedef struct pe__location_constraint_s pe__location_t |
typedef struct pe__order_constraint_s pe__ordering_t |
void add_hash_param | ( | GHashTable * | hash, |
const char * | name, | ||
const char * | value | ||
) |
gboolean add_tag_ref | ( | GHashTable * | tags, |
const char * | tag_name, | ||
const char * | obj_ref | ||
) |
gboolean clone_active | ( | pcmk_resource_t * | rsc, |
gboolean | all | ||
) |
void clone_free | ( | pcmk_resource_t * | rsc | ) |
void clone_print | ( | pcmk_resource_t * | rsc, |
const char * | pre_text, | ||
long | options, | ||
void * | print_data | ||
) |
enum rsc_role_e clone_resource_state | ( | const pcmk_resource_t * | rsc, |
gboolean | current | ||
) |
gboolean clone_unpack | ( | pcmk_resource_t * | rsc, |
pcmk_scheduler_t * | scheduler | ||
) |
void common_free | ( | pcmk_resource_t * | rsc | ) |
void common_print | ( | pcmk_resource_t * | rsc, |
const char * | pre_text, | ||
const char * | name, | ||
const pcmk_node_t * | node, | ||
long | options, | ||
void * | print_data | ||
) |
pcmk_action_t* custom_action | ( | pcmk_resource_t * | rsc, |
char * | key, | ||
const char * | task, | ||
const pcmk_node_t * | on_node, | ||
gboolean | optional, | ||
pcmk_scheduler_t * | scheduler | ||
) |
Create or update an action object.
[in,out] | rsc | Resource that action is for (if any) |
[in,out] | key | Action key (must be non-NULL) |
[in] | task | Action name (must be non-NULL) |
[in] | on_node | Node that action is on (if any) |
[in] | optional | Whether action should be considered optional |
[in,out] | scheduler | Scheduler data |
NULL
) key
, and scheduler
takes ownership of the returned action (the caller should not free it). Definition at line 1117 of file pe_actions.c.
GList* find_actions | ( | GList * | input, |
const char * | key, | ||
const pcmk_node_t * | on_node | ||
) |
Definition at line 1515 of file pe_actions.c.
GList* find_actions_exact | ( | GList * | input, |
const char * | key, | ||
const pcmk_node_t * | on_node | ||
) |
Definition at line 1549 of file pe_actions.c.
pcmk_resource_t* find_clone_instance | ( | const pcmk_resource_t * | rsc, |
const char * | sub_id | ||
) |
pcmk_action_t* find_first_action | ( | const GList * | input, |
const char * | uuid, | ||
const char * | task, | ||
const pcmk_node_t * | on_node | ||
) |
Definition at line 1486 of file pe_actions.c.
enum action_tasks get_complex_task | ( | const pcmk_resource_t * | rsc, |
const char * | name | ||
) |
Definition at line 1453 of file pe_actions.c.
time_t get_effective_time | ( | pcmk_scheduler_t * | scheduler | ) |
pcmk_action_t* get_pseudo_op | ( | const char * | name, |
pcmk_scheduler_t * | scheduler | ||
) |
Definition at line 1160 of file pe_actions.c.
gboolean get_target_role | ( | const pcmk_resource_t * | rsc, |
enum rsc_role_e * | role | ||
) |
gboolean group_active | ( | pcmk_resource_t * | rsc, |
gboolean | all | ||
) |
void group_free | ( | pcmk_resource_t * | rsc | ) |
void group_print | ( | pcmk_resource_t * | rsc, |
const char * | pre_text, | ||
long | options, | ||
void * | print_data | ||
) |
enum rsc_role_e group_resource_state | ( | const pcmk_resource_t * | rsc, |
gboolean | current | ||
) |
gboolean group_unpack | ( | pcmk_resource_t * | rsc, |
pcmk_scheduler_t * | scheduler | ||
) |
bool is_set_recursive | ( | const pcmk_resource_t * | rsc, |
long long | flag, | ||
bool | any | ||
) |
gboolean native_active | ( | pcmk_resource_t * | rsc, |
gboolean | all | ||
) |
void native_add_running | ( | pcmk_resource_t * | rsc, |
pcmk_node_t * | node, | ||
pcmk_scheduler_t * | scheduler, | ||
gboolean | failed | ||
) |
pcmk_resource_t* native_find_rsc | ( | pcmk_resource_t * | rsc, |
const char * | id, | ||
const pcmk_node_t * | node, | ||
int | flags | ||
) |
void native_free | ( | pcmk_resource_t * | rsc | ) |
pcmk_node_t* native_location | ( | const pcmk_resource_t * | rsc, |
GList ** | list, | ||
int | current | ||
) |
char* native_parameter | ( | pcmk_resource_t * | rsc, |
pcmk_node_t * | node, | ||
gboolean | create, | ||
const char * | name, | ||
pcmk_scheduler_t * | scheduler | ||
) |
void native_print | ( | pcmk_resource_t * | rsc, |
const char * | pre_text, | ||
long | options, | ||
void * | print_data | ||
) |
enum rsc_role_e native_resource_state | ( | const pcmk_resource_t * | rsc, |
gboolean | current | ||
) |
gboolean native_unpack | ( | pcmk_resource_t * | rsc, |
pcmk_scheduler_t * | scheduler | ||
) |
gboolean order_actions | ( | pcmk_action_t * | lh_action, |
pcmk_action_t * | rh_action, | ||
uint32_t | flags | ||
) |
enum rsc_start_requirement pcmk__action_requires | ( | const pcmk_resource_t * | rsc, |
const char * | action_name | ||
) |
Definition at line 851 of file pe_actions.c.
xmlNode* pcmk__find_action_config | ( | const pcmk_resource_t * | rsc, |
const char * | action_name, | ||
guint | interval_ms, | ||
bool | include_disabled | ||
) |
Definition at line 129 of file pe_actions.c.
gchar* pcmk__native_output_string | ( | const pcmk_resource_t * | rsc, |
const char * | name, | ||
const pcmk_node_t * | node, | ||
uint32_t | show_opts, | ||
const char * | target_role, | ||
bool | show_nodes | ||
) |
enum action_fail_response pcmk__parse_on_fail | ( | const pcmk_resource_t * | rsc, |
const char * | action_name, | ||
guint | interval_ms, | ||
const char * | value | ||
) |
Definition at line 889 of file pe_actions.c.
enum rsc_role_e pcmk__role_after_failure | ( | const pcmk_resource_t * | rsc, |
const char * | action_name, | ||
enum action_fail_response | on_fail, | ||
GHashTable * | meta | ||
) |
Definition at line 1024 of file pe_actions.c.
bool pcmk__rsc_filtered_by_node | ( | pcmk_resource_t * | rsc, |
GList * | only_node | ||
) |
GHashTable* pcmk__unpack_action_meta | ( | pcmk_resource_t * | rsc, |
const pcmk_node_t * | node, | ||
const char * | action_name, | ||
guint | interval_ms, | ||
const xmlNode * | action_config | ||
) |
Definition at line 692 of file pe_actions.c.
GHashTable* pcmk__unpack_action_rsc_params | ( | const xmlNode * | action_xml, |
GHashTable * | node_attrs, | ||
pcmk_scheduler_t * | data_set | ||
) |
Definition at line 240 of file pe_actions.c.
char* pe__action2reason | ( | const pcmk_action_t * | action, |
enum pe_action_flags | flag | ||
) |
Definition at line 1614 of file pe_actions.c.
void pe__add_action_expected_result | ( | pcmk_action_t * | action, |
int | expected_result | ||
) |
Definition at line 1861 of file pe_actions.c.
const char* pe__add_bundle_remote_name | ( | pcmk_resource_t * | rsc, |
pcmk_scheduler_t * | scheduler, | ||
xmlNode * | xml, | ||
const char * | field | ||
) |
void pe__add_param_check | ( | const xmlNode * | rsc_op, |
pcmk_resource_t * | rsc, | ||
pcmk_node_t * | node, | ||
enum | pcmk__check_parameters, | ||
pcmk_scheduler_t * | scheduler | ||
) |
GList* pe__build_node_name_list | ( | pcmk_scheduler_t * | scheduler, |
const char * | s | ||
) |
GList* pe__build_rsc_list | ( | pcmk_scheduler_t * | scheduler, |
const char * | s | ||
) |
gboolean pe__bundle_active | ( | pcmk_resource_t * | rsc, |
gboolean | all | ||
) |
GList* pe__bundle_containers | ( | const pcmk_resource_t * | bundle | ) |
int pe__bundle_html | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
gboolean pe__bundle_is_filtered | ( | const pcmk_resource_t * | rsc, |
GList * | only_rsc, | ||
gboolean | check_parent | ||
) |
int pe__bundle_max | ( | const pcmk_resource_t * | rsc | ) |
bool pe__bundle_needs_remote_name | ( | pcmk_resource_t * | rsc | ) |
enum rsc_role_e pe__bundle_resource_state | ( | const pcmk_resource_t * | rsc, |
gboolean | current | ||
) |
int pe__bundle_text | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
int pe__bundle_xml | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
pcmk_resource_t* pe__bundled_resource | ( | const pcmk_resource_t * | rsc | ) |
op_digest_cache_t* pe__calculate_digests | ( | pcmk_resource_t * | rsc, |
const char * | task, | ||
guint * | interval_ms, | ||
const pcmk_node_t * | node, | ||
const xmlNode * | xml_op, | ||
GHashTable * | overrides, | ||
bool | calc_secure, | ||
pcmk_scheduler_t * | scheduler | ||
) |
Definition at line 306 of file pe_digest.c.
pcmk_action_t* pe__clear_failcount | ( | pcmk_resource_t * | rsc, |
const pcmk_node_t * | node, | ||
const char * | reason, | ||
pcmk_scheduler_t * | scheduler | ||
) |
Schedule a controller operation to clear a fail count.
[in,out] | rsc | Resource with failure |
[in] | node | Node failure occurred on |
[in] | reason | Readable description why needed (for logging) |
[in,out] | scheduler | Scheduler data cluster |
Definition at line 453 of file failcounts.c.
void pe__clear_resource_flags_on_all | ( | pcmk_scheduler_t * | scheduler, |
uint64_t | flag | ||
) |
void pe__clear_resource_flags_recursive | ( | pcmk_resource_t * | rsc, |
uint64_t | flags | ||
) |
void pe__clear_resource_history | ( | pcmk_resource_t * | rsc, |
const pcmk_node_t * | node | ||
) |
Definition at line 1664 of file pe_actions.c.
const char* pe__clone_child_id | ( | const pcmk_resource_t * | rsc | ) |
int pe__clone_default | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
bool pe__clone_flag_is_set | ( | const pcmk_resource_t * | clone, |
uint32_t | flags | ||
) |
gboolean pe__clone_is_filtered | ( | const pcmk_resource_t * | rsc, |
GList * | only_rsc, | ||
gboolean | check_parent | ||
) |
bool pe__clone_is_ordered | ( | const pcmk_resource_t * | clone | ) |
int pe__clone_max | ( | const pcmk_resource_t * | clone | ) |
int pe__clone_node_max | ( | const pcmk_resource_t * | clone | ) |
int pe__clone_promoted_max | ( | const pcmk_resource_t * | clone | ) |
int pe__clone_promoted_node_max | ( | const pcmk_resource_t * | clone | ) |
int pe__clone_xml | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
int pe__common_output_html | ( | pcmk__output_t * | out, |
const pcmk_resource_t * | rsc, | ||
const char * | name, | ||
const pcmk_node_t * | node, | ||
unsigned int | options | ||
) |
int pe__common_output_text | ( | pcmk__output_t * | out, |
const pcmk_resource_t * | rsc, | ||
const char * | name, | ||
const pcmk_node_t * | node, | ||
unsigned int | options | ||
) |
const pcmk_resource_t* pe__const_top_resource | ( | const pcmk_resource_t * | rsc, |
bool | include_bundle | ||
) |
pcmk_node_t* pe__copy_node | ( | const pcmk_node_t * | this_node | ) |
bool pe__count_active_node | ( | const pcmk_resource_t * | rsc, |
pcmk_node_t * | node, | ||
pcmk_node_t ** | active, | ||
unsigned int * | count_all, | ||
unsigned int * | count_clean | ||
) |
void pe__count_bundle | ( | pcmk_resource_t * | rsc | ) |
void pe__count_common | ( | pcmk_resource_t * | rsc | ) |
void pe__create_clone_notif_pseudo_ops | ( | pcmk_resource_t * | clone, |
pcmk_action_t * | start, | ||
pcmk_action_t * | started, | ||
pcmk_action_t * | stop, | ||
pcmk_action_t * | stopped | ||
) |
void pe__create_clone_notifications | ( | pcmk_resource_t * | clone | ) |
void pe__create_promotable_pseudo_ops | ( | pcmk_resource_t * | clone, |
bool | any_promoting, | ||
bool | any_demoting | ||
) |
xmlNode* pe__failed_probe_for_rsc | ( | const pcmk_resource_t * | rsc, |
const char * | name | ||
) |
pcmk_node_t* pe__find_active_requires | ( | const pcmk_resource_t * | rsc, |
unsigned int * | count | ||
) |
pcmk_resource_t* pe__find_bundle_replica | ( | const pcmk_resource_t * | bundle, |
const pcmk_node_t * | node | ||
) |
pcmk_resource_t* pe__first_container | ( | const pcmk_resource_t * | bundle | ) |
void pe__foreach_bundle_replica | ( | pcmk_resource_t * | bundle, |
bool(*)(pe__bundle_replica_t *, void *) | fn, | ||
void * | user_data | ||
) |
void pe__foreach_const_bundle_replica | ( | const pcmk_resource_t * | bundle, |
bool(*)(const pe__bundle_replica_t *, void *) | fn, | ||
void * | user_data | ||
) |
void pe__foreach_param_check | ( | pcmk_scheduler_t * | scheduler, |
void(*)(pcmk_resource_t *, pcmk_node_t *, const xmlNode *, enum pcmk__check_parameters) | cb | ||
) |
void pe__free_bundle | ( | pcmk_resource_t * | rsc | ) |
void pe__free_clone_notification_data | ( | pcmk_resource_t * | clone | ) |
void pe__free_digests | ( | gpointer | ptr | ) |
Definition at line 34 of file pe_digest.c.
void pe__free_param_checks | ( | pcmk_scheduler_t * | scheduler | ) |
const pcmk_resource_t* pe__get_rsc_in_container | ( | const pcmk_resource_t * | instance | ) |
int pe__group_default | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
bool pe__group_flag_is_set | ( | const pcmk_resource_t * | group, |
uint32_t | flags | ||
) |
gboolean pe__group_is_filtered | ( | const pcmk_resource_t * | rsc, |
GList * | only_rsc, | ||
gboolean | check_parent | ||
) |
int pe__group_xml | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
int pe__is_newer_op | ( | const xmlNode * | xml_a, |
const xmlNode * | xml_b, | ||
bool | same_node_default | ||
) |
Definition at line 1682 of file pe_actions.c.
bool pe__is_universal_clone | ( | const pcmk_resource_t * | rsc, |
const pcmk_scheduler_t * | scheduler | ||
) |
pcmk_resource_t* pe__last_group_member | ( | const pcmk_resource_t * | group | ) |
int pe__name_and_nvpairs_xml | ( | pcmk__output_t * | out, |
bool | is_list, | ||
const char * | tag_name, | ||
size_t | pairs_count, | ||
... | |||
) |
Definition at line 597 of file pe_output.c.
gboolean pe__native_is_filtered | ( | const pcmk_resource_t * | rsc, |
GList * | only_rsc, | ||
gboolean | check_parent | ||
) |
pcmk_action_t* pe__new_rsc_pseudo_action | ( | pcmk_resource_t * | rsc, |
const char * | task, | ||
bool | optional, | ||
bool | runnable | ||
) |
Definition at line 1835 of file pe_actions.c.
const char* pe__node_attribute_calculated | ( | const pcmk_node_t * | node, |
const char * | name, | ||
const pcmk_resource_t * | rsc, | ||
enum pcmk__rsc_node | node_type, | ||
bool | force_host | ||
) |
char* pe__node_display_name | ( | pcmk_node_t * | node, |
bool | print_detail | ||
) |
Definition at line 544 of file pe_output.c.
int pe__node_health | ( | pcmk_node_t * | node | ) |
Definition at line 114 of file pe_health.c.
int pe__node_html | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
bool pe__node_is_bundle_instance | ( | const pcmk_resource_t * | bundle, |
const pcmk_node_t * | node | ||
) |
int pe__node_text | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
int pe__node_xml | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
void pe__order_notifs_after_fencing | ( | const pcmk_action_t * | action, |
pcmk_resource_t * | rsc, | ||
pcmk_action_t * | stonith_op | ||
) |
Definition at line 992 of file pe_notif.c.
void pe__print_bundle | ( | pcmk_resource_t * | rsc, |
const char * | pre_text, | ||
long | options, | ||
void * | print_data | ||
) |
void pe__register_messages | ( | pcmk__output_t * | out | ) |
Definition at line 3162 of file pe_output.c.
GList* pe__resource_actions | ( | const pcmk_resource_t * | rsc, |
const pcmk_node_t * | node, | ||
const char * | task, | ||
bool | require_node | ||
) |
Find all actions of given type for a resource.
[in] | rsc | Resource to search |
[in] | node | Find only actions scheduled on this node |
[in] | task | Action name to search for |
[in] | require_node | If TRUE, NULL node or action node will not match |
Definition at line 1588 of file pe_actions.c.
const char* pe__resource_description | ( | const pcmk_resource_t * | rsc, |
uint32_t | show_opts | ||
) |
Definition at line 22 of file pe_output.c.
int pe__resource_html | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
bool pe__resource_is_disabled | ( | const pcmk_resource_t * | rsc | ) |
int pe__resource_text | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
int pe__resource_xml | ( | pcmk__output_t * | out, |
va_list | args | ||
) |
bool pe__rsc_has_tag | ( | pcmk_scheduler_t * | scheduler, |
const char * | rsc, | ||
const char * | tag | ||
) |
bool pe__rsc_running_on_any | ( | pcmk_resource_t * | rsc, |
GList * | node_list | ||
) |
bool pe__rsc_running_on_only | ( | const pcmk_resource_t * | rsc, |
const pcmk_node_t * | node | ||
) |
int pe__rscs_brief_output | ( | pcmk__output_t * | out, |
GList * | rsc_list, | ||
unsigned int | options | ||
) |
GList* pe__rscs_with_tag | ( | pcmk_scheduler_t * | scheduler, |
const char * | tag_name | ||
) |
int pe__set_clone_flag | ( | pcmk_resource_t * | clone, |
enum pcmk__clone_flags | flag | ||
) |
void pe__set_next_role | ( | pcmk_resource_t * | rsc, |
enum rsc_role_e | role, | ||
const char * | why | ||
) |
void pe__set_resource_flags_recursive | ( | pcmk_resource_t * | rsc, |
uint64_t | flags | ||
) |
void pe__show_node_scores_as | ( | const char * | file, |
const char * | function, | ||
int | line, | ||
bool | to_log, | ||
const pcmk_resource_t * | rsc, | ||
const char * | comment, | ||
GHashTable * | nodes, | ||
pcmk_scheduler_t * | scheduler | ||
) |
bool pe__shutdown_requested | ( | const pcmk_node_t * | node | ) |
int pe__sum_node_health_scores | ( | const pcmk_node_t * | node, |
int | base_health | ||
) |
Definition at line 96 of file pe_health.c.
bool pe__uname_has_tag | ( | pcmk_scheduler_t * | scheduler, |
const char * | node, | ||
const char * | tag | ||
) |
GList* pe__unames_with_tag | ( | pcmk_scheduler_t * | scheduler, |
const char * | tag_name | ||
) |
gboolean pe__unpack_bundle | ( | pcmk_resource_t * | rsc, |
pcmk_scheduler_t * | scheduler | ||
) |
void pe__unpack_dataset_nvpairs | ( | const xmlNode * | xml_obj, |
const char * | set_name, | ||
const pe_rule_eval_data_t * | rule_data, | ||
GHashTable * | hash, | ||
const char * | always_first, | ||
gboolean | overwrite, | ||
pcmk_scheduler_t * | scheduler | ||
) |
void pe__update_recheck_time | ( | time_t | recheck, |
pcmk_scheduler_t * | scheduler, | ||
const char * | reason | ||
) |
void pe_action_set_reason | ( | pcmk_action_t * | action, |
const char * | reason, | ||
bool | overwrite | ||
) |
Definition at line 1639 of file pe_actions.c.
bool pe_can_fence | ( | const pcmk_scheduler_t * | scheduler, |
const pcmk_node_t * | node | ||
) |
pcmk_node_t* pe_create_node | ( | const char * | id, |
const char * | uname, | ||
const char * | type, | ||
const char * | score, | ||
pcmk_scheduler_t * | scheduler | ||
) |
void pe_fence_node | ( | pcmk_scheduler_t * | scheduler, |
pcmk_node_t * | node, | ||
const char * | reason, | ||
bool | priority_delay | ||
) |
pcmk_action_t* pe_fence_op | ( | pcmk_node_t * | node, |
const char * | op, | ||
bool | optional, | ||
const char * | reason, | ||
bool | priority_delay, | ||
pcmk_scheduler_t * | scheduler | ||
) |
Definition at line 1265 of file pe_actions.c.
void pe_free_action | ( | pcmk_action_t * | action | ) |
Definition at line 1382 of file pe_actions.c.
int pe_get_configured_timeout | ( | pcmk_resource_t * | rsc, |
const char * | action, | ||
pcmk_scheduler_t * | scheduler | ||
) |
Definition at line 1404 of file pe_actions.c.
int pe_get_failcount | ( | const pcmk_node_t * | node, |
pcmk_resource_t * | rsc, | ||
time_t * | last_failure, | ||
uint32_t | flags, | ||
const xmlNode * | xml_op | ||
) |
Definition at line 360 of file failcounts.c.
void pe_metadata | ( | pcmk__output_t * | out | ) |
const char* pe_node_attribute_raw | ( | const pcmk_node_t * | node, |
const char * | name | ||
) |
void print_rscs_brief | ( | GList * | rsc_list, |
const char * | pre_text, | ||
long | options, | ||
void * | print_data, | ||
gboolean | print_all | ||
) |
void resource_location | ( | pcmk_resource_t * | rsc, |
const pcmk_node_t * | node, | ||
int | score, | ||
const char * | tag, | ||
pcmk_scheduler_t * | scheduler | ||
) |
op_digest_cache_t* rsc_action_digest_cmp | ( | pcmk_resource_t * | rsc, |
const xmlNode * | xml_op, | ||
pcmk_node_t * | node, | ||
pcmk_scheduler_t * | scheduler | ||
) |
Definition at line 389 of file pe_digest.c.
gint sort_op_by_callid | ( | gconstpointer | a, |
gconstpointer | b | ||
) |
Definition at line 1815 of file pe_actions.c.
pcmk_ticket_t* ticket_new | ( | const char * | ticket_id, |
pcmk_scheduler_t * | scheduler | ||
) |
void trigger_unfencing | ( | pcmk_resource_t * | rsc, |
pcmk_node_t * | node, | ||
const char * | reason, | ||
pcmk_action_t * | dependency, | ||
pcmk_scheduler_t * | scheduler | ||
) |