pacemaker 3.0.1-16e74fc4da
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
scheduler.c File Reference
#include <crm_internal.h>
#include <stdint.h>
#include <errno.h>
#include <glib.h>
#include <libxml/tree.h>
#include <crm/common/scheduler.h>
Include dependency graph for scheduler.c:

Go to the source code of this file.

Functions

pcmk_scheduler_tpcmk_new_scheduler (void)
 Create a new object to hold scheduler data.
 
void pcmk__set_scheduler_defaults (pcmk_scheduler_t *scheduler)
 
void pcmk_reset_scheduler (pcmk_scheduler_t *scheduler)
 Reset scheduler data to defaults.
 
void pcmk_free_scheduler (pcmk_scheduler_t *scheduler)
 Free scheduler data.
 
pcmk_node_tpcmk_get_dc (const pcmk_scheduler_t *scheduler)
 
enum pe_quorum_policy pcmk_get_no_quorum_policy (const pcmk_scheduler_t *scheduler)
 
int pcmk_set_scheduler_cib (pcmk_scheduler_t *scheduler, xmlNode *cib)
 
bool pcmk_has_quorum (const pcmk_scheduler_t *scheduler)
 
pcmk_node_tpcmk_find_node (const pcmk_scheduler_t *scheduler, const char *node_name)
 Find a node by name in scheduler data.
 
time_t pcmk__scheduler_epoch_time (pcmk_scheduler_t *scheduler)
 
void pcmk__update_recheck_time (time_t recheck, pcmk_scheduler_t *scheduler, const char *reason)
 
void pcmk__add_param_check (const xmlNode *rsc_history, pcmk_resource_t *rsc, pcmk_node_t *node, enum pcmk__check_parameters flag)
 
void pcmk__foreach_param_check (pcmk_scheduler_t *scheduler, void(*cb)(pcmk_resource_t *, pcmk_node_t *, const xmlNode *, enum pcmk__check_parameters))
 
void pcmk__free_param_checks (pcmk_scheduler_t *scheduler)
 

Variables

uint32_t pcmk__warnings = 0
 

Function Documentation

◆ pcmk__add_param_check()

void pcmk__add_param_check ( const xmlNode * rsc_history,
pcmk_resource_t * rsc,
pcmk_node_t * node,
enum pcmk__check_parameters flag )

Definition at line 360 of file scheduler.c.

◆ pcmk__foreach_param_check()

void pcmk__foreach_param_check ( pcmk_scheduler_t * scheduler,
void(* cb )(pcmk_resource_t *, pcmk_node_t *, const xmlNode *, enum pcmk__check_parameters) )

Definition at line 387 of file scheduler.c.

◆ pcmk__free_param_checks()

void pcmk__free_param_checks ( pcmk_scheduler_t * scheduler)

Definition at line 410 of file scheduler.c.

◆ pcmk__scheduler_epoch_time()

time_t pcmk__scheduler_epoch_time ( pcmk_scheduler_t * scheduler)

Definition at line 300 of file scheduler.c.

◆ pcmk__set_scheduler_defaults()

void pcmk__set_scheduler_defaults ( pcmk_scheduler_t * scheduler)

Definition at line 57 of file scheduler.c.

◆ pcmk__update_recheck_time()

void pcmk__update_recheck_time ( time_t recheck,
pcmk_scheduler_t * scheduler,
const char * reason )

Definition at line 321 of file scheduler.c.

◆ pcmk_find_node()

pcmk_node_t * pcmk_find_node ( const pcmk_scheduler_t * scheduler,
const char * node_name )

Find a node by name in scheduler data.

Parameters
[in]schedulerScheduler data
[in]node_nameName of node to find
Returns
Node from scheduler data that matches node_name if any, otherwise NULL

Definition at line 282 of file scheduler.c.

◆ pcmk_free_scheduler()

void pcmk_free_scheduler ( pcmk_scheduler_t * scheduler)

Free scheduler data.

Parameters
[in,out]schedulerScheduler data to free

Definition at line 193 of file scheduler.c.

◆ pcmk_get_dc()

pcmk_node_t * pcmk_get_dc ( const pcmk_scheduler_t * scheduler)

Definition at line 212 of file scheduler.c.

◆ pcmk_get_no_quorum_policy()

enum pe_quorum_policy pcmk_get_no_quorum_policy ( const pcmk_scheduler_t * scheduler)

Definition at line 226 of file scheduler.c.

◆ pcmk_has_quorum()

bool pcmk_has_quorum ( const pcmk_scheduler_t * scheduler)

Definition at line 264 of file scheduler.c.

◆ pcmk_new_scheduler()

pcmk_scheduler_t * pcmk_new_scheduler ( void )

Create a new object to hold scheduler data.

Returns
New, initialized scheduler data, or NULL on memory error
Note
Only pcmk_scheduler_t objects created with this function (as opposed to statically declared or directly allocated) should be used with the functions in this library, to allow for future extensions to the data type. The caller is responsible for freeing the memory with pcmk_free_scheduler() when the instance is no longer needed.

Definition at line 32 of file scheduler.c.

◆ pcmk_reset_scheduler()

void pcmk_reset_scheduler ( pcmk_scheduler_t * scheduler)

Reset scheduler data to defaults.

Free scheduler data except the local node name and output object, and reset all other values to defaults, so the data is suitable for rerunning status

Parameters
[in,out]schedulerScheduler data to reset

Definition at line 87 of file scheduler.c.

◆ pcmk_set_scheduler_cib()

int pcmk_set_scheduler_cib ( pcmk_scheduler_t * scheduler,
xmlNode * cib )

Definition at line 246 of file scheduler.c.

Variable Documentation

◆ pcmk__warnings

uint32_t pcmk__warnings = 0

Definition at line 19 of file scheduler.c.