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