pacemaker  1.1.12-561c4cf
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
cluster.h File Reference
#include <crm/common/xml.h>
#include <crm/common/util.h>
Include dependency graph for cluster.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  crm_peer_node_s
 
struct  crm_cluster_s
 

Macros

#define CRM_SERVICE   PCMK_SERVICE_ID
 
#define CRM_NODE_LOST   "lost"
 
#define CRM_NODE_MEMBER   "member"
 
#define CRM_NODE_ACTIVE   CRM_NODE_MEMBER
 
#define CRM_NODE_EVICTED   "evicted"
 

Typedefs

typedef struct crm_peer_node_s crm_node_t
 
typedef struct crm_cluster_s crm_cluster_t
 

Enumerations

enum  crm_join_phase {
  crm_join_nack = -1, crm_join_none = 0, crm_join_welcomed = 1, crm_join_integrated = 2,
  crm_join_finalized = 3, crm_join_confirmed = 4
}
 
enum  crm_node_flags { crm_remote_node = 0x0001, crm_remote_container = 0x0002, crm_remote_baremetal = 0x0004 }
 
enum  crm_ais_msg_class {
  crm_class_cluster = 0, crm_class_members = 1, crm_class_notify = 2, crm_class_nodeid = 3,
  crm_class_rmpeer = 4, crm_class_quorum = 5
}
 
enum  crm_ais_msg_types {
  crm_msg_none = 0, crm_msg_ais = 1, crm_msg_lrmd = 2, crm_msg_cib = 3,
  crm_msg_crmd = 4, crm_msg_attrd = 5, crm_msg_stonithd = 6, crm_msg_te = 7,
  crm_msg_pe = 8, crm_msg_stonith_ng = 9
}
 
enum  crm_get_peer_flags { CRM_GET_PEER_CLUSTER = 0x0001, CRM_GET_PEER_REMOTE = 0x0002 }
 
enum  crm_status_type { crm_status_uname, crm_status_nstate, crm_status_processes, crm_status_rstate }
 
enum  cluster_type_e {
  pcmk_cluster_unknown = 0x0001, pcmk_cluster_invalid = 0x0002, pcmk_cluster_heartbeat = 0x0004, pcmk_cluster_classic_ais = 0x0010,
  pcmk_cluster_corosync = 0x0020, pcmk_cluster_cman = 0x0040
}
 

Functions

void crm_peer_init (void)
 
void crm_peer_destroy (void)
 
gboolean crm_cluster_connect (crm_cluster_t *cluster)
 
void crm_cluster_disconnect (crm_cluster_t *cluster)
 
gboolean send_cluster_message (crm_node_t *node, enum crm_ais_msg_types service, xmlNode *data, gboolean ordered)
 
int crm_remote_peer_cache_size (void)
 
void crm_remote_peer_cache_refresh (xmlNode *cib)
 
void crm_remote_peer_cache_add (const char *node_name)
 
void crm_remote_peer_cache_remove (const char *node_name)
 
crm_node_tcrm_get_peer_full (unsigned int id, const char *uname, int flags)
 
crm_node_tcrm_get_peer (unsigned int id, const char *uname)
 
guint crm_active_peers (void)
 
gboolean crm_is_peer_active (const crm_node_t *node)
 
guint reap_crm_member (uint32_t id, const char *name)
 
int crm_terminate_member (int nodeid, const char *uname, void *unused)
 
int crm_terminate_member_no_mainloop (int nodeid, const char *uname, int *connection)
 
const char * crm_peer_uuid (crm_node_t *node)
 
const char * crm_peer_uname (const char *uuid)
 
void set_uuid (xmlNode *xml, const char *attr, crm_node_t *node)
 
enum crm_ais_msg_types text2msg_type (const char *text)
 
void crm_set_status_callback (void(*dispatch)(enum crm_status_type, crm_node_t *, const void *))
 
enum cluster_type_e get_cluster_type (void)
 
const char * name_for_cluster_type (enum cluster_type_e type)
 
gboolean is_corosync_cluster (void)
 
gboolean is_cman_cluster (void)
 
gboolean is_openais_cluster (void)
 
gboolean is_classic_ais_cluster (void)
 
gboolean is_heartbeat_cluster (void)
 
const char * get_local_node_name (void)
 
char * get_node_name (uint32_t nodeid)
 

Variables

gboolean crm_have_quorum
 
GHashTable * crm_peer_cache
 
GHashTable * crm_remote_peer_cache
 
