pacemaker  2.1.2-ada5c3b36
Scalable High-Availability cluster resource manager
pacemaker.h
Go to the documentation of this file.
1 /*
2  * Copyright 2019-2021 the Pacemaker project contributors
3  *
4  * The version control history for this file may have further details.
5  *
6  * This source code is licensed under the GNU Lesser General Public License
7  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8  */
9 
10 #ifndef PACEMAKER__H
11 # define PACEMAKER__H
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
23 # include <glib.h>
24 # include <libxml/tree.h>
25 # include <crm/pengine/pe_types.h>
26 
27 # include <crm/stonith-ng.h>
28 
36  pcmk_sim_process = 1 << 2,
41  pcmk_sim_verbose = 1 << 7,
42 };
43 
48 typedef struct {
50  GList *node_up;
52  GList *node_down;
54  GList *node_fail;
59  GList *op_inject;
64  GList *op_fail;
66  GList *ticket_grant;
68  GList *ticket_revoke;
74  char *watchdog;
76  char *quorum;
78 
88 int pcmk_controller_status(xmlNodePtr *xml, char *dest_node, unsigned int message_timeout_ms);
89 
98 int pcmk_designated_controller(xmlNodePtr *xml, unsigned int message_timeout_ms);
99 
105 void pcmk_free_injections(pcmk_injections_t *injections);
106 
116 int pcmk_pacemakerd_status(xmlNodePtr *xml, char *ipc_name, unsigned int message_timeout_ms);
117 
129 int pcmk_resource_digests(xmlNodePtr *xml, pe_resource_t *rsc,
130  pe_node_t *node, GHashTable *overrides,
131  pe_working_set_t *data_set);
132 
162 int pcmk_simulate(xmlNodePtr *xml, pe_working_set_t *data_set,
163  pcmk_injections_t *injections, unsigned int flags,
164  unsigned int section_opts, char *use_date, char *input_file,
165  char *graph_file, char *dot_file);
166 
175 int pcmk_list_nodes(xmlNodePtr *xml, char *node_types);
176 
177 #ifdef BUILD_PUBLIC_LIBPACEMAKER
178 
195 int pcmk_fence_action(stonith_t *st, const char *target, const char *action,
196  const char *name, unsigned int timeout, unsigned int tolerance,
197  int delay);
198 
216 int pcmk_fence_history(xmlNodePtr *xml, stonith_t *st, char *target,
217  unsigned int timeout, bool quiet, int verbose,
218  bool broadcast, bool cleanup);
219 
232 int pcmk_fence_installed(xmlNodePtr *xml, stonith_t *st, unsigned int timeout);
233 
246 int pcmk_fence_last(xmlNodePtr *xml, const char *target, bool as_nodeid);
247 
261 int pcmk_fence_list_targets(xmlNodePtr *xml, stonith_t *st,
262  const char *device_id, unsigned int timeout);
263 
277 int pcmk_fence_metadata(xmlNodePtr *xml, stonith_t *st, char *agent,
278  unsigned int timeout);
279 
294 int pcmk_fence_registered(xmlNodePtr *xml, stonith_t *st, char *target,
295  unsigned int timeout);
296 
312 int pcmk_fence_register_level(stonith_t *st, char *target, int fence_level,
313  stonith_key_value_t *devices);
314 
329 int pcmk_fence_unregister_level(stonith_t *st, char *target, int fence_level);
330 
346 int pcmk_fence_validate(xmlNodePtr *xml, stonith_t *st, const char *agent,
347  const char *id, stonith_key_value_t *params,
348  unsigned int timeout);
349 #endif
350 
351 #ifdef __cplusplus
352 }
353 #endif
354 
355 #endif
int pcmk_simulate(xmlNodePtr *xml, pe_working_set_t *data_set, pcmk_injections_t *injections, unsigned int flags, unsigned int section_opts, char *use_date, char *input_file, char *graph_file, char *dot_file)
Simulate a cluster&#39;s response to events.
GList * op_inject
Definition: pacemaker.h:59
GList * ticket_activate
Definition: pacemaker.h:72
int pcmk_pacemakerd_status(xmlNodePtr *xml, char *ipc_name, unsigned int message_timeout_ms)
Get pacemakerd status.
GList * node_up
Definition: pacemaker.h:50
int pcmk_designated_controller(xmlNodePtr *xml, unsigned int message_timeout_ms)
Get designated controller.
GList * ticket_grant
Definition: pacemaker.h:66
const char * action
Definition: pcmk_fence.c:30
int pcmk_resource_digests(xmlNodePtr *xml, pe_resource_t *rsc, pe_node_t *node, GHashTable *overrides, pe_working_set_t *data_set)
Calculate and output resource operation digests.
stonith_t * st
Definition: pcmk_fence.c:28
unsigned int tolerance
Definition: pcmk_fence.c:33
GList * ticket_standby
Definition: pacemaker.h:70
int pcmk_list_nodes(xmlNodePtr *xml, char *node_types)
Get nodes list.
void pcmk_free_injections(pcmk_injections_t *injections)
Free a :pcmk_injections_t structure.
const char * target
Definition: pcmk_fence.c:29
int pcmk_controller_status(xmlNodePtr *xml, char *dest_node, unsigned int message_timeout_ms)
Get controller status.
GList * ticket_revoke
Definition: pacemaker.h:68
int delay
Definition: pcmk_fence.c:34
Synthetic cluster events that can be injected into the cluster for running simulations.
Definition: pacemaker.h:48
Fencing aka. STONITH.
GList * node_fail
Definition: pacemaker.h:54
GList * op_fail
Definition: pacemaker.h:64
Data types for cluster status.
char * name
Definition: pcmk_fence.c:31
pcmk_sim_flags
Modify operation of running a cluster simulation.
Definition: pacemaker.h:32
unsigned int timeout
Definition: pcmk_fence.c:32
GList * node_down
Definition: pacemaker.h:52
uint64_t flags
Definition: remote.c:149