pacemaker  3.0.0-d8340737c4
Scalable High-Availability cluster resource manager
Data Structures | Macros | Typedefs | Enumerations | Functions
resources_internal.h File Reference
#include <stdint.h>
#include <glib.h>
#include <libxml/tree.h>
#include <crm/common/resources.h>
#include <crm/common/roles.h>
#include <crm/common/scheduler_types.h>
Include dependency graph for resources_internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  pcmk__rsc_methods_t
 Resource object methods. More...
 
struct  pcmk__resource_private
 

Macros

#define pcmk__set_rsc_flags(resource, flags_to_set)
 
#define pcmk__clear_rsc_flags(resource, flags_to_clear)
 

Typedefs

typedef struct pcmk__assignment_methods pcmk__assignment_methods_t
 Resource assignment methods (implementation defined by libpacemaker) More...
 

Enumerations

enum  pcmk__rsc_variant {
  pcmk__rsc_variant_unknown = -1, pcmk__rsc_variant_primitive = 0, pcmk__rsc_variant_group = 1, pcmk__rsc_variant_clone = 2,
  pcmk__rsc_variant_bundle = 3
}
 Resource variants supported by Pacemaker. More...
 
enum  pcmk__multiply_active { pcmk__multiply_active_restart, pcmk__multiply_active_stop, pcmk__multiply_active_block, pcmk__multiply_active_unexpected }
 How to recover a resource that is incorrectly active on multiple nodes. More...
 
enum  pcmk__rsc_flags {
  pcmk__no_rsc_flags = 0ULL, pcmk__rsc_removed = (1ULL << 0), pcmk__rsc_managed = (1ULL << 1), pcmk__rsc_blocked = (1ULL << 2),
  pcmk__rsc_removed_launched = (1ULL << 3), pcmk__rsc_notify = (1ULL << 4), pcmk__rsc_unique = (1ULL << 5), pcmk__rsc_fence_device = (1ULL << 6),
  pcmk__rsc_promotable = (1ULL << 7), pcmk__rsc_unassigned = (1ULL << 8), pcmk__rsc_assigning = (1ULL << 9), pcmk__rsc_updating_nodes = (1ULL << 10),
  pcmk__rsc_restarting = (1ULL << 11), pcmk__rsc_stop_if_failed = (1ULL << 12), pcmk__rsc_reload = (1ULL << 13), pcmk__rsc_remote_nesting_allowed = (1ULL << 14),
  pcmk__rsc_critical = (1ULL << 15), pcmk__rsc_failed = (1ULL << 16), pcmk__rsc_detect_loop = (1ULL << 17), pcmk__rsc_is_remote_connection = (1ULL << 18),
  pcmk__rsc_start_pending = (1ULL << 19), pcmk__rsc_exclusive_probes = (1ULL << 20), pcmk__rsc_stop_unexpected = (1ULL << 22), pcmk__rsc_migratable = (1ULL << 23),
  pcmk__rsc_ignore_failure = (1ULL << 24), pcmk__rsc_replica_container = (1ULL << 25), pcmk__rsc_maintenance = (1ULL << 26), pcmk__rsc_needs_quorum = (1ULL << 28),
  pcmk__rsc_needs_fencing = (1ULL << 29), pcmk__rsc_needs_unfencing = (1ULL << 30)
}
 Resource scheduling flags. More...
 
enum  pcmk__rsc_node { pcmk__rsc_node_none = 0U, pcmk__rsc_node_assigned = (1U << 0), pcmk__rsc_node_current = (1U << 1), pcmk__rsc_node_pending = (1U << 2) }
 

Functions

const char * pcmk__multiply_active_text (const pcmk_resource_t *rsc)
 Get readable description of a multiply-active recovery type. More...
 

Macro Definition Documentation

◆ pcmk__clear_rsc_flags