unsigned long long crm_peer_seq
 

Macro Definition Documentation

#define CRM_NODE_ACTIVE   CRM_NODE_MEMBER

Definition at line 45 of file cluster.h.

#define CRM_NODE_EVICTED   "evicted"

Definition at line 46 of file cluster.h.

#define CRM_NODE_LOST   "lost"

Definition at line 43 of file cluster.h.

#define CRM_NODE_MEMBER   "member"

Definition at line 44 of file cluster.h.

#define CRM_SERVICE   PCMK_SERVICE_ID

Definition at line 39 of file cluster.h.

Typedef Documentation

typedef struct crm_cluster_s crm_cluster_t
typedef struct crm_peer_node_s crm_node_t

Enumeration Type Documentation

Enumerator
pcmk_cluster_unknown 
pcmk_cluster_invalid 
pcmk_cluster_heartbeat 
pcmk_cluster_classic_ais 
pcmk_cluster_corosync 
pcmk_cluster_cman 

Definition at line 204 of file cluster.h.

Enumerator
crm_class_cluster 
crm_class_members 
crm_class_notify 
crm_class_nodeid 
crm_class_rmpeer 
crm_class_quorum 

Definition at line 115 of file cluster.h.

Enumerator
crm_msg_none 
crm_msg_ais 
crm_msg_lrmd 
crm_msg_cib 
crm_msg_crmd 
crm_msg_attrd 
crm_msg_stonithd 
crm_msg_te 
crm_msg_pe 
crm_msg_stonith_ng 

Definition at line 125 of file cluster.h.

Enumerator
CRM_GET_PEER_CLUSTER 
CRM_GET_PEER_REMOTE 

Definition at line 139 of file cluster.h.

Enumerator
crm_join_nack 
crm_join_none 
crm_join_welcomed 
crm_join_integrated 
crm_join_finalized 
crm_join_confirmed 

Definition at line 48 of file cluster.h.

Enumerator
crm_remote_node 
crm_remote_container 
crm_remote_baremetal 

Definition at line 58 of file cluster.h.

Enumerator
crm_status_uname 
crm_status_nstate 
crm_status_processes 
crm_status_rstate 

Definition at line 193 of file cluster.h.

Function Documentation

guint crm_active_peers ( void  )
gboolean crm_cluster_connect ( crm_cluster_t cluster)
void crm_cluster_disconnect ( crm_cluster_t cluster)
crm_node_t* crm_get_peer ( unsigned int  id,
const char *  uname 
)
crm_node_t* crm_get_peer_full ( unsigned int  id,
const char *  uname,
int  flags 
)
gboolean crm_is_peer_active ( const crm_node_t node)
void crm_peer_destroy ( void  )
void crm_peer_init ( void  )
const char* crm_peer_uname ( const char *  uuid)
const char* crm_peer_uuid ( crm_node_t node)
void crm_remote_peer_cache_add ( const char *  node_name)
void crm_remote_peer_cache_refresh ( xmlNode *  cib)
void crm_remote_peer_cache_remove ( const char *  node_name)
int crm_remote_peer_cache_size ( void  )
void crm_set_status_callback ( void(*)(enum crm_status_type, crm_node_t *, const void *)  dispatch)
int crm_terminate_member ( int  nodeid,
const char *  uname,
void *  unused 
)
int crm_terminate_member_no_mainloop ( int  nodeid,
const char *  uname,
int *  connection 
)
enum cluster_type_e get_cluster_type ( void  )
const char* get_local_node_name ( void  )
char* get_node_name ( uint32_t  nodeid)
gboolean is_classic_ais_cluster ( void  )
gboolean is_cman_cluster ( void  )
gboolean is_corosync_cluster ( void  )
gboolean is_heartbeat_cluster ( void  )
gboolean is_openais_cluster ( void  )
const char* name_for_cluster_type ( enum cluster_type_e  type)
guint reap_crm_member ( uint32_t  id,
const char *  name 
)
gboolean send_cluster_message ( crm_node_t node,
enum crm_ais_msg_types  service,
xmlNode *  data,
gboolean  ordered 
)
void set_uuid ( xmlNode *  xml,
const char *  attr,
crm_node_t node 
)
enum crm_ais_msg_types text2msg_type ( const char *  text)

Variable Documentation

gboolean crm_have_quorum
GHashTable* crm_peer_cache
unsigned long long crm_peer_seq
GHashTable* crm_remote_peer_cache