pacemaker  2.1.6-802a72226b
Scalable High-Availability cluster resource manager
pcmki_fence.h
Go to the documentation of this file.
1 /*
2  * Copyright 2019-2022 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 #ifndef PCMK__PCMKI_PCMKI_FENCE__H
10 # define PCMK__PCMKI_PCMKI_FENCE__H
11 
12 # include <crm/stonith-ng.h>
14 
22 };
23 
49 int pcmk__request_fencing(stonith_t *st, const char *target, const char *action,
50  const char *name, unsigned int timeout,
51  unsigned int tolerance, int delay, char **reason);
52 
73 int pcmk__fence_history(pcmk__output_t *out, stonith_t *st, const char *target,
74  unsigned int timeout, int verbose, bool broadcast,
75  bool cleanup);
76 
93 int pcmk__fence_installed(pcmk__output_t *out, stonith_t *st, unsigned int timeout);
94 
111 int pcmk__fence_last(pcmk__output_t *out, const char *target, bool as_nodeid);
112 
131  const char *device_id, unsigned int timeout);
132 
150 int pcmk__fence_metadata(pcmk__output_t *out, stonith_t *st, const char *agent,
151  unsigned int timeout);
152 
171  const char *target, unsigned int timeout);
172 
192  int fence_level,
193  const stonith_key_value_t *devices);
194 
213  int fence_level);
214 
234 int pcmk__fence_validate(pcmk__output_t *out, stonith_t *st, const char *agent,
235  const char *id, const stonith_key_value_t *params,
236  unsigned int timeout);
237 
247 int
249  enum pcmk__fence_history fence_history);
250 #endif
int pcmk__fence_validate(pcmk__output_t *out, stonith_t *st, const char *agent, const char *id, const stonith_key_value_t *params, unsigned int timeout)
Validate a fence device configuration.
Definition: pcmk_fence.c:567
int pcmk__fence_last(pcmk__output_t *out, const char *target, bool as_nodeid)
When was a device last fenced?
Definition: pcmk_fence.c:366
const char * name
Definition: cib.c:24
int pcmk__fence_unregister_level(stonith_t *st, const char *target, int fence_level)
Unregister a fencing level for specific node, node regex, or attribute.
Definition: pcmk_fence.c:553
pcmk__fence_history
Control how much of the fencing history is output.
Definition: pcmki_fence.h:18
int pcmk__fence_registered(pcmk__output_t *out, stonith_t *st, const char *target, unsigned int timeout)
List registered fence devices.
Definition: pcmk_fence.c:489
const char * action
Definition: pcmk_fence.c:30
Formatted output for pacemaker tools.
stonith_t * st
Definition: pcmk_fence.c:28
unsigned int tolerance
Definition: pcmk_fence.c:33
int pcmk__fence_list_targets(pcmk__output_t *out, stonith_t *st, const char *device_id, unsigned int timeout)
List nodes that can be fenced.
Definition: pcmk_fence.c:404
int pcmk__request_fencing(stonith_t *st, const char *target, const char *action, const char *name, unsigned int timeout, unsigned int tolerance, int delay, char **reason)
Ask the cluster to perform fencing.
Definition: pcmk_fence.c:184
const char * target
Definition: pcmk_fence.c:29
int delay
Definition: pcmk_fence.c:34
int pcmk__fence_installed(pcmk__output_t *out, stonith_t *st, unsigned int timeout)
List all installed fence agents.
Definition: pcmk_fence.c:324
Fencing aka. STONITH.
This structure contains everything that makes up a single output formatter.
int pcmk__get_fencing_history(stonith_t *st, stonith_history_t **stonith_history, enum pcmk__fence_history fence_history)
Fetch fencing history, optionally reducing it.
Definition: pcmk_fence.c:604
int pcmk__fence_register_level(stonith_t *st, const char *target, int fence_level, const stonith_key_value_t *devices)
Register a fencing level for a specific node, node regex, or attribute.
Definition: pcmk_fence.c:537
unsigned int timeout
Definition: pcmk_fence.c:32
int pcmk__fence_metadata(pcmk__output_t *out, stonith_t *st, const char *agent, unsigned int timeout)
Get metadata for a fence agent.
Definition: pcmk_fence.c:451