pacemaker  2.1.6-802a72226b
Scalable High-Availability cluster resource manager
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>
14 # include <crm/crm.h>
15 # include <crm/common/iso8601.h>
16 # include <crm/pengine/rules.h>
17 # include <crm/pengine/common.h>
18 # include <crm/pengine/status.h>
19 
20 # include <crm/pengine/complex.h>
21 
22 typedef struct {
23  const char *id;
24  const char *node_attribute;
25  pe_resource_t *dependent; // The resource being colocated
26  pe_resource_t *primary; // The resource the dependent is colocated with
27 
28  int dependent_role; // Colocation applies only if dependent has this role
29  int primary_role; // Colocation applies only if primary has this role
30 
31  int score;
32  bool influence; // Whether dependent influences active primary placement
34 
36 
37 void pcmk__schedule_actions(xmlNode *cib, unsigned long long flags,
39 
42 
43 #endif
A dumping ground.
pe_resource_t * dependent
GList * pcmk__with_this_colocations(const pe_resource_t *rsc)
pe_resource_t * primary
GList * pcmk__this_with_colocations(const pe_resource_t *rsc)
pe_working_set_t * data_set
void pcmk__unpack_constraints(pe_working_set_t *data_set)
ISO_8601 Date handling.
Cluster status and scheduling.
const char * node_attribute
void pcmk__schedule_actions(xmlNode *cib, unsigned long long flags, pe_working_set_t *data_set)
uint64_t flags
Definition: remote.c:215