pacemaker  2.0.2-debe490
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
operations.c File Reference
#include <crm_internal.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <crm/crm.h>
#include <crm/lrmd.h>
#include <crm/msg_xml.h>
#include <crm/common/xml.h>
#include <crm/common/util.h>
Include dependency graph for operations.c:

Go to the source code of this file.

Macros

#define _GNU_SOURCE
 
#define FAKE_TE_ID   "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
 

Functions

char * generate_op_key (const char *rsc_id, const char *op_type, guint interval_ms)
 Generate an operation key. More...
 
gboolean parse_op_key (const char *key, char **rsc_id, char **op_type, guint *interval_ms)
 
char * generate_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 * generate_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...
 
void filter_action_parameters (xmlNode *param_set, const char *version)
 
int rsc_op_expected_rc (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...
 
xmlNode * create_operation_update (xmlNode *parent, lrmd_event_data_t *op, const char *caller_version, int target_rc, const char *node, const char *origin, int level)
 
bool crm_op_needs_metadata (const char *rsc_class, const char *op)
 Check whether an operation requires resource agent meta-data. More...
 

Macro Definition Documentation

#define _GNU_SOURCE

Definition at line 13 of file operations.c.

#define FAKE_TE_ID   "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Definition at line 338 of file operations.c.

Function Documentation

xmlNode* create_operation_update ( xmlNode *  parent,
lrmd_event_data_t op,
const char *  caller_version,
int  target_rc,
const char *  node,
const char *  origin,
int  level 
)

Definition at line 440 of file operations.c.

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]parentIf not NULL, make new XML node a child of this one
[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 422 of file operations.c.

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 607 of file operations.c.

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 222 of file operations.c.

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 160 of file operations.c.

gboolean did_rsc_op_fail ( lrmd_event_data_t op,
int  target_rc 
)

Definition at line 387 of file operations.c.

void filter_action_parameters ( xmlNode *  param_set,
const char *  version 
)

Definition at line 270 of file operations.c.

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

Definition at line 128 of file operations.c.

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

Generate an operation key.

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
It is the caller's responsibility to free() the result.

Definition at line 39 of file operations.c.

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

Definition at line 201 of file operations.c.

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

Definition at line 47 of file operations.c.

int rsc_op_expected_rc ( lrmd_event_data_t op)

Definition at line 376 of file operations.c.