pacemaker 3.0.1-16e74fc4da
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
bundle.c File Reference
#include <crm_internal.h>
#include <ctype.h>
#include <stdbool.h>
#include <stdint.h>
#include <crm/pengine/status.h>
#include <crm/pengine/internal.h>
#include <crm/common/xml.h>
#include <crm/common/output.h>
#include <crm/common/xml_internal.h>
#include <pe_status_private.h>
Include dependency graph for bundle.c:

Go to the source code of this file.

Macros

#define PE__CONTAINER_AGENT_UNKNOWN_S   "unknown"
 
#define PE__CONTAINER_AGENT_DOCKER_S   "docker"
 
#define PE__CONTAINER_AGENT_PODMAN_S   "podman"
 
#define get_bundle_variant_data(data, rsc)
 
#define pe__set_bundle_mount_flags(mount_xml, flags, flags_to_set)
 

Typedefs

typedef struct pe__bundle_variant_data_s pe__bundle_variant_data_t
 

Enumerations

enum  pe__bundle_mount_flags { pe__bundle_mount_none = 0x00 , pe__bundle_mount_subdir = 0x01 }
 
enum  pe__container_agent { PE__CONTAINER_AGENT_UNKNOWN , PE__CONTAINER_AGENT_DOCKER , PE__CONTAINER_AGENT_PODMAN }
 

Functions

int pe__bundle_max (const pcmk_resource_t *rsc)
 
pcmk_resource_tpe__bundled_resource (const pcmk_resource_t *rsc)
 
const pcmk_resource_tpe__get_rsc_in_container (const pcmk_resource_t *instance)
 
bool pe__node_is_bundle_instance (const pcmk_resource_t *bundle, const pcmk_node_t *node)
 
pcmk_resource_tpe__first_container (const pcmk_resource_t *bundle)
 
void pe__foreach_bundle_replica (pcmk_resource_t *bundle, bool(*fn)(pcmk__bundle_replica_t *, void *), void *user_data)
 
void pe__foreach_const_bundle_replica (const pcmk_resource_t *bundle, bool(*fn)(const pcmk__bundle_replica_t *, void *), void *user_data)
 
bool pe__bundle_needs_remote_name (pcmk_resource_t *rsc)
 
const char * pe__add_bundle_remote_name (pcmk_resource_t *rsc, xmlNode *xml, const char *field)
 
bool pe__unpack_bundle (pcmk_resource_t *rsc)
 
bool pe__bundle_active (const pcmk_resource_t *rsc, bool all)
 
pcmk_resource_tpe__find_bundle_replica (const pcmk_resource_t *bundle, const pcmk_node_t *node)
 
void pe__free_bundle (pcmk_resource_t *rsc)
 
enum rsc_role_e pe__bundle_resource_state (const pcmk_resource_t *rsc, bool current)
 
int pe_bundle_replicas (const pcmk_resource_t *rsc)
 Get the number of configured replicas in a bundle.
 
void pe__count_bundle (pcmk_resource_t *rsc)
 
bool pe__bundle_is_filtered (const pcmk_resource_t *rsc, const GList *only_rsc, bool check_parent)
 
GList * pe__bundle_containers (const pcmk_resource_t *bundle)
 
pcmk_node_tpe__bundle_active_node (const pcmk_resource_t *rsc, unsigned int *count_all, unsigned int *count_clean)
 
unsigned int pe__bundle_max_per_node (const pcmk_resource_t *rsc)
 

Macro Definition Documentation

◆ get_bundle_variant_data

#define get_bundle_variant_data ( data,
rsc )
Value:
do { \
pcmk__assert(pcmk__is_bundle(rsc)); \
data = rsc->priv->variant_opaque; \
} while (0)
char data[0]
Definition cpg.c:10

Definition at line 82 of file bundle.c.

◆ PE__CONTAINER_AGENT_DOCKER_S

#define PE__CONTAINER_AGENT_DOCKER_S   "docker"

Definition at line 49 of file bundle.c.

◆ PE__CONTAINER_AGENT_PODMAN_S

#define PE__CONTAINER_AGENT_PODMAN_S   "podman"

Definition at line 50 of file bundle.c.

◆ PE__CONTAINER_AGENT_UNKNOWN_S

#define PE__CONTAINER_AGENT_UNKNOWN_S   "unknown"

Definition at line 48 of file bundle.c.

◆ pe__set_bundle_mount_flags

