pacemaker  2.1.9-49aab99839
Scalable High-Availability cluster resource manager
Macros | Functions | Variables
membership.c File Reference
#include <crm_internal.h>
#include <inttypes.h>
#include <sys/param.h>
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <glib.h>
#include <crm/common/ipc.h>
#include <crm/common/xml_internal.h>
#include <crm/cluster/internal.h>
#include <crm/common/xml.h>
#include <crm/stonith-ng.h>
#include "crmcluster_private.h"
#include <crm/cluster/compat.h>
Include dependency graph for membership.c:

Go to the source code of this file.

Macros

#define _GNU_SOURCE
 
#define set_peer_flags(peer, flags_to_set)
 
#define clear_peer_flags(peer, flags_to_clear)
 

Functions

unsigned int pcmk__cluster_num_remote_nodes (void)
 
crm_node_tpcmk__cluster_lookup_remote_node (const char *node_name)
 
void pcmk__cluster_forget_remote_node (const char *node_name)
 
bool pcmk__cluster_is_node_active (const crm_node_t *node)
 
void pcmk__cluster_forget_cluster_node (uint32_t id, const char *node_name)
 
unsigned int pcmk__cluster_num_active_nodes (void)
 
void pcmk__cluster_init_node_caches (void)
 
void pcmk__cluster_destroy_node_caches (void)
 
void pcmk__cluster_set_status_callback (void(*dispatch)(enum crm_status_type, crm_node_t *, const void *))
 
void pcmk__cluster_set_autoreap (bool enable)
 
crm_node_tpcmk__search_node_caches (unsigned int id, const char *uname, uint32_t flags)
 
void pcmk__purge_node_from_cache (const char *node_name, uint32_t node_id)
 
crm_node_tpcmk__get_node (unsigned int id, const char *uname, const char *uuid, uint32_t flags)
 
crm_node_tcrm_update_peer_proc (const char *source, crm_node_t *node, uint32_t flag, const char *status)
 
void pcmk__update_peer_expected (const char *source, crm_node_t *node, const char *expected)
 
crm_node_tpcmk__update_peer_state (const char *source, crm_node_t *node, const char *state, uint64_t membership)
 Update a node's state and membership information. More...
 
void pcmk__reap_unseen_nodes (uint64_t membership)
 
void pcmk__refresh_node_caches_from_cib (xmlNode *cib)
 
int crm_terminate_member (int nodeid, const char *uname, void *unused)
 
int crm_terminate_member_no_mainloop (int nodeid, const char *uname, int *connection)
 
crm_node_tcrm_get_peer (unsigned int id, const char *uname)
 
crm_node_tcrm_get_peer_full (unsigned int id, const char *uname, int flags)
 
int crm_remote_peer_cache_size (void)
 
void crm_remote_peer_cache_refresh (xmlNode *cib)
 
crm_node_tcrm_remote_peer_get (const char *node_name)
 
void crm_remote_peer_cache_remove (const char *node_name)
 
gboolean crm_is_peer_active (const crm_node_t *node)
 
guint crm_active_peers (void)
 
guint reap_crm_member (uint32_t id, const char *name)
 
void crm_peer_init (void)
 
void crm_peer_destroy (void)
 
void crm_set_autoreap (gboolean enable)
 
void crm_set_status_callback (void(*dispatch)(enum crm_status_type, crm_node_t *, const void *))
 

Variables

GHashTable * crm_peer_cache = NULL
 
GHashTable * crm_remote_peer_cache = NULL
 
unsigned long long crm_peer_seq = 0
 
gboolean crm_have_quorum = FALSE
 

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

Definition at line 13 of file membership.c.

◆ clear_peer_flags

