pacemaker  2.1.9-49aab99839
Scalable High-Availability cluster resource manager
Macros | Functions
actions.c File Reference
#include <crm_internal.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <ctype.h>
#include <crm/crm.h>
#include <crm/lrmd.h>
#include <crm/common/xml.h>
#include <crm/common/xml_internal.h>
#include <crm/common/util.h>
#include <crm/common/scheduler.h>
Include dependency graph for actions.c:

Go to the source code of this file.

Macros

#define _GNU_SOURCE
 

Functions

const char * pcmk_action_text (enum action_tasks action)
 Get string equivalent of an action type. More...
 
enum action_tasks pcmk_parse_action (const char *action_name)
 Parse an action type from an action name. More...
 
const char * pcmk_on_fail_text (enum action_fail_response on_fail)
 Get string equivalent of a failure handling type. More...
 
char * pcmk__op_key (const char *rsc_id, const char *op_type, guint interval_ms)
 Generate an operation key (RESOURCE_ACTION_INTERVAL) More...
 
gboolean parse_op_key (const char *key, char **rsc_id, char **op_type, guint *interval_ms)
 
char * pcmk__notify_key (const char *rsc_id, const char *notify_type, const char *op_type)
 
gboolean decode_transition_magic (const char *magic, char **uuid, int *transition_id, int *action_id, int *op_status, int *op_rc, int *target_rc)
 Parse a transition magic string into its constituent parts. More...
 
char * pcmk__transition_key (int transition_id, int action_id, int target_rc, const char *node)
 
gboolean decode_transition_key (const char *key, char **uuid, int *transition_id, int *action_id, int *target_rc)
 Parse a transition key into its constituent parts. More...
 
int rsc_op_expected_rc (const lrmd_event_data_t *op)
 
gboolean did_rsc_op_fail (lrmd_event_data_t *op, int target_rc)
 
xmlNode * crm_create_op_xml (xmlNode *parent, const char *prefix, const char *task, const char *interval_spec, const char *timeout)
 Create a CIB XML element for an operation. More...
 
bool crm_op_needs_metadata (const char *rsc_class, const char *op)
 Check whether an operation requires resource agent meta-data. More...
 
bool pcmk__is_fencing_action (const char *action)
 

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

Definition at line 13 of file actions.c.

Function Documentation

◆ crm_create_op_xml()

xmlNode* crm_create_op_xml ( xmlNode *  parent,
const char *  prefix,
const char *  task,
const char *  interval_spec,
const char *  timeout 
)

Create a CIB XML element for an operation.

Parameters
[in,out]parentIf not NULL, make new XML node a child of this
[in]prefixGenerate an ID using this prefix
[in]taskOperation task to set
[in]interval_specOperation interval to set
[in]timeoutIf not NULL, operation timeout to set
Returns
New XML object on success, NULL otherwise

Definition at line 520 of file actions.c.

◆ crm_op_needs_metadata()

bool crm_op_needs_metadata ( const char *  rsc_class,
const char *  op 
)

Check whether an operation requires resource agent meta-data.

Parameters
[in]rsc_classResource agent class (or NULL to skip class check)
[in]opOperation action (or NULL to skip op check)
Returns
true if operation needs meta-data, false otherwise
Note
At least one of rsc_class and op must be specified.

Definition at line 547 of file actions.c.

◆ decode_transition_key()

gboolean decode_transition_key ( const char *  key,
char **  uuid,
int *  transition_id,
int *  action_id,
int *  target_rc 
)

Parse a transition key into its constituent parts.

Parameters
[in]keyTransition key to parse (must be non-NULL)
[out]uuidIf non-NULL, where to store copy of parsed UUID
[out]transition_idIf non-NULL, where to store parsed transition ID
[out]action_idIf non-NULL, where to store parsed action ID
[out]target_rcIf non-NULL, where to stored parsed target rc
Returns
TRUE if key was valid, FALSE otherwise
Note
If uuid is supplied and this returns TRUE, the caller is responsible for freeing the memory for *uuid using free().

Definition at line 425 of file actions.c.

◆ decode_transition_magic()

gboolean decode_transition_magic ( const char *  magic,
char **  uuid,
int *  transition_id,
int *  action_id,
int *  op_status,
int *  op_rc,
int *  target_rc 
)

Parse a transition magic string into its constituent parts.

Parameters
[in]magicMagic string to parse (must be non-NULL)
[out]uuidIf non-NULL, where to store copy of parsed UUID
[out]transition_idIf non-NULL, where to store parsed transition ID
[out]action_idIf non-NULL, where to store parsed action ID
[out]op_statusIf non-NULL, where to store parsed result status
[out]op_rcIf non-NULL, where to store parsed actual rc
[out]target_rcIf non-NULL, where to stored parsed target rc
Returns
TRUE if key was valid, FALSE otherwise
Note
If uuid is supplied and this returns TRUE, the caller is responsible for freeing the memory for *uuid using free().

Definition at line 362 of file actions.c.

◆ did_rsc_op_fail()

gboolean did_rsc_op_fail ( lrmd_event_data_t op,
int  target_rc 
)

Definition at line 483 of file actions.c.

◆ parse_op_key()

gboolean parse_op_key ( const char *  key,
char **  rsc_id,
char **  op_type,
guint *  interval_ms 
)

Definition at line 249 of file actions.c.

◆ pcmk__is_fencing_action()

bool pcmk__is_fencing_action ( const char *  action)

Definition at line 582 of file actions.c.

◆ pcmk__notify_key()

char* pcmk__notify_key ( const char *  rsc_id,
const char *  notify_type,
const char *  op_type 
)

Definition at line 336 of file actions.c.

◆ pcmk__op_key()

char* pcmk__op_key ( const char *  rsc_id,
const char *  op_type,
guint  interval_ms 
)

Generate an operation key (RESOURCE_ACTION_INTERVAL)

Parameters
[in]rsc_idID of resource being operated on
[in]op_typeOperation name
[in]interval_msOperation interval
Returns
Newly allocated memory containing operation key as string
Note
This function asserts on errors, so it will never return NULL. The caller is responsible for freeing the result with free().

Definition at line 196 of file actions.c.

◆ pcmk__transition_key()

char* pcmk__transition_key ( int  transition_id,
int  action_id,
int  target_rc,
const char *  node 
)

Definition at line 403 of file actions.c.

◆ pcmk_action_text()

const char* pcmk_action_text ( enum action_tasks  action)

Get string equivalent of an action type.

Parameters
[in]actionAction type
Returns
Static string describing action

Definition at line 37 of file actions.c.

◆ pcmk_on_fail_text()

const char* pcmk_on_fail_text ( enum action_fail_response  on_fail)

Get string equivalent of a failure handling type.

Parameters
[in]on_failFailure handling type
Returns
Static string describing on_fail

Definition at line 147 of file actions.c.

◆ pcmk_parse_action()

enum action_tasks pcmk_parse_action ( const char *  action_name)

Parse an action type from an action name.

Parameters
[in]action_nameAction name
Returns
Action type corresponding to action_name

Definition at line 92 of file actions.c.

◆ rsc_op_expected_rc()

int rsc_op_expected_rc ( const lrmd_event_data_t op)

Definition at line 472 of file actions.c.