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

Data types for cluster status. More...

#include <stdbool.h>
#include <sys/types.h>
#include <libxml/tree.h>
#include <glib.h>
#include <crm/common/iso8601.h>
#include <crm/pengine/common.h>
#include <crm/pengine/pe_types_compat.h>
Include dependency graph for pe_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  resource_object_functions_s
 
struct  pe_working_set_s
 
struct  pe_node_shared_s
 
struct  pe_node_s
 
struct  pe_resource_s
 
struct  pe_action_s
 
struct  pe_ticket_s
 
struct  pe_tag_s
 
struct  pe_action_wrapper_s
 

Macros

#define pe_flag_have_quorum   0x00000001ULL
 
#define pe_flag_symmetric_cluster   0x00000002ULL
 
#define pe_flag_maintenance_mode   0x00000008ULL
 
#define pe_flag_stonith_enabled   0x00000010ULL
 
#define pe_flag_have_stonith_resource   0x00000020ULL
 
#define pe_flag_enable_unfencing   0x00000040ULL
 
#define pe_flag_concurrent_fencing   0x00000080ULL
 
#define pe_flag_stop_rsc_orphans   0x00000100ULL
 
#define pe_flag_stop_action_orphans   0x00000200ULL
 
#define pe_flag_stop_everything   0x00000400ULL
 
#define pe_flag_start_failure_fatal   0x00001000ULL
 
#define pe_flag_remove_after_stop   0x00002000ULL
 
#define pe_flag_startup_fencing   0x00004000ULL
 
#define pe_flag_shutdown_lock   0x00008000ULL
 
#define pe_flag_startup_probes   0x00010000ULL
 
#define pe_flag_have_status   0x00020000ULL
 
#define pe_flag_have_remote_nodes   0x00040000ULL
 
#define pe_flag_quick_location   0x00100000ULL
 
#define pe_flag_sanitized   0x00200000ULL
 
#define pe_flag_stdout   0x00400000ULL
 
#define pe_flag_no_counts   0x00800000ULL
 Don't count total, disabled and blocked resource instances. More...
 
#define pe_flag_no_compat   0x01000000ULL
 
#define pe_flag_show_scores   0x02000000ULL
 
#define pe_flag_show_utilization   0x04000000ULL
 
#define pe_flag_check_config   0x08000000ULL
 
#define pe_rsc_orphan   0x00000001ULL
 
#define pe_rsc_managed   0x00000002ULL
 
#define pe_rsc_block   0x00000004ULL
 
#define pe_rsc_orphan_container_filler   0x00000008ULL
 
#define pe_rsc_notify   0x00000010ULL
 
#define pe_rsc_unique   0x00000020ULL
 
#define pe_rsc_fence_device   0x00000040ULL
 
#define pe_rsc_promotable   0x00000080ULL
 
#define pe_rsc_provisional   0x00000100ULL
 
#define pe_rsc_allocating   0x00000200ULL
 
#define pe_rsc_merging   0x00000400ULL
 
#define pe_rsc_restarting   0x00000800ULL
 
#define pe_rsc_stop   0x00001000ULL
 
#define pe_rsc_reload   0x00002000ULL
 
#define pe_rsc_allow_remote_remotes   0x00004000ULL
 
#define pe_rsc_critical   0x00008000ULL
 
#define pe_rsc_failed   0x00010000ULL
 
#define pe_rsc_runnable   0x00040000ULL
 
#define pe_rsc_start_pending   0x00080000ULL
 
#define pe_rsc_starting   0x00100000ULL
 
#define pe_rsc_stopping   0x00200000ULL
 
#define pe_rsc_stop_unexpected   0x00400000ULL
 
#define pe_rsc_allow_migrate   0x00800000ULL
 
#define pe_rsc_failure_ignored   0x01000000ULL
 
#define pe_rsc_maintenance   0x04000000ULL
 
#define pe_rsc_is_container   0x08000000ULL
 
#define pe_rsc_needs_quorum   0x10000000ULL
 
#define pe_rsc_needs_fencing   0x20000000ULL
 
