MCPcopy Create free account
hub / github.com/ClusterLabs/pacemaker / child_demoting_constraints

Function child_demoting_constraints

pengine/master.c:68–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66}
67
68static void
69child_demoting_constraints(clone_variant_data_t * clone_data, enum pe_ordering type,
70 resource_t * rsc, resource_t * child, resource_t * last,
71 pe_working_set_t * data_set)
72{
73 if (child == NULL) {
74 if (clone_data->ordered && last != NULL) {
75 pe_rsc_trace(rsc, "Ordered version (last node)");
76 /* global demote before first child demote */
77 new_rsc_order(rsc, RSC_DEMOTE, last, RSC_DEMOTE, pe_order_optional, data_set);
78 }
79 return;
80 }
81
82 /* child demote before global demoted */
83 new_rsc_order(child, RSC_DEMOTE, rsc, RSC_DEMOTED, pe_order_implies_then_printed, data_set);
84
85 /* global demote before child demote */
86 new_rsc_order(rsc, RSC_DEMOTE, child, RSC_DEMOTE, pe_order_implies_first_printed, data_set);
87
88 if (clone_data->ordered && last != NULL) {
89 pe_rsc_trace(rsc, "Ordered version");
90
91 /* child/child relative demote */
92 new_rsc_order(child, RSC_DEMOTE, last, RSC_DEMOTE, type, data_set);
93
94 } else if (clone_data->ordered) {
95 pe_rsc_trace(rsc, "Ordered version (1st node)");
96 /* first child stop before global stopped */
97 new_rsc_order(child, RSC_DEMOTE, rsc, RSC_DEMOTED, type, data_set);
98
99 } else {
100 pe_rsc_trace(rsc, "Un-ordered version");
101 }
102}
103
104static void
105master_update_pseudo_status(resource_t * rsc, gboolean * demoting, gboolean * promoting)

Callers 2

master_create_actionsFunction · 0.85

Calls 1

new_rsc_orderFunction · 0.85

Tested by

no test coverage detected