pacemaker 3.0.1-16e74fc4da
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
internal.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include <crm/common/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>
Include dependency graph for internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define pe__show_node_scores(level, rsc, text, nodes, scheduler)
 
#define delete_key(rsc)
 
#define stop_key(rsc)
 
#define reload_key(rsc)
 
#define start_key(rsc)
 
#define promote_key(rsc)
 
#define demote_key(rsc)
 
#define delete_action(rsc, node, optional)
 
#define stop_action(rsc, node, optional)
 
#define start_action(rsc, node, optional)
 
#define promote_action(rsc, node, optional)
 
#define demote_action(rsc, node, optional)
 

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_tpe__last_group_member (const pcmk_resource_t *group)
 
const pcmk_resource_tpe__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_tpe__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)
 
pcmk_node_tnative_location (const pcmk_resource_t *rsc, GList **list, uint32_t target)
 
void native_add_running (pcmk_resource_t *rsc, pcmk_node_t *node, pcmk_scheduler_t *scheduler, gboolean failed)
 
bool native_unpack (pcmk_resource_t *rsc)
 
bool group_unpack (pcmk_resource_t *rsc)
 
bool clone_unpack (pcmk_resource_t *rsc)
 
bool pe__unpack_bundle (pcmk_resource_t *rsc)
 
pcmk_resource_tnative_find_rsc (pcmk_resource_t *rsc, const char *id, const pcmk_node_t *node, uint32_t flags)
 
bool native_active (const pcmk_resource_t *rsc, bool all)
 
bool group_active (const pcmk_resource_t *rsc, bool all)
 
bool clone_active (const pcmk_resource_t *rsc, bool all)
 
bool pe__bundle_active (const pcmk_resource_t *rsc, bool all)
 
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,...) G_GNUC_NULL_TERMINATED
 
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, bool current)
 
enum rsc_role_e group_resource_state (const pcmk_resource_t *rsc, bool current)
 
enum rsc_role_e clone_resource_state (const pcmk_resource_t *rsc, bool current)
 
enum rsc_role_e pe__bundle_resource_state (const pcmk_resource_t *rsc, bool 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_tpe__copy_node (const pcmk_node_t *this_node)
 
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_tpe__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.
 
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_tpe__find_active_requires (const pcmk_resource_t *rsc, unsigned int *count)
 
GHashTable * pe__node_list2table (const GList *list)
 
pcmk_action_tget_pseudo_op (const char *name, pcmk_scheduler_t *scheduler)
 
gboolean order_actions (pcmk_action_t *first, pcmk_action_t *then, 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 pcmk__requires pcmk__action_requires (const pcmk_resource_t *rsc, const char *action_name)
 
enum pcmk__on_fail 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 pcmk__on_fail on_fail, GHashTable *meta)
 
pcmk_action_tcustom_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.
 
pcmk_action_tfind_first_action (const GList *input, const char *uuid, const char *task, const pcmk_node_t *on_node)
 
enum pcmk__action_type 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.
 
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)
 
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)
 
void destroy_ticket (gpointer data)
 
pcmk__ticket_tticket_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)
 
pcmk__op_digest_tpe__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)
 
pcmk__op_digest_trsc_action_digest_cmp (pcmk_resource_t *rsc, const xmlNode *xml_op, pcmk_node_t *node, pcmk_scheduler_t *scheduler)
 
pcmk_action_tpe_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 pcmk__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)
 
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.
 
pcmk_node_tpe_create_node (const char *id, const char *uname, const char *type, int score, pcmk_scheduler_t *scheduler)
 
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_tpe__bundled_resource (const pcmk_resource_t *rsc)
 
const pcmk_resource_tpe__get_rsc_in_container (const pcmk_resource_t *instance)
 
pcmk_resource_tpe__first_container (const pcmk_resource_t *bundle)
 
void pe__foreach_bundle_replica (pcmk_resource_t *bundle, bool(*fn)(pcmk__bundle_replica_t *, void *), void *user_data)
 
