pacemaker  2.1.6-802a72226b
Scalable High-Availability cluster resource manager
Macros | Functions
pe_actions.c File Reference
#include <crm_internal.h>
#include <glib.h>
#include <stdbool.h>
#include <crm/crm.h>
#include <crm/msg_xml.h>
#include <crm/pengine/internal.h>
#include "pe_status_private.h"
Include dependency graph for pe_actions.c:

Go to the source code of this file.

Macros

#define sort_return(an_int, why)
 

Functions

xmlNode * find_rsc_op_entry (const pe_resource_t *rsc, const char *key)
 
pe_action_tcustom_action (pe_resource_t *rsc, char *key, const char *task, const pe_node_t *on_node, gboolean optional, gboolean save_action, pe_working_set_t *data_set)
 Create or update an action object. More...
 
pe_action_tget_pseudo_op (const char *name, pe_working_set_t *data_set)
 
pe_action_tpe_fence_op (pe_node_t *node, const char *op, bool optional, const char *reason, bool priority_delay, pe_working_set_t *data_set)
 
void pe_free_action (pe_action_t *action)
 
int pe_get_configured_timeout (pe_resource_t *rsc, const char *action, pe_working_set_t *data_set)
 
enum action_tasks get_complex_task (const pe_resource_t *rsc, const char *name)
 
pe_action_tfind_first_action (const GList *input, const char *uuid, const char *task, const pe_node_t *on_node)
 
GList * find_actions (GList *input, const char *key, const pe_node_t *on_node)
 
GList * find_actions_exact (GList *input, const char *key, const pe_node_t *on_node)
 
GList * pe__resource_actions (const pe_resource_t *rsc, const pe_node_t *node, const char *task, bool require_node)
 Find all actions of given type for a resource. More...
 
char * pe__action2reason (const pe_action_t *action, enum pe_action_flags flag)
 
void pe_action_set_reason (pe_action_t *action, const char *reason, bool overwrite)
 
pe_action_tpe__clear_resource_history (pe_resource_t *rsc, const pe_node_t *node, pe_working_set_t *data_set)
 
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)
 
pe_action_tpe__new_rsc_pseudo_action (pe_resource_t *rsc, const char *task, bool optional, bool runnable)
 
void pe__add_action_expected_result (pe_action_t *action, int expected_result)
 

Macro Definition Documentation

◆ sort_return

#define sort_return (   an_int,
  why 
)
Value:
do { \
free(a_uuid); \
free(b_uuid); \
crm_trace("%s (%d) %c %s (%d) : %s", \
a_xml_id, a_call_id, an_int>0?'>':an_int<0?'<':'=', \
b_xml_id, b_call_id, why); \
return an_int; \
} while(0)

Definition at line 1487 of file pe_actions.c.

Function Documentation

◆ custom_action()

pe_action_t* custom_action ( pe_resource_t rsc,
char *  key,
const char *  task,
const pe_node_t on_node,
gboolean  optional,
gboolean  save_action,
pe_working_set_t data_set 
)

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]save_actionWhether action should be recorded in transition graph
[in,out]data_setCluster working set
Returns
Action object corresponding to arguments
Note
This function takes ownership of (and might free) key. If save_action is true, data_set will own the returned action, otherwise it is the caller's responsibility to free the return value with pe_free_action().

Definition at line 942 of file pe_actions.c.

◆ find_actions()

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

Definition at line 1327 of file pe_actions.c.

◆ find_actions_exact()

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

Definition at line 1361 of file pe_actions.c.

◆ find_first_action()

pe_action_t* find_first_action ( const GList *  input,
const char *  uuid,
const char *  task,
const pe_node_t on_node 
)

Definition at line 1298 of file pe_actions.c.

◆ find_rsc_op_entry()

xmlNode* find_rsc_op_entry ( const pe_resource_t rsc,
const char *  key 
)

Definition at line 145 of file pe_actions.c.

◆ get_complex_task()

enum action_tasks get_complex_task ( const pe_resource_t rsc,
const char *  name 
)

Definition at line 1265 of file pe_actions.c.

◆ get_pseudo_op()

pe_action_t* get_pseudo_op ( const char *  name,
pe_working_set_t data_set 
)

Definition at line 979 of file pe_actions.c.

◆ pe__action2reason()

char* pe__action2reason ( const pe_action_t action,
enum pe_action_flags  flag 
)

Definition at line 1426 of file pe_actions.c.

◆ pe__add_action_expected_result()

void pe__add_action_expected_result ( pe_action_t action,
int  expected_result 
)

Definition at line 1676 of file pe_actions.c.

◆ pe__clear_resource_history()

pe_action_t* pe__clear_resource_history ( pe_resource_t rsc,
const pe_node_t node,
pe_working_set_t data_set 
)

Definition at line 1476 of file pe_actions.c.

◆ pe__is_newer_op()

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

Definition at line 1497 of file pe_actions.c.

◆ pe__new_rsc_pseudo_action()

pe_action_t* pe__new_rsc_pseudo_action ( pe_resource_t rsc,
const char *  task,
bool  optional,
bool  runnable 
)

Definition at line 1650 of file pe_actions.c.

◆ pe__resource_actions()

GList* pe__resource_actions ( const pe_resource_t rsc,
const pe_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 1400 of file pe_actions.c.

◆ pe_action_set_reason()

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

Definition at line 1449 of file pe_actions.c.

◆ pe_fence_op()

pe_action_t* pe_fence_op ( pe_node_t node,
const char *  op,
bool  optional,
const char *  reason,
bool  priority_delay,
pe_working_set_t data_set 
)

Definition at line 1084 of file pe_actions.c.

◆ pe_free_action()

void pe_free_action ( pe_action_t action)

Definition at line 1196 of file pe_actions.c.

◆ pe_get_configured_timeout()

int pe_get_configured_timeout ( pe_resource_t rsc,
const char *  action,
pe_working_set_t data_set 
)

Definition at line 1218 of file pe_actions.c.

◆ sort_op_by_callid()

gint sort_op_by_callid ( gconstpointer  a,
gconstpointer  b 
)

Definition at line 1630 of file pe_actions.c.