#define pe_rsc_needs_unfencing   0x40000000ULL
 

Typedefs

typedef struct pe_node_s pe_node_t
 
typedef struct pe_action_s pe_action_t
 
typedef struct pe_resource_s pe_resource_t
 
typedef struct pe_working_set_s pe_working_set_t
 
typedef struct resource_object_functions_s resource_object_functions_t
 
typedef struct resource_alloc_functions_s resource_alloc_functions_t
 
typedef struct pe_ticket_s pe_ticket_t
 
typedef struct pe_tag_s pe_tag_t
 
typedef struct pe_action_wrapper_s pe_action_wrapper_t
 

Enumerations

enum  pe_obj_types {
  pe_unknown = -1, pe_native = 0, pe_group = 1, pe_clone = 2,
  pe_container = 3
}
 
enum  pe_quorum_policy {
  no_quorum_freeze, no_quorum_stop, no_quorum_ignore, no_quorum_suicide,
  no_quorum_demote
}
 
enum  node_type { node_ping, node_member, node_remote }
 
enum  pe_restart { pe_restart_restart, pe_restart_ignore }
 
enum  pe_find {
  pe_find_renamed = 0x001, pe_find_anon = 0x002, pe_find_clone = 0x004, pe_find_current = 0x008,
  pe_find_inactive = 0x010, pe_find_any = 0x020
}
 Determine behavior of pe_find_resource_with_flags() More...
 
enum  pe_check_parameters { pe_check_last_failure, pe_check_active }
 
enum  pe_graph_flags { pe_graph_none = 0x00000, pe_graph_updated_first = 0x00001, pe_graph_updated_then = 0x00002, pe_graph_disable = 0x00004 }
 
enum  pe_action_flags {
  pe_action_pseudo = 0x00001, pe_action_runnable = 0x00002, pe_action_optional = 0x00004, pe_action_print_always = 0x00008,
  pe_action_have_node_attrs = 0x00010, pe_action_implied_by_stonith = 0x00040, pe_action_migrate_runnable = 0x00080, pe_action_dumped = 0x00100,
  pe_action_processed = 0x00200, pe_action_clear = 0x00400, pe_action_dangle = 0x00800, pe_action_requires_any = 0x01000,
  pe_action_reschedule = 0x02000, pe_action_tracking = 0x04000, pe_action_dedup = 0x08000, pe_action_dc = 0x10000
}
 
enum  pe_link_state { pe_link_not_dumped, pe_link_dumped, pe_link_dup }
 Internal tracking for transition graph creation. More...
 
enum  pe_discover_e { pe_discover_always = 0, pe_discover_never, pe_discover_exclusive }
 
enum  pe_ordering {
  pe_order_none = 0x0, pe_order_optional = 0x1, pe_order_apply_first_non_migratable = 0x2, pe_order_implies_first = 0x10,
  pe_order_implies_then = 0x20, pe_order_promoted_implies_first = 0x40, pe_order_implies_first_migratable = 0x80, pe_order_runnable_left = 0x100,
  pe_order_pseudo_left = 0x200, pe_order_implies_then_on_node = 0x400, pe_order_probe = 0x800, pe_order_restart = 0x1000,
  pe_order_stonith_stop = 0x2000, pe_order_serialize_only = 0x4000, pe_order_same_node = 0x8000, pe_order_implies_first_printed = 0x10000,
  pe_order_implies_then_printed = 0x20000, pe_order_asymmetrical = 0x100000, pe_order_load = 0x200000, pe_order_one_or_more = 0x400000,
  pe_order_anti_colocation = 0x800000, pe_order_preserve = 0x1000000, pe_order_then_cancels_first = 0x2000000, pe_order_trace = 0x4000000,
  pe_order_implies_first_master = pe_order_promoted_implies_first
}
 

Detailed Description

Data types for cluster status.

Definition in file pe_types.h.

Macro Definition Documentation

◆ pe_flag_check_config

#define pe_flag_check_config   0x08000000ULL

When scheduling, only unpack the CIB (including constraints), calculate as much cluster status as possible, and apply node health.