void pe__foreach_const_bundle_replica (const pcmk_resource_t *bundle, bool(*fn)(const pcmk__bundle_replica_t *, void *), void *user_data)
 
pcmk_resource_tpe__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, xmlNode *xml, const char *field)
 
bool pe__is_universal_clone (const pcmk_resource_t *rsc, const pcmk_scheduler_t *scheduler)
 
bool pe__shutdown_requested (const pcmk_node_t *node)
 
void pe__register_messages (pcmk__output_t *out)
 
void pe__unpack_dataset_nvpairs (const xmlNode *xml_obj, const char *set_name, const pcmk_rule_input_t *rule_input, GHashTable *hash, const char *always_first, 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)
 
bool pe__bundle_is_filtered (const pcmk_resource_t *rsc, const GList *only_rsc, bool check_parent)
 
bool pe__clone_is_filtered (const pcmk_resource_t *rsc, const GList *only_rsc, bool check_parent)
 
bool pe__group_is_filtered (const pcmk_resource_t *rsc, const GList *only_rsc, bool check_parent)
 
bool pe__native_is_filtered (const pcmk_resource_t *rsc, const GList *only_rsc, bool 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)
 

Macro Definition Documentation

◆ delete_action

#define delete_action ( rsc,
node,
optional )
Value:
(node), (optional), (rsc)->priv->scheduler)
#define PCMK_ACTION_DELETE
Definition actions.h:39
#define delete_key(rsc)
Definition internal.h:189
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.

Definition at line 196 of file internal.h.

◆ delete_key

#define delete_key ( rsc)
Value:
char * pcmk__op_key(const char *rsc_id, const char *op_type, guint interval_ms)
Generate an operation key (RESOURCE_ACTION_INTERVAL)
Definition actions.c:225

Definition at line 189 of file internal.h.

◆ demote_action

#define demote_action ( rsc,
node,
optional )
Value:
(node), (optional), (rsc)->priv->scheduler)
#define PCMK_ACTION_DEMOTE
Definition actions.h:40
#define demote_key(rsc)
Definition internal.h:194

Definition at line 212 of file internal.h.

◆ demote_key

#define demote_key ( rsc)
Value:

Definition at line 194 of file internal.h.

◆ pe__show_node_scores

#define pe__show_node_scores ( level,
rsc,
text,
nodes,
scheduler )
Value:
pe__show_node_scores_as(__FILE__, __func__, __LINE__, \
(level), (rsc), (text), (nodes), (scheduler))
pcmk_scheduler_t * scheduler
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)
Definition utils.c:285

Definition at line 158 of file internal.h.

◆ promote_action

#define promote_action ( rsc,
node,
optional )
Value:
(node), (optional), (rsc)->priv->scheduler)
#define PCMK_ACTION_PROMOTE
Definition actions.h:57
#define promote_key(rsc)
Definition internal.h:193

Definition at line 208 of file internal.h.

◆ promote_key

#define promote_key ( rsc)
Value:

Definition at line 193 of file internal.h.

◆ reload_key

#define reload_key ( rsc)
Value:
#define PCMK_ACTION_RELOAD_AGENT
Definition actions.h:61

Definition at line 191 of file internal.h.

◆ start_action

#define start_action ( rsc,
node,
optional )
Value:
(node), (optional), (rsc)->priv->scheduler)
#define PCMK_ACTION_START
Definition actions.h:63
#define start_key(rsc)
Definition internal.h:192

Definition at line 204 of file internal.h.

◆ start_key

#define start_key ( rsc)
Value:

Definition at line 192 of file internal.h.

◆ stop_action

#define stop_action ( rsc,
node,
optional )
Value:
(node), (optional), (rsc)->priv->scheduler)
#define PCMK_ACTION_STOP
Definition actions.h:66
#define stop_key(rsc)
Definition internal.h:190

Definition at line 200 of file internal.h.

◆ stop_key

#define stop_key ( rsc)
Value:

Definition at line 190 of file internal.h.

Function Documentation

◆ clone_active()

