pacemaker  1.1.24-3850484742
Scalable High-Availability cluster resource manager
Macros | Functions | Variables
unpack.c File Reference
#include <crm_internal.h>
#include <glib.h>
#include <crm/crm.h>
#include <crm/services.h>
#include <crm/msg_xml.h>
#include <crm/common/xml.h>
#include <crm/common/util.h>
#include <crm/pengine/rules.h>
#include <crm/pengine/internal.h>
#include <unpack.h>
#include <pe_status_private.h>
Include dependency graph for unpack.c:

Go to the source code of this file.

Macros

#define set_config_flag(data_set, option, flag)
 
#define XPATH_UNFENCING_NVPAIR
 
#define XPATH_ENABLE_UNFENCING
 
#define STATUS_PATH_MAX   1024
 

Functions

 CRM_TRACE_INIT_DATA (pe_status)
 
gboolean unpack_rsc_op (resource_t *rsc, node_t *node, xmlNode *xml_op, xmlNode **last_failure, enum action_fail_response *failed, pe_working_set_t *data_set)
 
void pe_fence_node (pe_working_set_t *data_set, pe_node_t *node, const char *reason, bool priority_delay)
 Schedule a fence action for a node. More...
 
gboolean unpack_config (xmlNode *config, pe_working_set_t *data_set)
 
node_tpe_create_node (const char *id, const char *uname, const char *type, const char *score, pe_working_set_t *data_set)
 
bool remote_id_conflict (const char *remote_name, pe_working_set_t *data)
 
gboolean unpack_nodes (xmlNode *xml_nodes, pe_working_set_t *data_set)
 
gboolean unpack_remote_nodes (xmlNode *xml_resources, pe_working_set_t *data_set)
 
gboolean unpack_resources (xmlNode *xml_resources, pe_working_set_t *data_set)
 
gboolean unpack_tags (xmlNode *xml_tags, pe_working_set_t *data_set)
 
gboolean unpack_status (xmlNode *status, pe_working_set_t *data_set)
 
gboolean determine_online_status (xmlNode *node_state, node_t *this_node, pe_working_set_t *data_set)
 
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)
 
void calculate_active_ops (GListPtr sorted_op_list, int *start_index, int *stop_index)
 
gboolean unpack_lrm_resources (node_t *node, xmlNode *lrm_rsc_list, pe_working_set_t *data_set)
 
int get_target_rc (xmlNode *xml_op)
 
gboolean add_node_attrs (xmlNode *xml_obj, node_t *node, gboolean overwrite, pe_working_set_t *data_set)
 
GListPtr find_operations (const char *rsc, const char *node, gboolean active_filter, pe_working_set_t *data_set)
 

Variables

uint32_t pe_wo = 0
 

Macro Definition Documentation

◆ set_config_flag

#define set_config_flag (   data_set,
  option,
  flag 
)
Value:
do { \
const char *tmp = pe_pref(data_set->config_hash, option); \
if(tmp) { \
if(crm_is_true(tmp)) { \
set_bit(data_set->flags, flag); \
} else { \
clear_bit(data_set->flags, flag); \
} \
} \
} while(0)
const char * pe_pref(GHashTable *options, const char *name)
Definition: common.c:215
gboolean crm_is_true(const char *s)
Definition: strings.c:197

Definition at line 35 of file unpack.c.

◆ STATUS_PATH_MAX

#define STATUS_PATH_MAX   1024

Definition at line 2481 of file unpack.c.

◆ XPATH_ENABLE_UNFENCING

#define XPATH_ENABLE_UNFENCING
Value:
#define XML_CIB_TAG_RESOURCES
Definition: msg_xml.h:160
#define XML_TAG_META_SETS
Definition: msg_xml.h:186
#define XML_TAG_CIB
Definition: msg_xml.h:81
#define XPATH_UNFENCING_NVPAIR
Definition: unpack.c:152
#define XML_CIB_TAG_RSCCONFIG
Definition: msg_xml.h:166
#define XML_CIB_TAG_CONFIGURATION
Definition: msg_xml.h:158

Definition at line 158 of file unpack.c.

◆ XPATH_UNFENCING_NVPAIR