Definition at line 141 of file pe_types.h.

◆ pe_flag_concurrent_fencing

#define pe_flag_concurrent_fencing   0x00000080ULL

Definition at line 102 of file pe_types.h.

◆ pe_flag_enable_unfencing

#define pe_flag_enable_unfencing   0x00000040ULL

Definition at line 101 of file pe_types.h.

◆ pe_flag_have_quorum

#define pe_flag_have_quorum   0x00000001ULL

Definition at line 95 of file pe_types.h.

◆ pe_flag_have_remote_nodes

#define pe_flag_have_remote_nodes   0x00040000ULL

Definition at line 118 of file pe_types.h.

◆ pe_flag_have_status

#define pe_flag_have_status   0x00020000ULL

Definition at line 117 of file pe_types.h.

◆ pe_flag_have_stonith_resource

#define pe_flag_have_stonith_resource   0x00000020ULL

Definition at line 100 of file pe_types.h.

◆ pe_flag_maintenance_mode

#define pe_flag_maintenance_mode   0x00000008ULL

Definition at line 97 of file pe_types.h.

◆ pe_flag_no_compat

#define pe_flag_no_compat   0x01000000ULL

Skip deprecated code that is kept solely for backward API compatibility. (Internal code should always set this.)

Definition at line 132 of file pe_types.h.

◆ pe_flag_no_counts

#define pe_flag_no_counts   0x00800000ULL

Don't count total, disabled and blocked resource instances.

Definition at line 127 of file pe_types.h.

◆ pe_flag_quick_location

#define pe_flag_quick_location   0x00100000ULL

Definition at line 120 of file pe_types.h.

◆ pe_flag_remove_after_stop

#define pe_flag_remove_after_stop   0x00002000ULL
Deprecated:

Definition at line 111 of file pe_types.h.

◆ pe_flag_sanitized

#define pe_flag_sanitized   0x00200000ULL

Definition at line 121 of file pe_types.h.

◆ pe_flag_show_scores

#define pe_flag_show_scores   0x02000000ULL

Definition at line 134 of file pe_types.h.

◆ pe_flag_show_utilization

#define pe_flag_show_utilization   0x04000000ULL

Definition at line 135 of file pe_types.h.

◆ pe_flag_shutdown_lock

#define pe_flag_shutdown_lock   0x00008000ULL

Definition at line 114 of file pe_types.h.

◆ pe_flag_start_failure_fatal

#define pe_flag_start_failure_fatal   0x00001000ULL

Definition at line 108 of file pe_types.h.

◆ pe_flag_startup_fencing

#define pe_flag_startup_fencing   0x00004000ULL

Definition at line 113 of file pe_types.h.

◆ pe_flag_startup_probes

#define pe_flag_startup_probes   0x00010000ULL

Definition at line 116 of file pe_types.h.

◆ pe_flag_stdout

#define pe_flag_stdout   0x00400000ULL
Deprecated:

Definition at line 124 of file pe_types.h.

◆ pe_flag_stonith_enabled

#define pe_flag_stonith_enabled   0x00000010ULL

Definition at line 99 of file pe_types.h.

◆ pe_flag_stop_action_orphans

#define pe_flag_stop_action_orphans   0x00000200ULL

Definition at line 105 of file pe_types.h.

◆ pe_flag_stop_everything

#define pe_flag_stop_everything   0x00000400ULL

Definition at line 106 of file pe_types.h.

◆ pe_flag_stop_rsc_orphans

#define pe_flag_stop_rsc_orphans   0x00000100ULL

Definition at line 104 of file pe_types.h.

◆ pe_flag_symmetric_cluster

#define pe_flag_symmetric_cluster   0x00000002ULL

Definition at line 96 of file pe_types.h.

◆ pe_rsc_allocating

#define pe_rsc_allocating   0x00000200ULL

Definition at line 267 of file pe_types.h.

◆ pe_rsc_allow_migrate

#define pe_rsc_allow_migrate   0x00800000ULL

Definition at line 287 of file pe_types.h.