bool clone_active ( const pcmk_resource_t * rsc,
bool all )

Definition at line 445 of file clone.c.

◆ clone_free()

void clone_free ( pcmk_resource_t * rsc)

Definition at line 917 of file clone.c.

◆ clone_resource_state()

enum rsc_role_e clone_resource_state ( const pcmk_resource_t * rsc,
bool current )

Definition at line 953 of file clone.c.

◆ clone_strip()

char * clone_strip ( const char * last_rsc_id)

Definition at line 1954 of file unpack.c.

◆ clone_unpack()

bool clone_unpack ( pcmk_resource_t * rsc)

Definition at line 323 of file clone.c.

◆ clone_zero()

char * clone_zero ( const char * last_rsc_id)

Definition at line 1976 of file unpack.c.

◆ common_free()

void common_free ( pcmk_resource_t * rsc)

Definition at line 1042 of file complex.c.

◆ custom_action()

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.

Parameters
[in,out]rscResource that action is for (if any)
[in,out]keyAction key (must be non-NULL)
[in]taskAction name (must be non-NULL)
[in]on_nodeNode that action is on (if any)
[in]optionalWhether action should be considered optional
[in,out]schedulerScheduler data
Returns
Action object corresponding to arguments (guaranteed not to be NULL)
Note
This function takes ownership of (and might free) key, and scheduler takes ownership of the returned action (the caller should not free it).

Definition at line 1085 of file pe_actions.c.

◆ destroy_ticket()

void destroy_ticket ( gpointer data)
extern

Definition at line 531 of file utils.c.

◆ find_actions()

GList * find_actions ( GList * input,
const char * key,
const pcmk_node_t * on_node )

Definition at line 1415 of file pe_actions.c.

◆ find_actions_exact()

GList * find_actions_exact ( GList * input,
const char * key,
const pcmk_node_t * on_node )

Definition at line 1449 of file pe_actions.c.

◆ find_first_action()

pcmk_action_t * find_first_action ( const GList * input,
const char * uuid,
const char * task,
const pcmk_node_t * on_node )

Definition at line 1386 of file pe_actions.c.

◆ get_complex_task()

enum pcmk__action_type get_complex_task ( const pcmk_resource_t * rsc,
const char * name )

Definition at line 1353 of file pe_actions.c.

◆ get_pseudo_op()

pcmk_action_t * get_pseudo_op ( const char * name,
pcmk_scheduler_t * scheduler )

Definition at line 1132 of file pe_actions.c.

◆ get_target_role()

gboolean get_target_role ( const pcmk_resource_t * rsc,
enum rsc_role_e * role )

Definition at line 435 of file utils.c.

◆ group_active()

bool group_active ( const pcmk_resource_t * rsc,
bool all )

Definition at line 235 of file group.c.

◆ group_free()

void group_free ( pcmk_resource_t * rsc)

Definition at line 382 of file group.c.

◆ group_resource_state()

enum rsc_role_e group_resource_state ( const pcmk_resource_t * rsc,
bool current )

Definition at line 405 of file group.c.

◆ group_unpack()

bool group_unpack ( pcmk_resource_t * rsc)

Definition at line 184 of file group.c.

◆ is_set_recursive()

bool is_set_recursive ( const pcmk_resource_t * rsc,
long long flag,
bool any )

Definition at line 500 of file clone.c.

◆ native_active()

bool native_active ( const pcmk_resource_t * rsc,
bool all )

Definition at line 325 of file native.c.

◆ native_add_running()

void native_add_running ( pcmk_resource_t * rsc,
pcmk_node_t * node,
pcmk_scheduler_t * scheduler,
gboolean failed )

Definition at line 87 of file native.c.

◆ native_find_rsc()

pcmk_resource_t * native_find_rsc ( pcmk_resource_t * rsc,
const char * id,
const pcmk_node_t * node,
uint32_t flags )

Definition at line 270 of file native.c.

◆ native_free()

void native_free ( pcmk_resource_t * rsc)

Definition at line 867 of file native.c.

