pacemaker 2.1.8-2.1.8
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
pcmki_scheduler.h
Go to the documentation of this file.
1/*
2 * Copyright 2014-2023 the Pacemaker project contributors
3 *
4 * The version control history for this file may have further details.
5 *
6 * This source code is licensed under the GNU Lesser General Public License
7 * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8 */
9
10#ifndef PCMK__PCMKI_PCMKI_SCHEDULER__H
11#define PCMK__PCMKI_PCMKI_SCHEDULER__H
12
13#include <glib.h> // GList
14#include <stdbool.h> // bool
15#include <libxml/tree.h> // xmlNode
16
17#include <crm/lrmd_events.h> // lrmd_event_data_t
18#include <crm/pengine/status.h> // pcmk_resource_t, pcmk_scheduler_t
19
20typedef struct {
21 const char *id;
22 const char *node_attribute;
23 pcmk_resource_t *dependent; // The resource being colocated
24 pcmk_resource_t *primary; // The resource the dependent is colocated with
25
26 int dependent_role; // Colocation applies only if dependent has this role
27 int primary_role; // Colocation applies only if primary has this role
28
29 int score;
30 uint32_t flags; // Group of enum pcmk__coloc_flags
32
34
35void pcmk__schedule_actions(xmlNode *cib, unsigned long long flags,
37
38GList *pcmk__copy_node_list(const GList *list, bool reset);
39
40xmlNode *pcmk__create_history_xml(xmlNode *parent, lrmd_event_data_t *event,
41 const char *caller_version, int target_rc,
42 const char *node, const char *origin);
43
44#endif
const char * parent
Definition cib.c:27
uint64_t flags
Definition remote.c:3
Resource agent executor events.
pcmk_scheduler_t * scheduler
GList * pcmk__copy_node_list(const GList *list, bool reset)
void pcmk__unpack_constraints(pcmk_scheduler_t *scheduler)
void pcmk__schedule_actions(xmlNode *cib, unsigned long long flags, pcmk_scheduler_t *scheduler)
xmlNode * pcmk__create_history_xml(xmlNode *parent, lrmd_event_data_t *event, const char *caller_version, int target_rc, const char *node, const char *origin)
Cluster status and scheduling.
const char * node_attribute
pcmk_resource_t * primary
pcmk_resource_t * dependent