◆ pe_rsc_allow_remote_remotes

#define pe_rsc_allow_remote_remotes   0x00004000ULL

Definition at line 273 of file pe_types.h.

◆ pe_rsc_block

#define pe_rsc_block   0x00000004ULL

Definition at line 258 of file pe_types.h.

◆ pe_rsc_critical

#define pe_rsc_critical   0x00008000ULL

Definition at line 274 of file pe_types.h.

◆ pe_rsc_failed

#define pe_rsc_failed   0x00010000ULL

Definition at line 276 of file pe_types.h.

◆ pe_rsc_failure_ignored

#define pe_rsc_failure_ignored   0x01000000ULL

Definition at line 289 of file pe_types.h.

◆ pe_rsc_fence_device

#define pe_rsc_fence_device   0x00000040ULL

Definition at line 263 of file pe_types.h.

◆ pe_rsc_is_container

#define pe_rsc_is_container   0x08000000ULL

Definition at line 291 of file pe_types.h.

◆ pe_rsc_maintenance

#define pe_rsc_maintenance   0x04000000ULL

Definition at line 290 of file pe_types.h.

◆ pe_rsc_managed

#define pe_rsc_managed   0x00000002ULL

Definition at line 257 of file pe_types.h.

◆ pe_rsc_merging

#define pe_rsc_merging   0x00000400ULL

Definition at line 268 of file pe_types.h.

◆ pe_rsc_needs_fencing

#define pe_rsc_needs_fencing   0x20000000ULL

Definition at line 294 of file pe_types.h.

◆ pe_rsc_needs_quorum

#define pe_rsc_needs_quorum   0x10000000ULL

Definition at line 293 of file pe_types.h.

◆ pe_rsc_needs_unfencing

#define pe_rsc_needs_unfencing   0x40000000ULL

Definition at line 295 of file pe_types.h.

◆ pe_rsc_notify

#define pe_rsc_notify   0x00000010ULL

Definition at line 261 of file pe_types.h.

◆ pe_rsc_orphan

#define pe_rsc_orphan   0x00000001ULL

Definition at line 256 of file pe_types.h.

◆ pe_rsc_orphan_container_filler

#define pe_rsc_orphan_container_filler   0x00000008ULL

Definition at line 259 of file pe_types.h.

◆ pe_rsc_promotable

#define pe_rsc_promotable   0x00000080ULL

Definition at line 264 of file pe_types.h.

◆ pe_rsc_provisional

#define pe_rsc_provisional   0x00000100ULL

Definition at line 266 of file pe_types.h.

◆ pe_rsc_reload

#define pe_rsc_reload   0x00002000ULL

Definition at line 272 of file pe_types.h.

◆ pe_rsc_restarting

#define pe_rsc_restarting   0x00000800ULL

Definition at line 269 of file pe_types.h.

◆ pe_rsc_runnable

#define pe_rsc_runnable   0x00040000ULL

Definition at line 277 of file pe_types.h.

◆ pe_rsc_start_pending

#define pe_rsc_start_pending   0x00080000ULL
Deprecated:
Do not use

Definition at line 278 of file pe_types.h.

◆ pe_rsc_starting

#define pe_rsc_starting   0x00100000ULL
Deprecated:
Do not use

Definition at line 281 of file pe_types.h.

◆ pe_rsc_stop

#define pe_rsc_stop   0x00001000ULL

Definition at line 271 of file pe_types.h.

◆ pe_rsc_stop_unexpected

#define pe_rsc_stop_unexpected   0x00400000ULL

Definition at line 286 of file pe_types.h.

◆ pe_rsc_stopping

#define pe_rsc_stopping   0x00200000ULL

Definition at line 284 of file pe_types.h.

◆ pe_rsc_unique

#define pe_rsc_unique   0x00000020ULL

Definition at line 262 of file pe_types.h.

Typedef Documentation

◆ pe_action_t

typedef struct pe_action_s pe_action_t

Definition at line 32 of file pe_types.h.

◆ pe_action_wrapper_t

◆ pe_node_t

typedef struct pe_node_s pe_node_t

