pacemaker  2.1.3-ea053b43a
Scalable High-Availability cluster resource manager
Data Structures | Enumerations | Functions
pacemaker.h File Reference

High Level API. More...

#include <glib.h>
#include <libxml/tree.h>
#include <crm/cib/cib_types.h>
#include <crm/pengine/pe_types.h>
#include <crm/stonith-ng.h>
Include dependency graph for pacemaker.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  pcmk_injections_t
 Synthetic cluster events that can be injected into the cluster for running simulations. More...
 

Enumerations

enum  pcmk_sim_flags {
  pcmk_sim_none = 0, pcmk_sim_all_actions = 1 << 0, pcmk_sim_show_pending = 1 << 1, pcmk_sim_process = 1 << 2,
  pcmk_sim_show_scores = 1 << 3, pcmk_sim_show_utilization = 1 << 4, pcmk_sim_simulate = 1 << 5, pcmk_sim_sanitized = 1 << 6,
  pcmk_sim_verbose = 1 << 7
}
 Modify operation of running a cluster simulation. More...
 

Functions

int pcmk_controller_status (xmlNodePtr *xml, char *dest_node, unsigned int message_timeout_ms)
 Get controller status. More...
 
int pcmk_designated_controller (xmlNodePtr *xml, unsigned int message_timeout_ms)
 Get designated controller. More...
 
void pcmk_free_injections (pcmk_injections_t *injections)
 Free a :pcmk_injections_t structure. More...
 
int pcmk_pacemakerd_status (xmlNodePtr *xml, char *ipc_name, unsigned int message_timeout_ms)
 Get pacemakerd status. More...
 
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. More...
 
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's response to events. More...
 
int pcmk_list_nodes (xmlNodePtr *xml, char *node_types)
 Get nodes list. More...
 
int pcmk_status (xmlNodePtr *xml)
 Output the current status of the cluster, formatted in the same way that crm_mon --output-as=xml would. More...
 

Detailed Description

High Level API.

Definition in file pacemaker.h.

Enumeration Type Documentation

◆ pcmk_sim_flags

Modify operation of running a cluster simulation.

Enumerator
pcmk_sim_none 
pcmk_sim_all_actions 
pcmk_sim_show_pending 
pcmk_sim_process 
pcmk_sim_show_scores 
pcmk_sim_show_utilization 
pcmk_sim_simulate 
pcmk_sim_sanitized 
pcmk_sim_verbose 

Definition at line 34 of file pacemaker.h.

Function Documentation

◆ pcmk_controller_status()

int pcmk_controller_status ( xmlNodePtr *  xml,
char *  dest_node,
unsigned int  message_timeout_ms 
)

Get controller status.

Parameters
[in,out]xmlThe destination for the result, as an XML tree.
[in]dest_nodeDestination node for request
[in]message_timeout_msMessage timeout
Returns
Standard Pacemaker return code

Definition at line 299 of file pcmk_cluster_queries.c.

◆ pcmk_designated_controller()

int pcmk_designated_controller ( xmlNodePtr *  xml,
unsigned int  message_timeout_ms 
)

Get designated controller.

Parameters
[in,out]xmlThe destination for the result, as an XML tree.
[in]message_timeout_msMessage timeout
Returns
Standard Pacemaker return code

Definition at line 344 of file pcmk_cluster_queries.c.

◆ pcmk_free_injections()

void pcmk_free_injections ( pcmk_injections_t injections)

Free a :pcmk_injections_t structure.

Parameters
[in,out]injectionsThe structure to be freed

Definition at line 739 of file pcmk_injections.c.

◆ pcmk_list_nodes()

int pcmk_list_nodes ( xmlNodePtr *  xml,
char *  node_types 
)

Get nodes list.

Parameters
[in,out]xmlThe destination for the result, as an XML tree.
[in]node_typesNode type(s) to return (default: all)
Returns
Standard Pacemaker return code

Definition at line 487 of file pcmk_cluster_queries.c.

◆ pcmk_pacemakerd_status()

int pcmk_pacemakerd_status ( xmlNodePtr *  xml,
char *  ipc_name,
unsigned int  message_timeout_ms 
)

Get pacemakerd status.

Parameters
[in,out]xmlThe destination for the result, as an XML tree.
[in]ipc_nameIPC name for request
[in]message_timeout_msMessage timeout
Returns
Standard Pacemaker return code

Definition at line 389 of file pcmk_cluster_queries.c.

◆ pcmk_resource_digests()

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.

Parameters
[out]xmlWhere to store XML with result
[in]rscResource to calculate digests for
[in]nodeNode whose operation history should be used
[in]overridesHash table of configuration parameters to override
[in]data_setCluster working set (with status)
Returns
Standard Pacemaker return code

Definition at line 125 of file pcmk_resource.c.

◆ pcmk_simulate()

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's response to events.

This high-level function essentially implements crm_simulate(8). It operates on an input CIB file and various lists of events that can be simulated. It optionally writes out a variety of artifacts to show the results of the simulation. Output can be modified with various flags.

Parameters
[in,out]xmlThe destination for the result, as an XML tree.
[in,out]data_setWorking set for the cluster.
[in]eventsA structure containing cluster events (node up/down, tickets, injected operations)
[in]flagsA bitfield of :pcmk_sim_flags to modify operation of the simulation.
[in]section_optsWhich portions of the cluster status output should be displayed?
[in]use_dateThe date to set the cluster's time to (may be NULL).
[in]input_fileThe source CIB file, which may be overwritten by this function (may be NULL).
[in]graph_fileWhere to write the XML-formatted transition graph (may be NULL, in which case no file will be written).
[in]dot_fileWhere to write the dot(1) formatted transition graph (may be NULL, in which case no file will be written). See pcmk__write_sim_dotfile().
Returns
Standard Pacemaker return code

Definition at line 961 of file pcmk_simulate.c.

◆ pcmk_status()

int pcmk_status ( xmlNodePtr *  xml)

Output the current status of the cluster, formatted in the same way that crm_mon --output-as=xml would.

Parameters
[in,out]xmlThe destination for the result, as an XML tree.
Returns
Standard Pacemaker return code

Definition at line 206 of file pcmk_status.c.