10#ifndef PCMK__CRM_COMMON_SCHEDULER_INTERNAL__H
11#define PCMK__CRM_COMMON_SCHEDULER_INTERNAL__H
215#define pcmk__rsc_info(rsc, fmt, args...) \
216 crm_log_tag(LOG_INFO, ((rsc) == NULL)? "<NULL>" : (rsc)->id, (fmt), ##args)
225#define pcmk__rsc_debug(rsc, fmt, args...) \
226 crm_log_tag(LOG_DEBUG, ((rsc) == NULL)? "<NULL>" : (rsc)->id, (fmt), ##args)
235#define pcmk__rsc_trace(rsc, fmt, args...) \
236 crm_log_tag(LOG_TRACE, ((rsc) == NULL)? "<NULL>" : (rsc)->id, (fmt), ##args)
245#define pcmk__sched_err(scheduler, fmt...) do { \
246 pcmk__set_scheduler_flags((scheduler), \
247 pcmk__sched_processing_error); \
258#define pcmk__sched_warn(scheduler, fmt...) do { \
259 pcmk__set_scheduler_flags((scheduler), \
260 pcmk__sched_processing_warning); \
271#define pcmk__set_scheduler_flags(scheduler, flags_to_set) do { \
272 (scheduler)->flags = pcmk__set_flags_as(__func__, __LINE__, \
273 LOG_TRACE, "Scheduler", crm_system_name, \
274 (scheduler)->flags, (flags_to_set), #flags_to_set); \
284#define pcmk__clear_scheduler_flags(scheduler, flags_to_clear) do { \
285 (scheduler)->flags = pcmk__clear_flags_as(__func__, __LINE__, \
286 LOG_TRACE, "Scheduler", crm_system_name, \
287 (scheduler)->flags, (flags_to_clear), #flags_to_clear); \
struct crm_time_s crm_time_t
pcmk_scheduler_t * scheduler
void pcmk__set_scheduler_defaults(pcmk_scheduler_t *scheduler)
@ pcmk__check_last_failure
void pcmk__free_param_checks(pcmk_scheduler_t *scheduler)
time_t pcmk__scheduler_epoch_time(pcmk_scheduler_t *scheduler)
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__update_recheck_time(time_t recheck, pcmk_scheduler_t *scheduler, const char *reason)
@ pcmk__sched_in_maintenance
@ pcmk__sched_enable_unfencing
@ pcmk__sched_show_utilization
@ pcmk__sched_stop_removed_resources
@ pcmk__sched_shutdown_lock
@ pcmk__sched_fencing_enabled
@ pcmk__sched_cancel_removed_actions
@ pcmk__sched_fence_remote_no_quorum
@ pcmk__sched_symmetric_cluster
@ pcmk__sched_start_failure_fatal
@ pcmk__sched_output_scores
@ pcmk__sched_have_remote_nodes
@ pcmk__sched_concurrent_fencing
@ pcmk__sched_validate_only
@ pcmk__sched_startup_fencing
@ pcmk__sched_have_status
@ pcmk__sched_processing_warning
@ pcmk__sched_have_fencing
@ pcmk__sched_probe_resources
@ pcmk__sched_location_only
@ pcmk__sched_processing_error
void pcmk__add_param_check(const xmlNode *rsc_op, pcmk_resource_t *rsc, pcmk_node_t *node, enum pcmk__check_parameters)
This structure contains everything that makes up a single output formatter.
GList * ordering_constraints
guint priority_fencing_ms
const char * fence_action
const char * placement_strategy
GList * colocation_constraints
GHashTable * ticket_constraints
GList * location_constraints
Scheduler API for tickets.