pacemaker 2.1.1-77db578727
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
pcmki_sched_allocate.h
Go to the documentation of this file.
1/*
2 * Copyright 2004-2021 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 SCHED_ALLOCATE__H
11# define SCHED_ALLOCATE__H
12
13# include <glib.h>
14# include <crm/common/xml.h>
15# include <crm/pengine/status.h>
16# include <crm/pengine/complex.h>
17# include <crm/pengine/internal.h>
19
45
46GHashTable *pcmk__native_merge_weights(pe_resource_t *rsc, const char *rhs,
47 GHashTable *nodes, const char *attr,
48 float factor, uint32_t flags);
49
50GHashTable *pcmk__group_merge_weights(pe_resource_t *rsc, const char *rhs,
51 GHashTable *nodes, const char *attr,
52 float factor, uint32_t flags);
53
55 pe_working_set_t *data_set);
56extern void native_create_actions(pe_resource_t * rsc, pe_working_set_t * data_set);
59 pcmk__colocation_t *constraint,
60 pe_working_set_t *data_set);
62 pcmk__colocation_t *constraint,
63 pe_working_set_t *data_set);
64extern void rsc_ticket_constraint(pe_resource_t * lh_rsc, rsc_ticket_t * rsc_ticket,
65 pe_working_set_t * data_set);
67
69extern void native_expand(pe_resource_t * rsc, pe_working_set_t * data_set);
70extern gboolean native_create_probe(pe_resource_t * rsc, pe_node_t * node, pe_action_t * complete,
71 gboolean force, pe_working_set_t * data_set);
72extern void native_append_meta(pe_resource_t * rsc, xmlNode * xml);
73
75 pe_working_set_t *data_set);
76extern void group_create_actions(pe_resource_t * rsc, pe_working_set_t * data_set);
77extern void group_internal_constraints(pe_resource_t * rsc, pe_working_set_t * data_set);
79 pcmk__colocation_t *constraint,
80 pe_working_set_t *data_set);
82 pcmk__colocation_t *constraint,
83 pe_working_set_t *data_set);
85void group_rsc_location(pe_resource_t *rsc, pe__location_t *constraint);
86extern void group_expand(pe_resource_t * rsc, pe_working_set_t * data_set);
87extern void group_append_meta(pe_resource_t * rsc, xmlNode * xml);
88
90 pe_working_set_t *data_set);
92 pe_working_set_t *data_set);
94 pe_action_t *complete, gboolean force,
95 pe_working_set_t *data_set);
97 pe_working_set_t *data_set);
99 pe_resource_t *rh_rsc,
100 pcmk__colocation_t *constraint,
101 pe_working_set_t *data_set);
103 pe_resource_t *rh_rsc,
104 pcmk__colocation_t *constraint,
105 pe_working_set_t *data_set);
108 pe_node_t *node);
110void pcmk__bundle_append_meta(pe_resource_t *rsc, xmlNode *xml);
111
113 pe_working_set_t *data_set);
114extern void clone_create_actions(pe_resource_t * rsc, pe_working_set_t * data_set);
115extern void clone_internal_constraints(pe_resource_t * rsc, pe_working_set_t * data_set);
117 pcmk__colocation_t *constraint,
118 pe_working_set_t *data_set);
120 pcmk__colocation_t *constraint,
121 pe_working_set_t *data_set);
122void clone_rsc_location(pe_resource_t *rsc, pe__location_t *constraint);
124extern void clone_expand(pe_resource_t * rsc, pe_working_set_t * data_set);
125extern gboolean clone_create_probe(pe_resource_t * rsc, pe_node_t * node, pe_action_t * complete,
126 gboolean force, pe_working_set_t * data_set);
127extern void clone_append_meta(pe_resource_t * rsc, xmlNode * xml);
128
131 pe_working_set_t *data_set);
136 pcmk__colocation_t *constraint,
137 pe_working_set_t *data_set);
138
139/* extern resource_object_functions_t resource_variants[]; */
141
142extern gboolean unpack_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set);
143
144extern gboolean unpack_rsc_ticket(xmlNode * xml_obj, pe_working_set_t * data_set);
145
146void LogNodeActions(pe_working_set_t * data_set);
147void LogActions(pe_resource_t * rsc, pe_working_set_t * data_set);
149
150extern void rsc_stonith_ordering(pe_resource_t * rsc, pe_action_t * stonith_op,
151 pe_working_set_t * data_set);
152
154 pe_node_t *node,
156 enum pe_action_flags filter,
157 enum pe_ordering type,
158 pe_working_set_t *data_set);
160 pe_node_t *node,
162 enum pe_action_flags filter,
163 enum pe_ordering type,
164 pe_working_set_t *data_set);
166 pe_action_t *then,
167 pe_node_t *node,
169 enum pe_action_flags filter,
170 enum pe_ordering type,
171 pe_working_set_t *data_set);
172
175void pcmk__log_transition_summary(const char *filename);
177 pe_resource_t * rsc, GList *children, notify_data_t **start_notify, notify_data_t **stop_notify, pe_working_set_t * data_set);
178#endif
uint64_t flags
Definition remote.c:3
enum crm_ais_msg_types type
Definition cpg.c:3
const char * action
Definition pcmk_fence.c:30
void native_append_meta(pe_resource_t *rsc, xmlNode *xml)
void pcmk__add_promotion_scores(pe_resource_t *rsc)
GHashTable * pcmk__group_merge_weights(pe_resource_t *rsc, const char *rhs, GHashTable *nodes, const char *attr, float factor, uint32_t flags)
enum pe_action_flags pcmk__bundle_action_flags(pe_action_t *action, pe_node_t *node)
void clone_rsc_colocation_lh(pe_resource_t *lh_rsc, pe_resource_t *rh_rsc, pcmk__colocation_t *constraint, pe_working_set_t *data_set)
pe_node_t * pcmk__native_allocate(pe_resource_t *rsc, pe_node_t *preferred, pe_working_set_t *data_set)
gboolean unpack_rsc_order(xmlNode *xml_obj, pe_working_set_t *data_set)
gboolean pcmk__bundle_create_probe(pe_resource_t *rsc, pe_node_t *node, pe_action_t *complete, gboolean force, pe_working_set_t *data_set)
void group_create_actions(pe_resource_t *rsc, pe_working_set_t *data_set)
void native_internal_constraints(pe_resource_t *rsc, pe_working_set_t *data_set)
resource_alloc_functions_t resource_class_alloc_functions[]
void pcmk__bundle_rsc_location(pe_resource_t *rsc, pe__location_t *constraint)
void pcmk__bundle_log_actions(pe_resource_t *rsc, pe_working_set_t *data_set)
enum pe_action_flags group_action_flags(pe_action_t *action, pe_node_t *node)
void promotable_constraints(pe_resource_t *rsc, pe_working_set_t *data_set)
void LogActions(pe_resource_t *rsc, pe_working_set_t *data_set)
void LogNodeActions(pe_working_set_t *data_set)
void pcmk__bundle_append_meta(pe_resource_t *rsc, xmlNode *xml)
void complex_set_cmds(pe_resource_t *rsc)
void pcmk__bundle_create_actions(pe_resource_t *rsc, pe_working_set_t *data_set)
enum pe_action_flags clone_action_flags(pe_action_t *action, pe_node_t *node)
void clone_create_pseudo_actions(pe_resource_t *rsc, GList *children, notify_data_t **start_notify, notify_data_t **stop_notify, pe_working_set_t *data_set)
gboolean unpack_rsc_ticket(xmlNode *xml_obj, pe_working_set_t *data_set)
void pcmk__bundle_rsc_colocation_lh(pe_resource_t *lh_rsc, pe_resource_t *rh_rsc, pcmk__colocation_t *constraint, pe_working_set_t *data_set)
void pcmk__bundle_internal_constraints(pe_resource_t *rsc, pe_working_set_t *data_set)
void clone_rsc_location(pe_resource_t *rsc, pe__location_t *constraint)
void native_rsc_colocation_lh(pe_resource_t *lh_rsc, pe_resource_t *rh_rsc, pcmk__colocation_t *constraint, pe_working_set_t *data_set)
void clone_expand(pe_resource_t *rsc, pe_working_set_t *data_set)
void clone_rsc_colocation_rh(pe_resource_t *lh_rsc, pe_resource_t *rh_rsc, pcmk__colocation_t *constraint, pe_working_set_t *data_set)
void clone_append_meta(pe_resource_t *rsc, xmlNode *xml)
void native_expand(pe_resource_t *rsc, pe_working_set_t *data_set)
void group_rsc_colocation_rh(pe_resource_t *lh_rsc, pe_resource_t *rh_rsc, pcmk__colocation_t *constraint, pe_working_set_t *data_set)
void native_rsc_location(pe_resource_t *rsc, pe__location_t *constraint)
void rsc_stonith_ordering(pe_resource_t *rsc, pe_action_t *stonith_op, pe_working_set_t *data_set)
gboolean native_create_probe(pe_resource_t *rsc, pe_node_t *node, pe_action_t *complete, gboolean force, pe_working_set_t *data_set)
pe_node_t * pcmk__bundle_allocate(pe_resource_t *rsc, pe_node_t *preferred, pe_working_set_t *data_set)
gboolean update_action(pe_action_t *action, pe_working_set_t *data_set)
pe_node_t * pcmk__clone_allocate(pe_resource_t *rsc, pe_node_t *preferred, pe_working_set_t *data_set)
void clone_create_actions(pe_resource_t *rsc, pe_working_set_t *data_set)
void pcmk__bundle_rsc_colocation_rh(pe_resource_t *lh_rsc, pe_resource_t *rh_rsc, pcmk__colocation_t *constraint, pe_working_set_t *data_set)
void create_promotable_actions(pe_resource_t *rsc, pe_working_set_t *data_set)
pe_node_t * pcmk__group_allocate(pe_resource_t *rsc, pe_node_t *preferred, pe_working_set_t *data_set)
void group_internal_constraints(pe_resource_t *rsc, pe_working_set_t *data_set)
void rsc_ticket_constraint(pe_resource_t *lh_rsc, rsc_ticket_t *rsc_ticket, pe_working_set_t *data_set)
void pcmk__log_transition_summary(const char *filename)
void group_rsc_colocation_lh(pe_resource_t *lh_rsc, pe_resource_t *rh_rsc, pcmk__colocation_t *constraint, pe_working_set_t *data_set)
gboolean clone_create_probe(pe_resource_t *rsc, pe_node_t *node, pe_action_t *complete, gboolean force, pe_working_set_t *data_set)
void promotable_colocation_rh(pe_resource_t *lh_rsc, pe_resource_t *rh_rsc, pcmk__colocation_t *constraint, pe_working_set_t *data_set)
void native_create_actions(pe_resource_t *rsc, pe_working_set_t *data_set)
enum pe_graph_flags pcmk__multi_update_actions(pe_action_t *first, pe_action_t *then, pe_node_t *node, enum pe_action_flags flags, enum pe_action_flags filter, enum pe_ordering type, pe_working_set_t *data_set)
enum pe_action_flags native_action_flags(pe_action_t *action, pe_node_t *node)
void promote_demote_constraints(pe_resource_t *rsc, pe_working_set_t *data_set)
void pcmk__bundle_expand(pe_resource_t *rsc, pe_working_set_t *data_set)
GHashTable * pcmk__native_merge_weights(pe_resource_t *rsc, const char *rhs, GHashTable *nodes, const char *attr, float factor, uint32_t flags)
void clone_internal_constraints(pe_resource_t *rsc, pe_working_set_t *data_set)
void group_rsc_location(pe_resource_t *rsc, pe__location_t *constraint)
pe_node_t * pcmk__set_instance_roles(pe_resource_t *rsc, pe_working_set_t *data_set)
void group_append_meta(pe_resource_t *rsc, xmlNode *xml)
enum pe_graph_flags native_update_actions(pe_action_t *first, pe_action_t *then, pe_node_t *node, enum pe_action_flags flags, enum pe_action_flags filter, enum pe_ordering type, pe_working_set_t *data_set)
void native_rsc_colocation_rh(pe_resource_t *lh_rsc, pe_resource_t *rh_rsc, pcmk__colocation_t *constraint, pe_working_set_t *data_set)
enum pe_graph_flags group_update_actions(pe_action_t *first, pe_action_t *then, pe_node_t *node, enum pe_action_flags flags, enum pe_action_flags filter, enum pe_ordering type, pe_working_set_t *data_set)
void group_expand(pe_resource_t *rsc, pe_working_set_t *data_set)
pe_weights
pe_graph_flags
Definition pe_types.h:283
pe_ordering
Definition pe_types.h:484
pe_action_flags
Definition pe_types.h:291
Cluster status and scheduling.
void(* rsc_location)(pe_resource_t *, pe__location_t *)
void(* rsc_colocation_lh)(pe_resource_t *, pe_resource_t *, pcmk__colocation_t *, pe_working_set_t *)
void(* append_meta)(pe_resource_t *rsc, xmlNode *xml)
void(* rsc_colocation_rh)(pe_resource_t *, pe_resource_t *, pcmk__colocation_t *, pe_working_set_t *)
void(* expand)(pe_resource_t *, pe_working_set_t *)
gboolean(* create_probe)(pe_resource_t *, pe_node_t *, pe_action_t *, gboolean, pe_working_set_t *)
void(* create_actions)(pe_resource_t *, pe_working_set_t *)
void(* internal_constraints)(pe_resource_t *, pe_working_set_t *)
enum pe_action_flags(* action_flags)(pe_action_t *, pe_node_t *)
enum pe_graph_flags(* update_actions)(pe_action_t *, pe_action_t *, pe_node_t *, enum pe_action_flags, enum pe_action_flags, enum pe_ordering, pe_working_set_t *data_set)
Wrappers for and extensions to libxml2.