pacemaker 2.1.1-77db578727
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
pe_types.h
Go to the documentation of this file.
1/*
2 * Copyright 2004-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 PE_TYPES__H
11# define PE_TYPES__H
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
23# include <stdbool.h> // bool
24# include <sys/types.h> // time_t
25# include <libxml/tree.h> // xmlNode
26# include <glib.h> // gboolean, guint, GList, GHashTable
27# include <crm/common/iso8601.h>
28# include <crm/pengine/common.h>
29
30typedef struct pe_node_s pe_node_t;
31typedef struct pe_action_s pe_action_t;
34
42
45 pe_resource_t *(*find_rsc) (pe_resource_t *parent, const char *search,
46 const pe_node_t *node, int flags);
47 /* parameter result must be free'd */
48 char *(*parameter) (pe_resource_t*, pe_node_t*, gboolean, const char*,
51 void (*print) (pe_resource_t*, const char*, long, void*);
52 gboolean (*active) (pe_resource_t*, gboolean);
53 enum rsc_role_e (*state) (const pe_resource_t*, gboolean);
54 pe_node_t *(*location) (const pe_resource_t*, GList**, int);
55 void (*free) (pe_resource_t*);
56 void (*count) (pe_resource_t*);
57 gboolean (*is_filtered) (pe_resource_t*, GList *, gboolean);
59
61
69
75
81
91
92// @TODO Make these an enum
93
94# define pe_flag_have_quorum 0x00000001ULL
95# define pe_flag_symmetric_cluster 0x00000002ULL
96# define pe_flag_maintenance_mode 0x00000008ULL
97
98# define pe_flag_stonith_enabled 0x00000010ULL
99# define pe_flag_have_stonith_resource 0x00000020ULL
100# define pe_flag_enable_unfencing 0x00000040ULL
101# define pe_flag_concurrent_fencing 0x00000080ULL
102
103# define pe_flag_stop_rsc_orphans 0x00000100ULL
104# define pe_flag_stop_action_orphans 0x00000200ULL
105# define pe_flag_stop_everything 0x00000400ULL
106
107# define pe_flag_start_failure_fatal 0x00001000ULL
108
110# define pe_flag_remove_after_stop 0x00002000ULL
111
112# define pe_flag_startup_fencing 0x00004000ULL
113# define pe_flag_shutdown_lock 0x00008000ULL
114
115# define pe_flag_startup_probes 0x00010000ULL
116# define pe_flag_have_status 0x00020000ULL
117# define pe_flag_have_remote_nodes 0x00040000ULL
118
119# define pe_flag_quick_location 0x00100000ULL
120# define pe_flag_sanitized 0x00200000ULL
121
123# define pe_flag_stdout 0x00400000ULL
124
126# define pe_flag_no_counts 0x00800000ULL
127
131# define pe_flag_no_compat 0x01000000ULL
132
133# define pe_flag_show_scores 0x02000000ULL
134# define pe_flag_show_utilization 0x04000000ULL
135
137 xmlNode *input;
139
140 /* options extracted from the input */
141 char *dc_uuid;
143 const char *stonith_action;
145
146 unsigned long long flags;
147
150
151 GHashTable *config_hash;
152 GHashTable *tickets;
153
154 // Actions for which there can be only one (e.g. fence nodeX)
155 GHashTable *singletons;
156
157 GList *nodes;
158 GList *resources;
163
164 GList *actions;
165 xmlNode *failed;
166 xmlNode *op_defaults;
167 xmlNode *rsc_defaults;
168
169 /* stats */
174
175 /* final output */
176 xmlNode *graph;
177
178 GHashTable *template_rsc_sets;
179 const char *localhost;
180 GHashTable *tags;
181
184
185 GList *param_check; // History entries that need to be checked
186 GList *stop_needed; // Containers that need stop actions
187 time_t recheck_by; // Hint to controller to re-run scheduler by this time
188 int ninstances; // Total number of resource instances
189 guint shutdown_lock;// How long (seconds) to lock resources to shutdown node
190 int priority_fencing_delay; // Priority fencing delay
191
192 void *priv;
193};
194
196 /* Clear fail count if parameters changed for un-expired start or monitor
197 * last_failure.
198 */
200
201 /* Clear fail count if parameters changed for start, monitor, promote, or
202 * migrate_from actions for active resources.
203 */
205};
206
208 const char *id;
209 const char *uname;
211
212 /* @TODO convert these flags into a bitfield */
213 gboolean online;
214 gboolean standby;
216 gboolean pending;
217 gboolean unclean;
218 gboolean unseen;
219 gboolean shutdown;
220 gboolean expected_up;
221 gboolean is_dc;
222 gboolean maintenance;
226 gboolean remote_maintenance; /* what the remote-rsc is thinking */
227 gboolean unpacked;
228
231 GList *running_rsc; /* pe_resource_t* */
232 GList *allocated_rsc; /* pe_resource_t* */
233
234 GHashTable *attrs; /* char* => char* */
235 GHashTable *utilization;
236 GHashTable *digest_cache;
237 int priority; // calculated based on the priority of resources running on the node
238};
239
247
248# define pe_rsc_orphan 0x00000001ULL
249# define pe_rsc_managed 0x00000002ULL
250# define pe_rsc_block 0x00000004ULL
251# define pe_rsc_orphan_container_filler 0x00000008ULL
252
253# define pe_rsc_notify 0x00000010ULL
254# define pe_rsc_unique 0x00000020ULL
255# define pe_rsc_fence_device 0x00000040ULL
256# define pe_rsc_promotable 0x00000080ULL
257
258# define pe_rsc_provisional 0x00000100ULL
259# define pe_rsc_allocating 0x00000200ULL
260# define pe_rsc_merging 0x00000400ULL
261
262# define pe_rsc_stop 0x00001000ULL
263# define pe_rsc_reload 0x00002000ULL
264# define pe_rsc_allow_remote_remotes 0x00004000ULL
265# define pe_rsc_critical 0x00008000ULL
266
267# define pe_rsc_failed 0x00010000ULL
268# define pe_rsc_runnable 0x00040000ULL
269# define pe_rsc_start_pending 0x00080000ULL
270
271# define pe_rsc_starting 0x00100000ULL
272# define pe_rsc_stopping 0x00200000ULL
273# define pe_rsc_allow_migrate 0x00800000ULL
274
275# define pe_rsc_failure_ignored 0x01000000ULL
276# define pe_rsc_maintenance 0x04000000ULL
277# define pe_rsc_is_container 0x08000000ULL
278
279# define pe_rsc_needs_quorum 0x10000000ULL
280# define pe_rsc_needs_fencing 0x20000000ULL
281# define pe_rsc_needs_unfencing 0x40000000ULL
282
289
290/* *INDENT-OFF* */
296
300
303#if !defined(PCMK_ALLOW_DEPRECATED) || (PCMK_ALLOW_DEPRECATED == 1)
304 pe_action_clear = 0x00400,
305#endif
307
308 /* This action requires one or more of its dependencies to be runnable.
309 * We use this to clear the runnable flag before checking dependencies.
310 */
312
315 pe_action_dedup = 0x08000,
316
317 pe_action_dc = 0x10000,
318};
319/* *INDENT-ON* */
320
322 char *id;
324 xmlNode *xml;
325 xmlNode *orig_xml;
326 xmlNode *ops_xml;
327
330
335
337
338 // @TODO only pe_restart_restart is of interest, so merge into flags
340
348
349 unsigned long long flags;
350
351 // @TODO merge these into flags
354
357 GList *rsc_cons_lhs; // List of pcmk__colocation_t*
358 GList *rsc_cons; // List of pcmk__colocation_t*
359 GList *rsc_location; // List of pe__location_t*
360 GList *actions; // List of pe_action_t*
361 GList *rsc_tickets; // List of rsc_ticket*
363
367 GList *running_on; /* pe_node_t* */
368 GHashTable *known_on; /* pe_node_t* */
369 GHashTable *allowed_nodes; /* pe_node_t* */
370
373
374 GHashTable *meta;
375 GHashTable *parameters;
376 GHashTable *utilization;
377
378 GList *children; /* pe_resource_t* */
379 GList *dangling_migrations; /* pe_node_t* */
380
382 GList *fillers;
383
384 pe_node_t *pending_node; // Node on which pending_task is happening
385 pe_node_t *lock_node; // Resource is shutdown-locked to this node
386 time_t lock_time; // When shutdown lock started
387
388 /* Resource parameters may have node-attribute-based rules, which means the
389 * values can vary by node. This table is a cache of parameter name/value
390 * tables for each node (as needed). Use pe_rsc_params() to get the table
391 * for a given node.
392 */
393 GHashTable *parameter_cache; // Key = node name, value = parameters table
394#if ENABLE_VERSIONED_ATTRS
395 xmlNode *versioned_parameters;
396#endif
397};
398
399#if ENABLE_VERSIONED_ATTRS
400// Used as action->action_details if action->rsc is not NULL
401typedef struct pe_rsc_action_details_s {
402 xmlNode *versioned_parameters;
403 xmlNode *versioned_meta;
404} pe_rsc_action_details_t;
405#endif
406
408 int id;
410
413 xmlNode *op_entry;
414
415 char *task;
416 char *uuid;
418 char *reason;
419
424
425 GHashTable *meta;
426 GHashTable *extra;
427
428 /*
429 * These two varables are associated with the constraint logic
430 * that involves first having one or more actions runnable before
431 * then allowing this action to execute.
432 *
433 * These varables are used with features such as 'clone-min' which
434 * requires at minimum X number of cloned instances to be running
435 * before an order dependency can run. Another option that uses
436 * this is 'require-all=false' in ordering constrants. This option
437 * says "only require one instance of a resource to start before
438 * allowing dependencies to start" -- basically, require-all=false is
439 * the same as clone-min=1.
440 */
441
442 /* current number of known runnable actions in the before list. */
444 /* the number of "before" runnable actions required for this action
445 * to be considered runnable */
447
448 GList *actions_before; /* pe_action_wrapper_t* */
449 GList *actions_after; /* pe_action_wrapper_t* */
450
451 /* Some of the above fields could be moved to the details,
452 * except for API backward compatibility.
453 */
454 void *action_details; // varies by type of action
455};
456
457typedef struct pe_ticket_s {
458 char *id;
459 gboolean granted;
461 gboolean standby;
462 GHashTable *state;
464
465typedef struct pe_tag_s {
466 char *id;
467 GList *refs;
469
476
482
483/* *INDENT-OFF* */
485 pe_order_none = 0x0, /* deleted */
486 pe_order_optional = 0x1, /* pure ordering, nothing implied */
487 pe_order_apply_first_non_migratable = 0x2, /* Only apply this constraint's ordering if first is not migratable. */
488
489 pe_order_implies_first = 0x10, /* If 'then' is required, ensure 'first' is too */
490 pe_order_implies_then = 0x20, /* If 'first' is required, ensure 'then' is too */
491 pe_order_promoted_implies_first = 0x40, /* If 'then' is required and then's rsc is promoted, ensure 'first' becomes required too */
492
493 /* first requires then to be both runnable and migrate runnable. */
495
496 pe_order_runnable_left = 0x100, /* 'then' requires 'first' to be runnable */
497
498 pe_order_pseudo_left = 0x200, /* 'then' can only be pseudo if 'first' is runnable */
499 pe_order_implies_then_on_node = 0x400, /* If 'first' is required on 'nodeX',
500 * ensure instances of 'then' on 'nodeX' are too.
501 * Only really useful if 'then' is a clone and 'first' is not
502 */
503 pe_order_probe = 0x800, /* If 'first->rsc' is
504 * - running but about to stop, ignore the constraint
505 * - otherwise, behave as runnable_left
506 */
507
508 pe_order_restart = 0x1000, /* 'then' is runnable if 'first' is optional or runnable */
509 pe_order_stonith_stop = 0x2000, /* only applies if the action is non-pseudo */
510 pe_order_serialize_only = 0x4000, /* serialize */
511 pe_order_same_node = 0x8000, /* applies only if 'first' and 'then' are on same node */
512
513 pe_order_implies_first_printed = 0x10000, /* Like ..implies_first but only ensures 'first' is printed, not mandatory */
514 pe_order_implies_then_printed = 0x20000, /* Like ..implies_then but only ensures 'then' is printed, not mandatory */
515
516 pe_order_asymmetrical = 0x100000, /* Indicates asymmetrical one way ordering constraint. */
517 pe_order_load = 0x200000, /* Only relevant if... */
518 pe_order_one_or_more = 0x400000, /* 'then' is runnable only if one or more of its dependencies are too */
520
521 pe_order_preserve = 0x1000000, /* Hack for breaking user ordering constraints with container resources */
522 pe_order_then_cancels_first = 0x2000000, // if 'then' becomes required, 'first' becomes optional
523 pe_order_trace = 0x4000000, /* test marker */
524
525#if !defined(PCMK_ALLOW_DEPRECATED) || (PCMK_ALLOW_DEPRECATED == 1)
526 // \deprecated Use pe_order_promoted_implies_first instead
528#endif
529};
530/* *INDENT-ON* */
531
537
538#if !defined(PCMK_ALLOW_DEPRECATED) || (PCMK_ALLOW_DEPRECATED == 1)
540#endif
541
542#ifdef __cplusplus
543}
544#endif
545
546#endif // PE_TYPES__H
uint64_t flags
Definition remote.c:3
rsc_start_requirement
Definition common.h:85
action_fail_response
Definition common.h:34
rsc_recovery_type
Definition common.h:79
rsc_role_e
Possible roles that a resource can be in.
Definition common.h:92
ISO_8601 Date handling.
struct crm_time_s crm_time_t
Definition iso8601.h:32
pe_quorum_policy
Definition pe_types.h:62
@ no_quorum_suicide
Definition pe_types.h:66
@ no_quorum_demote
Definition pe_types.h:67
@ no_quorum_freeze
Definition pe_types.h:63
@ no_quorum_ignore
Definition pe_types.h:65
@ no_quorum_stop
Definition pe_types.h:64
struct pe_tag_s pe_tag_t
pe_check_parameters
Definition pe_types.h:195
@ pe_check_active
Definition pe_types.h:204
@ pe_check_last_failure
Definition pe_types.h:199
pe_graph_flags
Definition pe_types.h:283
@ pe_graph_updated_first
Definition pe_types.h:285
@ pe_graph_disable
Definition pe_types.h:287
@ pe_graph_updated_then
Definition pe_types.h:286
@ pe_graph_none
Definition pe_types.h:284
pe_ordering
Definition pe_types.h:484
@ pe_order_implies_first_printed
Definition pe_types.h:513
@ pe_order_implies_first_master
Definition pe_types.h:527
@ pe_order_trace
Definition pe_types.h:523
@ pe_order_pseudo_left
Definition pe_types.h:498
@ pe_order_restart
Definition pe_types.h:508
@ pe_order_anti_colocation
Definition pe_types.h:519
@ pe_order_implies_then
Definition pe_types.h:490
@ pe_order_same_node
Definition pe_types.h:511
@ pe_order_one_or_more
Definition pe_types.h:518
@ pe_order_none
Definition pe_types.h:485
@ pe_order_then_cancels_first
Definition pe_types.h:522
@ pe_order_serialize_only
Definition pe_types.h:510
@ pe_order_implies_then_on_node
Definition pe_types.h:499
@ pe_order_stonith_stop
Definition pe_types.h:509
@ pe_order_asymmetrical
Definition pe_types.h:516
@ pe_order_implies_first_migratable
Definition pe_types.h:494
@ pe_order_preserve
Definition pe_types.h:521
@ pe_order_implies_then_printed
Definition pe_types.h:514
@ pe_order_optional
Definition pe_types.h:486
@ pe_order_implies_first
Definition pe_types.h:489
@ pe_order_runnable_left
Definition pe_types.h:496
@ pe_order_probe
Definition pe_types.h:503
@ pe_order_promoted_implies_first
Definition pe_types.h:491
@ pe_order_load
Definition pe_types.h:517
@ pe_order_apply_first_non_migratable
Definition pe_types.h:487
pe_link_state
Internal tracking for transition graph creation.
Definition pe_types.h:471
@ pe_link_not_dumped
Definition pe_types.h:472
@ pe_link_dumped
Internal tracking for transition graph creation.
Definition pe_types.h:473
@ pe_link_dup
Internal tracking for transition graph creation.
Definition pe_types.h:474
node_type
Definition pe_types.h:70
@ node_ping
Definition pe_types.h:71
@ node_remote
Definition pe_types.h:73
@ node_member
Definition pe_types.h:72
pe_discover_e
Definition pe_types.h:477
@ pe_discover_exclusive
Definition pe_types.h:480
@ pe_discover_always
Definition pe_types.h:478
@ pe_discover_never
Definition pe_types.h:479
pe_action_flags
Definition pe_types.h:291
@ pe_action_optional
Definition pe_types.h:294
@ pe_action_clear
Definition pe_types.h:304
@ pe_action_tracking
Definition pe_types.h:314
@ pe_action_processed
Definition pe_types.h:302
@ pe_action_runnable
Definition pe_types.h:293
@ pe_action_implied_by_stonith
Definition pe_types.h:298
@ pe_action_dumped
Definition pe_types.h:301
@ pe_action_dedup
Definition pe_types.h:315
@ pe_action_dangle
Definition pe_types.h:306
@ pe_action_pseudo
Definition pe_types.h:292
@ pe_action_have_node_attrs
Definition pe_types.h:297
@ pe_action_print_always
Definition pe_types.h:295
@ pe_action_reschedule
Definition pe_types.h:313
@ pe_action_requires_any
Definition pe_types.h:311
@ pe_action_dc
Internal state tracking when creating graph.
Definition pe_types.h:317
@ pe_action_migrate_runnable
Definition pe_types.h:299
pe_find
Determine behavior of pe_find_resource_with_flags()
Definition pe_types.h:83
@ pe_find_inactive
match resource not running anywhere
Definition pe_types.h:88
@ pe_find_any
match base name of any clone instance
Definition pe_types.h:89
@ pe_find_clone
match only clone instances
Definition pe_types.h:86
@ pe_find_renamed
match resource ID or LRM history ID
Definition pe_types.h:84
@ pe_find_current
match resource active on specified node
Definition pe_types.h:87
@ pe_find_anon
match base name of anonymous clone instances
Definition pe_types.h:85
pe_obj_types
Definition pe_types.h:35
@ pe_group
Definition pe_types.h:38
@ pe_container
Definition pe_types.h:40
@ pe_unknown
Definition pe_types.h:36
@ pe_native
Definition pe_types.h:37
@ pe_clone
Definition pe_types.h:39
struct pe_ticket_s pe_ticket_t
struct resource_object_functions_s resource_object_functions_t
struct pe_action_wrapper_s pe_action_wrapper_t
pe_restart
Definition pe_types.h:77
@ pe_restart_ignore
Definition pe_types.h:79
@ pe_restart_restart
Definition pe_types.h:78
Deprecated Pacemaker scheduler API.
char * reason
Definition pe_types.h:418
int runnable_before
Definition pe_types.h:443
pe_resource_t * rsc
Definition pe_types.h:411
char * uuid
Definition pe_types.h:416
char * task
Definition pe_types.h:415
pe_node_t * node
Definition pe_types.h:412
void * action_details
Definition pe_types.h:454
enum rsc_role_e fail_role
Definition pe_types.h:423
enum rsc_start_requirement needs
Definition pe_types.h:421
GList * actions_after
Definition pe_types.h:449
GHashTable * meta
Definition pe_types.h:425
enum action_fail_response on_fail
Definition pe_types.h:422
char * cancel_task
Definition pe_types.h:417
enum pe_action_flags flags
Definition pe_types.h:420
int required_runnable_before
Definition pe_types.h:446
xmlNode * op_entry
Definition pe_types.h:413
GHashTable * extra
Definition pe_types.h:426
GList * actions_before
Definition pe_types.h:448
enum pe_ordering type
Definition pe_types.h:533
enum pe_link_state state
Definition pe_types.h:534
pe_action_t * action
Definition pe_types.h:535
int weight
Definition pe_types.h:241
int rsc_discover_mode
Definition pe_types.h:245
gboolean fixed
Definition pe_types.h:242
int count
Definition pe_types.h:243
struct pe_node_shared_s * details
Definition pe_types.h:244
GHashTable * attrs
Definition pe_types.h:234
gboolean shutdown
Definition pe_types.h:219
GHashTable * digest_cache
cache of calculated resource digests
Definition pe_types.h:236
gboolean expected_up
Definition pe_types.h:220
const char * id
Definition pe_types.h:208
gboolean online
Definition pe_types.h:213
gboolean standby_onfail
Definition pe_types.h:215
const char * uname
Definition pe_types.h:209
gboolean standby
Definition pe_types.h:214
GHashTable * utilization
Definition pe_types.h:235
gboolean unpacked
Definition pe_types.h:227
pe_resource_t * remote_rsc
Definition pe_types.h:230
gboolean remote_maintenance
Definition pe_types.h:226
GList * allocated_rsc
Definition pe_types.h:232
gboolean is_dc
Definition pe_types.h:221
gboolean unclean
Definition pe_types.h:217
gboolean remote_requires_reset
Definition pe_types.h:224
gboolean maintenance
Definition pe_types.h:222
gboolean rsc_discovery_enabled
Definition pe_types.h:223
enum node_type type
Definition pe_types.h:210
gboolean pending
Definition pe_types.h:216
gboolean remote_was_fenced
Definition pe_types.h:225
GList * running_rsc
Definition pe_types.h:231
gboolean unseen
Definition pe_types.h:218
GList * running_on
Definition pe_types.h:367
GList * actions
Definition pe_types.h:360
GList * rsc_location
Definition pe_types.h:359
int failure_timeout
Definition pe_types.h:344
enum pe_obj_types variant
Definition pe_types.h:331
GHashTable * meta
Definition pe_types.h:374
GList * rsc_cons
Definition pe_types.h:358
GList * rsc_cons_lhs
Definition pe_types.h:357
GList * children
Definition pe_types.h:378
int migration_threshold
Definition pe_types.h:345
gboolean exclusive_discover
Definition pe_types.h:353
enum pe_restart restart_type
Definition pe_types.h:339
GHashTable * known_on
Definition pe_types.h:368
pe_working_set_t * cluster
Definition pe_types.h:328
pe_resource_t * container
Definition pe_types.h:381
char * clone_name
Definition pe_types.h:323
GHashTable * parameters
Definition pe_types.h:375
gboolean is_remote_node
Definition pe_types.h:352
xmlNode * xml
Definition pe_types.h:324
GHashTable * utilization
Definition pe_types.h:376
GHashTable * allowed_nodes
Definition pe_types.h:369
GList * dangling_migrations
Definition pe_types.h:379
pe_node_t * pending_node
Definition pe_types.h:384
GHashTable * parameter_cache
Definition pe_types.h:393
pe_node_t * partial_migration_source
Definition pe_types.h:366
GList * rsc_tickets
Definition pe_types.h:361
pe_node_t * allocated_to
Definition pe_types.h:364
void * variant_opaque
Definition pe_types.h:332
unsigned long long flags
Definition pe_types.h:349
char * pending_task
Definition pe_types.h:347
guint remote_reconnect_ms
Definition pe_types.h:346
enum rsc_recovery_type recovery_type
Definition pe_types.h:336
pe_resource_t * parent
Definition pe_types.h:329
pe_node_t * partial_migration_target
Definition pe_types.h:365
GList * fillers
Definition pe_types.h:382
resource_alloc_functions_t * cmds
Definition pe_types.h:334
xmlNode * orig_xml
Definition pe_types.h:325
enum rsc_role_e next_role
Definition pe_types.h:372
enum rsc_role_e role
Definition pe_types.h:371
resource_object_functions_t * fns
Definition pe_types.h:333
xmlNode * ops_xml
Definition pe_types.h:326
time_t lock_time
Definition pe_types.h:386
pe_node_t * lock_node
Definition pe_types.h:385
char * id
Definition pe_types.h:466
GList * refs
Definition pe_types.h:467
GHashTable * state
Definition pe_types.h:462
char * id
Definition pe_types.h:458
gboolean standby
Definition pe_types.h:461
gboolean granted
Definition pe_types.h:459
time_t last_granted
Definition pe_types.h:460
GHashTable * singletons
Definition pe_types.h:155
GList * colocation_constraints
Definition pe_types.h:161
GList * ticket_constraints
Definition pe_types.h:162
const char * stonith_action
Definition pe_types.h:143
GHashTable * tags
Definition pe_types.h:180
const char * placement_strategy
Definition pe_types.h:144
guint shutdown_lock
Definition pe_types.h:189
GHashTable * config_hash
Definition pe_types.h:151
GList * param_check
Definition pe_types.h:185
GList * actions
Definition pe_types.h:164
GHashTable * template_rsc_sets
Definition pe_types.h:178
xmlNode * input
Definition pe_types.h:137
GList * resources
Definition pe_types.h:158
pe_node_t * dc_node
Definition pe_types.h:142
xmlNode * failed
Definition pe_types.h:165
xmlNode * graph
Definition pe_types.h:176
unsigned long long flags
Definition pe_types.h:146
xmlNode * rsc_defaults
Definition pe_types.h:167
xmlNode * op_defaults
Definition pe_types.h:166
enum pe_quorum_policy no_quorum_policy
Definition pe_types.h:149
GList * stop_needed
Definition pe_types.h:186
GHashTable * tickets
Definition pe_types.h:152
GList * placement_constraints
Definition pe_types.h:159
GList * ordering_constraints
Definition pe_types.h:160
time_t recheck_by
Definition pe_types.h:187
int priority_fencing_delay
Definition pe_types.h:190
crm_time_t * now
Definition pe_types.h:138
int order_id
Deprecated (will be removed in a future release)
Definition pe_types.h:172
const char * localhost
Definition pe_types.h:179
gboolean(* is_filtered)(pe_resource_t *, GList *, gboolean)
Definition pe_types.h:57
gboolean(* active)(pe_resource_t *, gboolean)
Definition pe_types.h:52
enum rsc_role_e(* state)(const pe_resource_t *, gboolean)
Definition pe_types.h:53
void(* free)(pe_resource_t *)
Definition pe_types.h:55
gboolean(* unpack)(pe_resource_t *, pe_working_set_t *)
Definition pe_types.h:44
void(* print)(pe_resource_t *, const char *, long, void *)
Definition pe_types.h:51
void(* count)(pe_resource_t *)
Definition pe_types.h:56