Definition at line 31 of file pe_types.h.

◆ pe_resource_t

typedef struct pe_resource_s pe_resource_t

Definition at line 33 of file pe_types.h.

◆ pe_tag_t

typedef struct pe_tag_s pe_tag_t

◆ pe_ticket_t

typedef struct pe_ticket_s pe_ticket_t

◆ pe_working_set_t

Definition at line 34 of file pe_types.h.

◆ resource_alloc_functions_t

Definition at line 61 of file pe_types.h.

◆ resource_object_functions_t

Enumeration Type Documentation

◆ node_type

enum node_type
Enumerator
node_ping 
node_member 
Deprecated:
Do not use
node_remote 

Definition at line 71 of file pe_types.h.

◆ pe_action_flags

Enumerator
pe_action_pseudo 
pe_action_runnable 
pe_action_optional 
pe_action_print_always 
pe_action_have_node_attrs 
pe_action_implied_by_stonith 
pe_action_migrate_runnable 
pe_action_dumped 
pe_action_processed 
pe_action_clear 
pe_action_dangle 
Deprecated:
Unused
pe_action_requires_any 
pe_action_reschedule 
pe_action_tracking 
pe_action_dedup 
pe_action_dc 

Internal state tracking when creating graph.

Definition at line 305 of file pe_types.h.

◆ pe_check_parameters

Enumerator
pe_check_last_failure 
pe_check_active 

Definition at line 202 of file pe_types.h.

◆ pe_discover_e

Enumerator
pe_discover_always 
pe_discover_never 
pe_discover_exclusive 

Definition at line 490 of file pe_types.h.

◆ pe_find

enum pe_find

Determine behavior of pe_find_resource_with_flags()

Enumerator
pe_find_renamed 

match resource ID or LRM history ID

pe_find_anon 

match base name of anonymous clone instances

pe_find_clone 

match only clone instances

pe_find_current 

match resource active on specified node

pe_find_inactive 

match resource not running anywhere

pe_find_any 

match base name of any clone instance

Definition at line 84 of file pe_types.h.

◆ pe_graph_flags

Enumerator
pe_graph_none 
pe_graph_updated_first 
pe_graph_updated_then 
pe_graph_disable 

Definition at line 297 of file pe_types.h.

◆ pe_link_state

Internal tracking for transition graph creation.

Enumerator
pe_link_not_dumped 
pe_link_dumped 

Internal tracking for transition graph creation.

pe_link_dup 

Internal tracking for transition graph creation.

Definition at line 484 of file pe_types.h.

◆ pe_obj_types

Enumerator
pe_unknown 
pe_native 
pe_group 
pe_clone 
pe_container 

Definition at line 36 of file pe_types.h.

◆ pe_ordering

Enumerator
pe_order_none 
pe_order_optional 
pe_order_apply_first_non_migratable 
pe_order_implies_first 
pe_order_implies_then 
pe_order_promoted_implies_first 
pe_order_implies_first_migratable 
pe_order_runnable_left 
pe_order_pseudo_left 
pe_order_implies_then_on_node 
pe_order_probe 
pe_order_restart 
pe_order_stonith_stop 
pe_order_serialize_only 
pe_order_same_node 
pe_order_implies_first_printed 
pe_order_implies_then_printed 
pe_order_asymmetrical 
pe_order_load 
pe_order_one_or_more 
pe_order_anti_colocation 
pe_order_preserve 
pe_order_then_cancels_first 
pe_order_trace 
pe_order_implies_first_master 

Definition at line 497 of file pe_types.h.

◆ pe_quorum_policy

Enumerator
no_quorum_freeze 
no_quorum_stop 
no_quorum_ignore 
no_quorum_suicide 
no_quorum_demote 

Definition at line 63 of file pe_types.h.

◆ pe_restart

enum pe_restart
Deprecated:
will be removed in a future release
Enumerator
pe_restart_restart 
pe_restart_ignore 
Deprecated:
will be removed in a future release
Deprecated:
will be removed in a future release

Definition at line 78 of file pe_types.h.