◆ native_location()

pcmk_node_t * native_location ( const pcmk_resource_t * rsc,
GList ** list,
uint32_t target )

Definition at line 897 of file native.c.

◆ native_resource_state()

enum rsc_role_e native_resource_state ( const pcmk_resource_t * rsc,
bool current )

Definition at line 874 of file native.c.

◆ native_unpack()

bool native_unpack ( pcmk_resource_t * rsc)

Definition at line 205 of file native.c.

◆ order_actions()

gboolean order_actions ( pcmk_action_t * first,
pcmk_action_t * then,
uint32_t flags )

Definition at line 483 of file utils.c.

◆ pcmk__action_requires()

enum pcmk__requires pcmk__action_requires ( const pcmk_resource_t * rsc,
const char * action_name )

Definition at line 820 of file pe_actions.c.

◆ pcmk__find_action_config()

xmlNode * pcmk__find_action_config ( const pcmk_resource_t * rsc,
const char * action_name,
guint interval_ms,
bool include_disabled )

Definition at line 137 of file pe_actions.c.

◆ pcmk__native_output_string()

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 )

Definition at line 473 of file native.c.

◆ pcmk__parse_on_fail()

enum pcmk__on_fail pcmk__parse_on_fail ( const pcmk_resource_t * rsc,
const char * action_name,
guint interval_ms,
const char * value )

Definition at line 858 of file pe_actions.c.

◆ pcmk__role_after_failure()

enum rsc_role_e pcmk__role_after_failure ( const pcmk_resource_t * rsc,
const char * action_name,
enum pcmk__on_fail on_fail,
GHashTable * meta )

Definition at line 1004 of file pe_actions.c.

◆ pcmk__rsc_filtered_by_node()

bool pcmk__rsc_filtered_by_node ( pcmk_resource_t * rsc,
GList * only_node )

Definition at line 782 of file utils.c.

◆ pcmk__unpack_action_meta()

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 679 of file pe_actions.c.

◆ pcmk__unpack_action_rsc_params()

GHashTable * pcmk__unpack_action_rsc_params ( const xmlNode * action_xml,
GHashTable * node_attrs,
pcmk_scheduler_t * data_set )

Definition at line 247 of file pe_actions.c.

◆ pe__action2reason()

char * pe__action2reason ( const pcmk_action_t * action,
enum pcmk__action_flags flag )

Definition at line 1513 of file pe_actions.c.

◆ pe__add_action_expected_result()

void pe__add_action_expected_result ( pcmk_action_t * action,
int expected_result )

Definition at line 1746 of file pe_actions.c.

◆ pe__add_bundle_remote_name()

const char * pe__add_bundle_remote_name ( pcmk_resource_t * rsc,
xmlNode * xml,
const char * field )

Definition at line 911 of file bundle.c.

◆ pe__build_node_name_list()

GList * pe__build_node_name_list ( pcmk_scheduler_t * scheduler,
const char * s )

Definition at line 811 of file utils.c.

◆ pe__build_rsc_list()

GList * pe__build_rsc_list ( pcmk_scheduler_t * scheduler,
const char * s )

Definition at line 844 of file utils.c.

◆ pe__bundle_active()

bool pe__bundle_active ( const pcmk_resource_t * rsc,
bool all )

Definition at line 1325 of file bundle.c.

◆ pe__bundle_containers()

GList * pe__bundle_containers ( const pcmk_resource_t * bundle)

Definition at line 1989 of file bundle.c.

◆ pe__bundle_html()

int pe__bundle_html ( pcmk__output_t * out,
va_list args )

◆ pe__bundle_is_filtered()

bool pe__bundle_is_filtered ( const pcmk_resource_t * rsc,
const GList * only_rsc,
bool check_parent )

Definition at line 1934 of file bundle.c.

◆ pe__bundle_max()

int pe__bundle_max ( const pcmk_resource_t * rsc)

Definition at line 96 of file bundle.c.

◆ pe__bundle_needs_remote_name()