#define pcmk__clear_rsc_flags (   resource,
  flags_to_clear 
)
Value:
do { \
(resource)->flags = pcmk__clear_flags_as(__func__, __LINE__, \
LOG_TRACE, "Resource", (resource)->id, (resource)->flags, \
(flags_to_clear), #flags_to_clear); \
} while (0)
#define LOG_TRACE
Definition: logging.h:38
uint64_t flags
Definition: remote.c:211

Definition at line 45 of file resources_internal.h.

◆ pcmk__set_rsc_flags

#define pcmk__set_rsc_flags (   resource,
  flags_to_set 
)
Value:
do { \
(resource)->flags = pcmk__set_flags_as(__func__, __LINE__, \
LOG_TRACE, "Resource", (resource)->id, (resource)->flags, \
(flags_to_set), #flags_to_set); \
} while (0)
#define LOG_TRACE
Definition: logging.h:38
uint64_t flags
Definition: remote.c:211

Definition at line 32 of file resources_internal.h.

Typedef Documentation

◆ pcmk__assignment_methods_t

Resource assignment methods (implementation defined by libpacemaker)

Definition at line 177 of file resources_internal.h.

Enumeration Type Documentation

◆ pcmk__multiply_active

How to recover a resource that is incorrectly active on multiple nodes.

Enumerator
pcmk__multiply_active_restart 

Stop on all, start on desired.

pcmk__multiply_active_stop 

Stop on all and leave stopped.

pcmk__multiply_active_block 

Do nothing to resource.

pcmk__multiply_active_unexpected 

Stop unexpected instances.

Definition at line 62 of file resources_internal.h.

◆ pcmk__rsc_flags

Resource scheduling flags.

Enumerator
pcmk__no_rsc_flags 
pcmk__rsc_removed 
pcmk__rsc_managed 
pcmk__rsc_blocked 
pcmk__rsc_removed_launched 
pcmk__rsc_notify 
pcmk__rsc_unique 
pcmk__rsc_fence_device 
pcmk__rsc_promotable 
pcmk__rsc_unassigned 
pcmk__rsc_assigning 
pcmk__rsc_updating_nodes 
pcmk__rsc_restarting 
pcmk__rsc_stop_if_failed 
pcmk__rsc_reload 
pcmk__rsc_remote_nesting_allowed 
pcmk__rsc_critical 
pcmk__rsc_failed 
pcmk__rsc_detect_loop 
pcmk__rsc_is_remote_connection 
pcmk__rsc_start_pending 
pcmk__rsc_exclusive_probes 
pcmk__rsc_stop_unexpected 
pcmk__rsc_migratable 
pcmk__rsc_ignore_failure 
pcmk__rsc_replica_container 
pcmk__rsc_maintenance 
pcmk__rsc_needs_quorum 
pcmk__rsc_needs_fencing 
pcmk__rsc_needs_unfencing 

Definition at line 70 of file resources_internal.h.

◆ pcmk__rsc_node

Enumerator
pcmk__rsc_node_none 
pcmk__rsc_node_assigned 
pcmk__rsc_node_current 
pcmk__rsc_node_pending 

Definition at line 169 of file resources_internal.h.

◆ pcmk__rsc_variant

Resource variants supported by Pacemaker.

Enumerator
pcmk__rsc_variant_unknown 

Unknown resource variant.

pcmk__rsc_variant_primitive 

Primitive resource.

pcmk__rsc_variant_group 

Group resource.

pcmk__rsc_variant_clone 

Clone resource.

pcmk__rsc_variant_bundle 

Bundle resource.

Definition at line 52 of file resources_internal.h.

Function Documentation

◆ pcmk__multiply_active_text()

const char* pcmk__multiply_active_text ( const pcmk_resource_t rsc)

Get readable description of a multiply-active recovery type.

Parameters
[in]rscResource with recovery type to check
Returns
Static string describing recovery type of rsc

Definition at line 54 of file resources.c.