#define pe__set_bundle_mount_flags ( mount_xml,
flags,
flags_to_set )
Value:
do { \
flags = pcmk__set_flags_as(__func__, __LINE__, LOG_TRACE, \
"Bundle mount", pcmk__xe_id(mount_xml), \
flags, (flags_to_set), #flags_to_set); \
} while (0)
uint64_t flags
Definition remote.c:3
#define LOG_TRACE
Definition logging.h:38

Definition at line 950 of file bundle.c.

Typedef Documentation

◆ pe__bundle_variant_data_t

typedef struct pe__bundle_variant_data_s pe__bundle_variant_data_t

Enumeration Type Documentation

◆ pe__bundle_mount_flags

Enumerator
pe__bundle_mount_none 
pe__bundle_mount_subdir 

Definition at line 23 of file bundle.c.

◆ pe__container_agent

Enumerator
PE__CONTAINER_AGENT_UNKNOWN 
PE__CONTAINER_AGENT_DOCKER 
PE__CONTAINER_AGENT_PODMAN 

Definition at line 42 of file bundle.c.

Function Documentation

◆ pe__add_bundle_remote_name()

const char * pe__add_bundle_remote_name ( pcmk_resource_t * rsc,
xmlNode * xml,
const char * field )

Definition at line 911 of file bundle.c.

◆ pe__bundle_active()

bool pe__bundle_active ( const pcmk_resource_t * rsc,
bool all )

Definition at line 1325 of file bundle.c.

◆ pe__bundle_active_node()

pcmk_node_t * pe__bundle_active_node ( const pcmk_resource_t * rsc,
unsigned int * count_all,
unsigned int * count_clean )

Definition at line 2008 of file bundle.c.

◆ pe__bundle_containers()

GList * pe__bundle_containers ( const pcmk_resource_t * bundle)

Definition at line 1989 of file bundle.c.

◆ pe__bundle_is_filtered()

bool pe__bundle_is_filtered ( const pcmk_resource_t * rsc,
const GList * only_rsc,
bool check_parent )

Definition at line 1934 of file bundle.c.

◆ pe__bundle_max()

int pe__bundle_max ( const pcmk_resource_t * rsc)

Definition at line 96 of file bundle.c.

◆ pe__bundle_max_per_node()

unsigned int pe__bundle_max_per_node ( const pcmk_resource_t * rsc)

Definition at line 2092 of file bundle.c.

◆ pe__bundle_needs_remote_name()

bool pe__bundle_needs_remote_name ( pcmk_resource_t * rsc)

Definition at line 893 of file bundle.c.

◆ pe__bundle_resource_state()

enum rsc_role_e pe__bundle_resource_state ( const pcmk_resource_t * rsc,
bool current )

Definition at line 1884 of file bundle.c.

◆ pe__bundled_resource()

pcmk_resource_t * pe__bundled_resource ( const pcmk_resource_t * rsc)

Definition at line 113 of file bundle.c.

◆ pe__count_bundle()

void pe__count_bundle ( pcmk_resource_t * rsc)

Definition at line 1910 of file bundle.c.

◆ pe__find_bundle_replica()

pcmk_resource_t * pe__find_bundle_replica ( const pcmk_resource_t * bundle,
const pcmk_node_t * node )

Definition at line 1373 of file bundle.c.

◆ pe__first_container()

pcmk_resource_t * pe__first_container ( const pcmk_resource_t * bundle)

Definition at line 187 of file bundle.c.

◆ pe__foreach_bundle_replica()

void pe__foreach_bundle_replica ( pcmk_resource_t * bundle,
bool(* fn )(pcmk__bundle_replica_t *, void *),
void * user_data )

Definition at line 210 of file bundle.c.

◆ pe__foreach_const_bundle_replica()

void pe__foreach_const_bundle_replica ( const pcmk_resource_t * bundle,
bool(* fn )(const pcmk__bundle_replica_t *, void *),
void * user_data )

Definition at line 234 of file bundle.c.

◆ pe__free_bundle()

void pe__free_bundle ( pcmk_resource_t * rsc)

Definition at line 1850 of file bundle.c.

◆ pe__get_rsc_in_container()

const pcmk_resource_t * pe__get_rsc_in_container ( const pcmk_resource_t * instance)

Definition at line 131 of file bundle.c.

◆ pe__node_is_bundle_instance()

bool pe__node_is_bundle_instance ( const pcmk_resource_t * bundle,
const pcmk_node_t * node )

Definition at line 161 of file bundle.c.

◆ pe__unpack_bundle()

bool pe__unpack_bundle ( pcmk_resource_t * rsc)

Definition at line 957 of file bundle.c.

◆ pe_bundle_replicas()

int pe_bundle_replicas ( const pcmk_resource_t * rsc)

Get the number of configured replicas in a bundle.

Parameters
[in]rscBundle resource
Returns
Number of configured replicas, or 0 on error

Definition at line 1898 of file bundle.c.