bool pe__bundle_needs_remote_name ( pcmk_resource_t * rsc)

Definition at line 893 of file bundle.c.

◆ pe__bundle_resource_state()

enum rsc_role_e pe__bundle_resource_state ( const pcmk_resource_t * rsc,
bool current )

Definition at line 1884 of file bundle.c.

◆ pe__bundle_text()

int pe__bundle_text ( pcmk__output_t * out,
va_list args )

◆ pe__bundle_xml()

int pe__bundle_xml ( pcmk__output_t * out,
va_list args )

◆ pe__bundled_resource()

pcmk_resource_t * pe__bundled_resource ( const pcmk_resource_t * rsc)

Definition at line 113 of file bundle.c.

◆ pe__calculate_digests()

pcmk__op_digest_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 302 of file pe_digest.c.

◆ pe__clear_failcount()

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.

Parameters
[in,out]rscResource with failure
[in]nodeNode failure occurred on
[in]reasonReadable description why needed (for logging)
[in,out]schedulerScheduler data cluster
Returns
Scheduled action

Definition at line 467 of file failcounts.c.

◆ pe__clear_resource_flags_on_all()

void pe__clear_resource_flags_on_all ( pcmk_scheduler_t * scheduler,
uint64_t flag )

Definition at line 603 of file utils.c.

◆ pe__clear_resource_flags_recursive()

void pe__clear_resource_flags_recursive ( pcmk_resource_t * rsc,
uint64_t flags )

Definition at line 590 of file utils.c.

◆ pe__clear_resource_history()

void pe__clear_resource_history ( pcmk_resource_t * rsc,
const pcmk_node_t * node )

Definition at line 1564 of file pe_actions.c.

◆ pe__clone_child_id()

const char * pe__clone_child_id ( const pcmk_resource_t * rsc)

Definition at line 1027 of file clone.c.

◆ pe__clone_default()

int pe__clone_default ( pcmk__output_t * out,
va_list args )

◆ pe__clone_flag_is_set()

bool pe__clone_flag_is_set ( const pcmk_resource_t * clone,
uint32_t flags )

Definition at line 1086 of file clone.c.

◆ pe__clone_is_filtered()

bool pe__clone_is_filtered ( const pcmk_resource_t * rsc,
const GList * only_rsc,
bool check_parent )

Definition at line 995 of file clone.c.

◆ pe__clone_is_ordered()

bool pe__clone_is_ordered ( const pcmk_resource_t * clone)

Definition at line 1043 of file clone.c.

◆ pe__clone_max()

int pe__clone_max ( const pcmk_resource_t * clone)

Definition at line 56 of file clone.c.

◆ pe__clone_node_max()

int pe__clone_node_max ( const pcmk_resource_t * clone)

Definition at line 73 of file clone.c.

◆ pe__clone_promoted_max()

int pe__clone_promoted_max ( const pcmk_resource_t * clone)

Definition at line 90 of file clone.c.

◆ pe__clone_promoted_node_max()

int pe__clone_promoted_node_max ( const pcmk_resource_t * clone)

Definition at line 107 of file clone.c.

◆ pe__clone_xml()

int pe__clone_xml ( pcmk__output_t * out,
va_list args )

◆ pe__cmp_node_name()

gint pe__cmp_node_name ( gconstpointer a,
gconstpointer b )

Definition at line 182 of file utils.c.

◆ pe__common_output_html()

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 )

◆ pe__common_output_text()

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 )

◆ pe__const_top_resource()

const pcmk_resource_t * pe__const_top_resource ( const pcmk_resource_t * rsc,
bool include_bundle )

Definition at line 1025 of file complex.c.

◆ pe__copy_node()

pcmk_node_t * pe__copy_node ( const pcmk_node_t * this_node)

Definition at line 124 of file utils.c.

◆ pe__count_active_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 )

Definition at line 1116 of file complex.c.

◆ pe__count_bundle()

void pe__count_bundle ( pcmk_resource_t * rsc)

Definition at line 1910 of file bundle.c.