#define clear_peer_flags (   peer,
  flags_to_clear 
)
Value:
do { \
(peer)->flags = pcmk__clear_flags_as(__func__, __LINE__, \
"Peer", (peer)->uname, \
(peer)->flags, (flags_to_clear), \
#flags_to_clear); \
} while (0)
#define LOG_TRACE
Definition: logging.h:38
uint64_t flags
Definition: remote.c:215

Definition at line 80 of file membership.c.

◆ set_peer_flags

#define set_peer_flags (   peer,
  flags_to_set 
)
Value:
do { \
(peer)->flags = pcmk__set_flags_as(__func__, __LINE__, LOG_TRACE, \
"Peer", (peer)->uname, \
(peer)->flags, (flags_to_set), \
#flags_to_set); \
} while (0)
#define LOG_TRACE
Definition: logging.h:38
uint64_t flags
Definition: remote.c:215

Definition at line 73 of file membership.c.

Function Documentation

◆ crm_active_peers()

guint crm_active_peers ( void  )
Deprecated:
Do not use

Definition at line 1507 of file membership.c.

◆ crm_get_peer()

crm_node_t* crm_get_peer ( unsigned int  id,
const char *  uname 
)
Deprecated:
Do not use Pacemaker for cluster node cacheing

Definition at line 1463 of file membership.c.

◆ crm_get_peer_full()

crm_node_t* crm_get_peer_full ( unsigned int  id,
const char *  uname,
int  flags 
)
Deprecated:
Do not use Pacemaker for cluster node cacheing

Definition at line 1469 of file membership.c.

◆ crm_is_peer_active()

gboolean crm_is_peer_active ( const crm_node_t node)
Deprecated:
Do not use

Definition at line 1501 of file membership.c.

◆ crm_peer_destroy()

void crm_peer_destroy ( void  )
Deprecated:
Do not use

Definition at line 1552 of file membership.c.

◆ crm_peer_init()

void crm_peer_init ( void  )
Deprecated:
Do not use

Definition at line 1546 of file membership.c.

◆ crm_remote_peer_cache_refresh()

void crm_remote_peer_cache_refresh ( xmlNode *  cib)
Deprecated:
Do not use

Definition at line 1483 of file membership.c.

◆ crm_remote_peer_cache_remove()

void crm_remote_peer_cache_remove ( const char *  node_name)
Deprecated:
Do not use

Definition at line 1495 of file membership.c.

◆ crm_remote_peer_cache_size()

int crm_remote_peer_cache_size ( void  )
Deprecated:
Do not use

Definition at line 1475 of file membership.c.

◆ crm_remote_peer_get()

crm_node_t* crm_remote_peer_get ( const char *  node_name)
Deprecated:
Do not use

Definition at line 1489 of file membership.c.

◆ crm_set_autoreap()

void crm_set_autoreap ( gboolean  enable)
Deprecated:
Do not use

Definition at line 1558 of file membership.c.

◆ crm_set_status_callback()

void crm_set_status_callback ( void(*)(enum crm_status_type, crm_node_t *, const void *)  dispatch)
Deprecated:
Do not use

Definition at line 1564 of file membership.c.

◆ crm_terminate_member()

int crm_terminate_member ( int  nodeid,
const char *  uname,
void *  unused 
)
Deprecated:
Use stonith_api_kick() from libstonithd instead

Definition at line 1451 of file membership.c.

◆ crm_terminate_member_no_mainloop()

int crm_terminate_member_no_mainloop ( int  nodeid,
const char *  uname,
int *  connection 
)
Deprecated:
Use stonith_api_kick() from libstonithd instead

Definition at line 1457 of file membership.c.

◆ crm_update_peer_proc()

crm_node_t* crm_update_peer_proc ( const char *  source,
crm_node_t node,
uint32_t  flag,
const char *  status 
)

Definition at line 1059 of file membership.c.

◆ pcmk__cluster_destroy_node_caches()

void pcmk__cluster_destroy_node_caches ( void  )

Definition at line 557 of file membership.c.

◆ pcmk__cluster_forget_cluster_node()

void pcmk__cluster_forget_cluster_node ( uint32_t  id,
const char *  node_name 
)

Definition at line 442 of file membership.c.

◆ pcmk__cluster_forget_remote_node()

void pcmk__cluster_forget_remote_node ( const char *  node_name)

Definition at line 196 of file membership.c.

◆ pcmk__cluster_init_node_caches()

void pcmk__cluster_init_node_caches ( void  )

Definition at line 537 of file membership.c.

◆ pcmk__cluster_is_node_active()

bool pcmk__cluster_is_node_active ( const crm_node_t node)

Definition at line 347 of file membership.c.

◆ pcmk__cluster_lookup_remote_node()

crm_node_t* pcmk__cluster_lookup_remote_node ( const char *  node_name)

Definition at line 122 of file membership.c.

◆ pcmk__cluster_num_active_nodes()

unsigned int pcmk__cluster_num_active_nodes ( void  )

Definition at line 507 of file membership.c.

◆ pcmk__cluster_num_remote_nodes()

unsigned int pcmk__cluster_num_remote_nodes ( void  )

Definition at line 98 of file membership.c.

◆ pcmk__cluster_set_autoreap()

void pcmk__cluster_set_autoreap ( bool  enable)

Definition at line 616 of file membership.c.

◆ pcmk__cluster_set_status_callback()

void pcmk__cluster_set_status_callback ( void(*)(enum crm_status_type, crm_node_t *, const void *)  dispatch)

Definition at line 594 of file membership.c.

◆ pcmk__get_node()

crm_node_t* pcmk__get_node ( unsigned int  id,
const char *  uname,
const char *  uuid,
uint32_t  flags 
)

Definition at line 890 of file membership.c.

◆ pcmk__purge_node_from_cache()

void pcmk__purge_node_from_cache ( const char *  node_name,
uint32_t  node_id 
)

Definition at line 808 of file membership.c.

◆ pcmk__reap_unseen_nodes()

void pcmk__reap_unseen_nodes ( uint64_t  membership)

Definition at line 1291 of file membership.c.

◆ pcmk__refresh_node_caches_from_cib()

void pcmk__refresh_node_caches_from_cib ( xmlNode *  cib)

Definition at line 1439 of file membership.c.

◆ pcmk__search_node_caches()

crm_node_t* pcmk__search_node_caches ( unsigned int  id,
const char *  uname,
uint32_t  flags 
)

Definition at line 765 of file membership.c.

◆ pcmk__update_peer_expected()

void pcmk__update_peer_expected ( const char *  source,
crm_node_t node,
const char *  expected 
)

Definition at line 1153 of file membership.c.

◆ pcmk__update_peer_state()

crm_node_t* pcmk__update_peer_state ( const char *  source,
crm_node_t node,
const char *  state,
uint64_t  membership 
)

Update a node's state and membership information.

Parameters
[in]sourceCaller's function name (for log messages)
[in,out]nodeNode object to update
[in]stateNode's new state
[in]membershipNode's new membership ID
Returns
NULL if any node was reaped, value of node otherwise
Note
If this function returns NULL, the supplied node object was likely freed and should not be used again. This function should not be called within a cache iteration if reaping is possible, otherwise reaping could invalidate the iterator.

Definition at line 1278 of file membership.c.

◆ reap_crm_member()

guint reap_crm_member ( uint32_t  id,
const char *  name 
)
Deprecated:
Do not use

Definition at line 1513 of file membership.c.

Variable Documentation

◆ crm_have_quorum

gboolean crm_have_quorum = FALSE
Deprecated:
Do not use (public access will be removed in a future release)

Definition at line 68 of file membership.c.

◆ crm_peer_cache

GHashTable* crm_peer_cache = NULL
Deprecated:
Do not use (public access will be removed in a future release)

Definition at line 40 of file membership.c.

◆ crm_peer_seq

unsigned long long crm_peer_seq = 0
Deprecated:
Do not use (public access will be removed in a future release)

Definition at line 67 of file membership.c.

◆ crm_remote_peer_cache

GHashTable* crm_remote_peer_cache = NULL
Deprecated:
Do not use (public access will be removed in a future release)

Definition at line 57 of file membership.c.