#define XPATH_UNFENCING_NVPAIR
Value:
"and @" XML_NVPAIR_ATTR_VALUE "='unfencing']"
#define XML_NVPAIR_ATTR_NAME
Definition: msg_xml.h:370
#define XML_RSC_ATTR_PROVIDES
Definition: msg_xml.h:229
#define XML_CIB_TAG_NVPAIR
Definition: msg_xml.h:182
#define XML_RSC_ATTR_REQUIRES
Definition: msg_xml.h:228
#define XML_NVPAIR_ATTR_VALUE
Definition: msg_xml.h:371

Definition at line 152 of file unpack.c.

Function Documentation

◆ add_node_attrs()

gboolean add_node_attrs ( xmlNode *  xml_obj,
node_t node,
gboolean  overwrite,
pe_working_set_t data_set 
)

Definition at line 3535 of file unpack.c.

◆ calculate_active_ops()

void calculate_active_ops ( GListPtr  sorted_op_list,
int *  start_index,
int *  stop_index 
)

Definition at line 2245 of file unpack.c.

◆ clone_strip()

char* clone_strip ( const char *  last_rsc_id)

Definition at line 1662 of file unpack.c.

◆ clone_zero()

char* clone_zero ( const char *  last_rsc_id)

Definition at line 1684 of file unpack.c.

◆ CRM_TRACE_INIT_DATA()

CRM_TRACE_INIT_DATA ( pe_status  )

◆ determine_online_status()

gboolean determine_online_status ( xmlNode *  node_state,
node_t this_node,
pe_working_set_t data_set 
)

Definition at line 1544 of file unpack.c.

◆ find_operations()

GListPtr find_operations ( const char *  rsc,
const char *  node,
gboolean  active_filter,
pe_working_set_t data_set 
)

Definition at line 3644 of file unpack.c.

◆ get_target_rc()

int get_target_rc ( xmlNode *  xml_op)

Definition at line 3201 of file unpack.c.

◆ pe_base_name_end()

const char* pe_base_name_end ( const char *  id)

Definition at line 1622 of file unpack.c.

◆ pe_create_node()

node_t* pe_create_node ( const char *  id,
const char *  uname,
const char *  type,
const char *  score,
pe_working_set_t data_set 
)

Definition at line 375 of file unpack.c.

◆ pe_fence_node()

void pe_fence_node ( pe_working_set_t data_set,
pe_node_t node,
const char *  reason,
bool  priority_delay 
)

Schedule a fence action for a node.

Parameters
[in,out]data_setCurrent working set of cluster
[in,out]nodeNode to fence
[in]reasonText description of why fencing is needed
[in]priority_delayWhether to consider priority-fencing-delay

Definition at line 79 of file unpack.c.

◆ remote_id_conflict()

bool remote_id_conflict ( const char *  remote_name,
pe_working_set_t data 
)

Definition at line 437 of file unpack.c.

◆ unpack_config()

gboolean unpack_config ( xmlNode *  config,
pe_working_set_t data_set 
)

Definition at line 180 of file unpack.c.

◆ unpack_lrm_resources()

gboolean unpack_lrm_resources ( node_t node,
xmlNode *  lrm_rsc_list,
pe_working_set_t data_set 
)

Definition at line 2428 of file unpack.c.

◆ unpack_nodes()

gboolean unpack_nodes ( xmlNode *  xml_nodes,
pe_working_set_t data_set 
)

Definition at line 548 of file unpack.c.

◆ unpack_remote_nodes()

gboolean unpack_remote_nodes ( xmlNode *  xml_resources,
pe_working_set_t data_set 
)

Definition at line 636 of file unpack.c.

◆ unpack_resources()

gboolean unpack_resources ( xmlNode *  xml_resources,
pe_working_set_t data_set 
)

Definition at line 765 of file unpack.c.

◆ unpack_rsc_op()

gboolean unpack_rsc_op ( resource_t rsc,
node_t node,
xmlNode *  xml_op,
xmlNode **  last_failure,
enum action_fail_response failed,
pe_working_set_t data_set 
)

Definition at line 3320 of file unpack.c.

◆ unpack_status()

gboolean unpack_status ( xmlNode *  status,
pe_working_set_t data_set 
)

Definition at line 1193 of file unpack.c.

◆ unpack_tags()

gboolean unpack_tags ( xmlNode *  xml_tags,
pe_working_set_t data_set 
)

Definition at line 827 of file unpack.c.

Variable Documentation

◆ pe_wo

uint32_t pe_wo = 0

Definition at line 51 of file unpack.c.