◆ pe__count_common()

void pe__count_common ( pcmk_resource_t * rsc)

Definition at line 1216 of file complex.c.

◆ pe__create_clone_notif_pseudo_ops()

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 )

Definition at line 1218 of file clone.c.

◆ pe__create_clone_notifications()

void pe__create_clone_notifications ( pcmk_resource_t * clone)

Definition at line 1169 of file clone.c.

◆ pe__create_promotable_pseudo_ops()

void pe__create_promotable_pseudo_ops ( pcmk_resource_t * clone,
bool any_promoting,
bool any_demoting )

Definition at line 1105 of file clone.c.

◆ pe__failed_probe_for_rsc()

xmlNode * pe__failed_probe_for_rsc ( const pcmk_resource_t * rsc,
const char * name )

Definition at line 879 of file utils.c.

◆ pe__filter_rsc_list()

GList * pe__filter_rsc_list ( GList * rscs,
GList * filter )

Definition at line 789 of file utils.c.

◆ pe__find_active_requires()

pcmk_node_t * pe__find_active_requires ( const pcmk_resource_t * rsc,
unsigned int * count )

Definition at line 1199 of file complex.c.

◆ pe__find_bundle_replica()

pcmk_resource_t * pe__find_bundle_replica ( const pcmk_resource_t * bundle,
const pcmk_node_t * node )

Definition at line 1373 of file bundle.c.

◆ pe__first_container()

pcmk_resource_t * pe__first_container ( const pcmk_resource_t * bundle)

Definition at line 187 of file bundle.c.

◆ pe__foreach_bundle_replica()

void pe__foreach_bundle_replica ( pcmk_resource_t * bundle,
bool(* fn )(pcmk__bundle_replica_t *, void *),
void * user_data )

Definition at line 210 of file bundle.c.

◆ pe__foreach_const_bundle_replica()

void pe__foreach_const_bundle_replica ( const pcmk_resource_t * bundle,
bool(* fn )(const pcmk__bundle_replica_t *, void *),
void * user_data )

Definition at line 234 of file bundle.c.

◆ pe__free_bundle()

void pe__free_bundle ( pcmk_resource_t * rsc)

Definition at line 1850 of file bundle.c.

◆ pe__free_clone_notification_data()

void pe__free_clone_notification_data ( pcmk_resource_t * clone)

Definition at line 1188 of file clone.c.

◆ pe__free_digests()

void pe__free_digests ( gpointer ptr)

Definition at line 33 of file pe_digest.c.

◆ pe__get_rsc_in_container()

const pcmk_resource_t * pe__get_rsc_in_container ( const pcmk_resource_t * instance)

Definition at line 131 of file bundle.c.

◆ pe__group_default()

int pe__group_default ( pcmk__output_t * out,
va_list args )

◆ pe__group_flag_is_set()

bool pe__group_flag_is_set ( const pcmk_resource_t * group,
uint32_t flags )

Definition at line 59 of file group.c.

◆ pe__group_is_filtered()

bool pe__group_is_filtered ( const pcmk_resource_t * rsc,
const GList * only_rsc,
bool check_parent )

Definition at line 426 of file group.c.

◆ pe__group_xml()

int pe__group_xml ( pcmk__output_t * out,
va_list args )

◆ pe__is_newer_op()

int pe__is_newer_op ( const xmlNode * xml_a,
const xmlNode * xml_b )

Definition at line 1582 of file pe_actions.c.

◆ pe__is_universal_clone()

bool pe__is_universal_clone ( const pcmk_resource_t * rsc,
const pcmk_scheduler_t * scheduler )

Definition at line 981 of file clone.c.

◆ pe__last_group_member()

pcmk_resource_t * pe__last_group_member ( const pcmk_resource_t * group)

Definition at line 37 of file group.c.

◆ pe__name_and_nvpairs_xml()

int pe__name_and_nvpairs_xml ( pcmk__output_t * out,
bool is_list,
const char * tag_name,
... )

Definition at line 619 of file pe_output.c.

◆ pe__native_is_filtered()

bool pe__native_is_filtered ( const pcmk_resource_t * rsc,
const GList * only_rsc,
bool check_parent )

Definition at line 1129 of file native.c.

◆ pe__new_rsc_pseudo_action()

pcmk_action_t * pe__new_rsc_pseudo_action ( pcmk_resource_t * rsc,
const char * task,
bool optional,
bool runnable )

Definition at line 1720 of file pe_actions.c.

◆ pe__node_display_name()

char * pe__node_display_name ( pcmk_node_t * node,
bool print_detail )

Definition at line 562 of file pe_output.c.

◆ pe__node_health()

int pe__node_health ( pcmk_node_t * node)

Definition at line 130 of file pe_health.c.

◆ pe__node_html()

int pe__node_html ( pcmk__output_t * out,
va_list args )

◆ pe__node_is_bundle_instance()

bool pe__node_is_bundle_instance ( const pcmk_resource_t * bundle,
const pcmk_node_t * node )

Definition at line 161 of file bundle.c.

◆ pe__node_list2table()

GHashTable * pe__node_list2table ( const GList * list)

Definition at line 152 of file utils.c.

◆ pe__node_text()

int pe__node_text ( pcmk__output_t * out,
va_list args )

◆ pe__node_xml()

int pe__node_xml ( pcmk__output_t * out,
va_list args )

◆ pe__order_notifs_after_fencing()

void pe__order_notifs_after_fencing ( const pcmk_action_t * action,
pcmk_resource_t * rsc,
pcmk_action_t * stonith_op )

Definition at line 1011 of file pe_notif.c.

◆ pe__register_messages()

void pe__register_messages ( pcmk__output_t * out)

Definition at line 3482 of file pe_output.c.

◆ pe__resource_actions()

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.

Parameters
[in]rscResource to search
[in]nodeFind only actions scheduled on this node
[in]taskAction name to search for
[in]require_nodeIf TRUE, NULL node or action node will not match
Returns
List of actions found (or NULL if none)
Note
If node is not NULL and require_node is FALSE, matching actions without a node will be assigned to node.

Definition at line 1487 of file pe_actions.c.

◆ pe__resource_description()

const char * pe__resource_description ( const pcmk_resource_t * rsc,
uint32_t show_opts )

Definition at line 24 of file pe_output.c.

◆ pe__resource_html()

int pe__resource_html ( pcmk__output_t * out,
va_list args )

◆ pe__resource_is_disabled()

bool pe__resource_is_disabled ( const pcmk_resource_t * rsc)

Definition at line 728 of file utils.c.

◆ pe__resource_text()

int pe__resource_text ( pcmk__output_t * out,
va_list args )

◆ pe__resource_xml()

int pe__resource_xml ( pcmk__output_t * out,
va_list args )

◆ pe__rsc_has_tag()

bool pe__rsc_has_tag ( pcmk_scheduler_t * scheduler,
const char * rsc,
const char * tag )

Definition at line 89 of file tags.c.

◆ pe__rsc_running_on_any()

bool pe__rsc_running_on_any ( pcmk_resource_t * rsc,
GList * node_list )

Definition at line 767 of file utils.c.

◆ pe__rsc_running_on_only()

bool pe__rsc_running_on_only ( const pcmk_resource_t * rsc,
const pcmk_node_t * node )

Definition at line 759 of file utils.c.

◆ pe__rscs_brief_output()

int pe__rscs_brief_output ( pcmk__output_t * out,
GList * rsc_list,
unsigned int options )

◆ pe__rscs_with_tag()

GList * pe__rscs_with_tag ( pcmk_scheduler_t * scheduler,
const char * tag_name )

Definition at line 20 of file tags.c.

◆ pe__set_clone_flag()

int pe__set_clone_flag ( pcmk_resource_t * clone,
enum pcmk__clone_flags flag )

Definition at line 1062 of file clone.c.

◆ pe__set_next_role()

void pe__set_next_role ( pcmk_resource_t * rsc,
enum rsc_role_e role,
const char * why )

Definition at line 1247 of file complex.c.

◆ pe__set_resource_flags_recursive()

void pe__set_resource_flags_recursive ( pcmk_resource_t * rsc,
uint64_t flags )

Definition at line 615 of file utils.c.

◆ pe__show_node_scores_as()

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 )

Definition at line 285 of file utils.c.

◆ pe__shutdown_requested()

bool pe__shutdown_requested ( const pcmk_node_t * node)

Definition at line 676 of file utils.c.

◆ pe__sum_node_health_scores()

int pe__sum_node_health_scores ( const pcmk_node_t * node,
int base_health )

Definition at line 110 of file pe_health.c.

◆ pe__target_rc_from_xml()

int pe__target_rc_from_xml ( const xmlNode * xml_op)

Definition at line 4292 of file unpack.c.

◆ pe__uname_has_tag()

bool pe__uname_has_tag ( pcmk_scheduler_t * scheduler,
const char * node,
const char * tag )

Definition at line 105 of file tags.c.

◆ pe__unames_with_tag()

GList * pe__unames_with_tag ( pcmk_scheduler_t * scheduler,
const char * tag_name )

Definition at line 54 of file tags.c.

◆ pe__unpack_bundle()

bool pe__unpack_bundle ( pcmk_resource_t * rsc)

Definition at line 957 of file bundle.c.

◆ pe__unpack_dataset_nvpairs()

void pe__unpack_dataset_nvpairs ( const xmlNode * xml_obj,
const char * set_name,
const pcmk_rule_input_t * rule_input,
GHashTable * hash,
const char * always_first,
pcmk_scheduler_t * scheduler )

Definition at line 698 of file utils.c.

◆ pe_action_set_reason()

void pe_action_set_reason ( pcmk_action_t * action,
const char * reason,
bool overwrite )

Definition at line 1538 of file pe_actions.c.

◆ pe_base_name_end()

const char * pe_base_name_end ( const char * id)

Definition at line 1914 of file unpack.c.

◆ pe_can_fence()

bool pe_can_fence ( const pcmk_scheduler_t * scheduler,
const pcmk_node_t * node )

Definition at line 35 of file utils.c.

◆ pe_create_node()

pcmk_node_t * pe_create_node ( const char * id,
const char * uname,
const char * type,
int score,
pcmk_scheduler_t * scheduler )

Definition at line 452 of file unpack.c.

◆ pe_fence_node()

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.

Parameters
[in,out]schedulerScheduler data
[in,out]nodeNode to fence
[in]reasonText description of why fencing is needed
[in]priority_delayWhether to consider PCMK_OPT_PRIORITY_FENCING_DELAY

Definition at line 116 of file unpack.c.

◆ pe_fence_op()

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 1237 of file pe_actions.c.

◆ pe_get_failcount()

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 367 of file failcounts.c.

◆ resource_location()

void resource_location ( pcmk_resource_t * rsc,
const pcmk_node_t * node,
int score,
const char * tag,
pcmk_scheduler_t * scheduler )

Definition at line 398 of file utils.c.

◆ rsc_action_digest_cmp()

pcmk__op_digest_t * rsc_action_digest_cmp ( pcmk_resource_t * rsc,
const xmlNode * xml_op,
pcmk_node_t * node,
pcmk_scheduler_t * scheduler )

Definition at line 391 of file pe_digest.c.

◆ sort_op_by_callid()

gint sort_op_by_callid ( gconstpointer a,
gconstpointer b )
extern

Definition at line 1703 of file pe_actions.c.

◆ ticket_new()

pcmk__ticket_t * ticket_new ( const char * ticket_id,
pcmk_scheduler_t * scheduler )

Definition at line 543 of file utils.c.

◆ trigger_unfencing()

void trigger_unfencing ( pcmk_resource_t * rsc,
pcmk_node_t * node,
const char * reason,
pcmk_action_t * dependency,
pcmk_scheduler_t * scheduler )

Definition at line 628 of file utils.c.