dependent 107 include/pcmki/pcmki_sched_allocate.h void native_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 110 include/pcmki/pcmki_sched_allocate.h void native_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 129 include/pcmki/pcmki_sched_allocate.h void group_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 132 include/pcmki/pcmki_sched_allocate.h void group_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 152 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_rsc_colocation_lh(pe_resource_t *dependent, dependent 156 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_rsc_colocation_rh(pe_resource_t *dependent, dependent 173 include/pcmki/pcmki_sched_allocate.h void clone_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 176 include/pcmki/pcmki_sched_allocate.h void clone_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 195 include/pcmki/pcmki_sched_allocate.h void promotable_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 35 include/pcmki/pcmki_scheduler.h pe_resource_t *dependent; // The resource being colocated dependent 144 lib/pacemaker/libpacemaker_private.h enum pcmk__coloc_affects pcmk__colocation_affects(pe_resource_t *dependent, dependent 150 lib/pacemaker/libpacemaker_private.h void pcmk__apply_coloc_to_weights(pe_resource_t *dependent, dependent 155 lib/pacemaker/libpacemaker_private.h void pcmk__apply_coloc_to_priority(pe_resource_t *dependent, dependent 164 lib/pacemaker/libpacemaker_private.h pe_resource_t *dependent, pe_resource_t *primary, dependent 51 lib/pacemaker/pcmk_output.c "rsc", cons->dependent->id, dependent 451 lib/pacemaker/pcmk_output.c if (pcmk_is_set(cons->dependent->flags, pe_rsc_allocating)) { dependent 453 lib/pacemaker/pcmk_output.c cons->dependent->id, cons->id); dependent 457 lib/pacemaker/pcmk_output.c hdr = colocations_header(cons->dependent, cons, TRUE); dependent 464 lib/pacemaker/pcmk_output.c out->message(out, "locations-list", cons->dependent); dependent 467 lib/pacemaker/pcmk_output.c cons->dependent, recursive); dependent 493 lib/pacemaker/pcmk_output.c if (pcmk_is_set(cons->dependent->flags, pe_rsc_allocating)) { dependent 494 lib/pacemaker/pcmk_output.c colocations_xml_node(out, cons->dependent, cons); dependent 498 lib/pacemaker/pcmk_output.c colocations_xml_node(out, cons->dependent, cons); dependent 499 lib/pacemaker/pcmk_output.c do_locations_list_xml(out, cons->dependent, false); dependent 503 lib/pacemaker/pcmk_output.c cons->dependent, recursive); dependent 412 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 465 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 473 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(dependent != NULL, dependent 477 lib/pacemaker/pcmk_sched_bundle.c CRM_ASSERT(dependent->variant == pe_native); dependent 483 lib/pacemaker/pcmk_sched_bundle.c } else if(constraint->dependent->variant > pe_group) { dependent 484 lib/pacemaker/pcmk_sched_bundle.c pe_resource_t *primary_replica = compatible_replica(dependent, primary, dependent 490 lib/pacemaker/pcmk_sched_bundle.c dependent->id, primary_replica->id); dependent 491 lib/pacemaker/pcmk_sched_bundle.c dependent->cmds->rsc_colocation_lh(dependent, primary_replica, dependent 496 lib/pacemaker/pcmk_sched_bundle.c dependent->id, primary->id); dependent 497 lib/pacemaker/pcmk_sched_bundle.c pcmk__assign_resource(dependent, NULL, true); dependent 501 lib/pacemaker/pcmk_sched_bundle.c dependent->id, primary->id); dependent 509 lib/pacemaker/pcmk_sched_bundle.c constraint->id, dependent->id, primary->id, constraint->score); dependent 516 lib/pacemaker/pcmk_sched_bundle.c replica->container->cmds->rsc_colocation_rh(dependent, dependent 545 lib/pacemaker/pcmk_sched_bundle.c node_list_exclude(dependent->allowed_nodes, allocated_primaries, FALSE); dependent 145 lib/pacemaker/pcmk_sched_clone.c hash1 = pcmk__native_merge_weights(constraint->dependent, rsc1->id, dependent 175 lib/pacemaker/pcmk_sched_clone.c hash2 = pcmk__native_merge_weights(constraint->dependent, rsc2->id, dependent 720 lib/pacemaker/pcmk_sched_clone.c rsc->allowed_nodes = constraint->dependent->cmds->merge_weights( dependent 721 lib/pacemaker/pcmk_sched_clone.c constraint->dependent, rsc->id, rsc->allowed_nodes, dependent 1073 lib/pacemaker/pcmk_sched_clone.c clone_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 1085 lib/pacemaker/pcmk_sched_clone.c clone_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 1094 lib/pacemaker/pcmk_sched_clone.c CRM_CHECK(dependent != NULL, dependent 1098 lib/pacemaker/pcmk_sched_clone.c CRM_CHECK(dependent->variant == pe_native, return); dependent 1101 lib/pacemaker/pcmk_sched_clone.c constraint->id, dependent->id, primary->id, constraint->score); dependent 1111 lib/pacemaker/pcmk_sched_clone.c promotable_colocation_rh(dependent, primary, constraint, data_set); dependent 1117 lib/pacemaker/pcmk_sched_clone.c interleave_s = g_hash_table_lookup(constraint->dependent->meta, dependent 1120 lib/pacemaker/pcmk_sched_clone.c && (constraint->dependent->variant > pe_group)) { dependent 1124 lib/pacemaker/pcmk_sched_clone.c if (copies_per_node(constraint->dependent) != copies_per_node(constraint->primary)) { dependent 1127 lib/pacemaker/pcmk_sched_clone.c constraint->dependent->id, dependent 1142 lib/pacemaker/pcmk_sched_clone.c primary_instance = find_compatible_child(dependent, primary, dependent 1147 lib/pacemaker/pcmk_sched_clone.c dependent->id, primary_instance->id); dependent 1148 lib/pacemaker/pcmk_sched_clone.c dependent->cmds->rsc_colocation_lh(dependent, primary_instance, dependent 1153 lib/pacemaker/pcmk_sched_clone.c dependent->id, primary->id); dependent 1154 lib/pacemaker/pcmk_sched_clone.c pcmk__assign_resource(dependent, NULL, true); dependent 1158 lib/pacemaker/pcmk_sched_clone.c dependent->id, primary->id); dependent 1179 lib/pacemaker/pcmk_sched_clone.c node_list_exclude(dependent->allowed_nodes, affected_nodes, FALSE); dependent 1188 lib/pacemaker/pcmk_sched_clone.c child_rsc->cmds->rsc_colocation_rh(dependent, child_rsc, constraint, dependent 45 lib/pacemaker/pcmk_sched_colocation.c CRM_ASSERT(rsc_constraint1->dependent != NULL); dependent 48 lib/pacemaker/pcmk_sched_colocation.c if (rsc_constraint1->dependent->priority > rsc_constraint2->dependent->priority) { dependent 52 lib/pacemaker/pcmk_sched_colocation.c if (rsc_constraint1->dependent->priority < rsc_constraint2->dependent->priority) { dependent 57 lib/pacemaker/pcmk_sched_colocation.c if (rsc_constraint1->dependent->variant > rsc_constraint2->dependent->variant) { dependent 60 lib/pacemaker/pcmk_sched_colocation.c if (rsc_constraint1->dependent->variant < rsc_constraint2->dependent->variant) { dependent 68 lib/pacemaker/pcmk_sched_colocation.c if (rsc_constraint1->dependent->variant == pe_clone) { dependent 69 lib/pacemaker/pcmk_sched_colocation.c if (pcmk_is_set(rsc_constraint1->dependent->flags, pe_rsc_promotable) dependent 70 lib/pacemaker/pcmk_sched_colocation.c && !pcmk_is_set(rsc_constraint2->dependent->flags, pe_rsc_promotable)) { dependent 72 lib/pacemaker/pcmk_sched_colocation.c } else if (!pcmk_is_set(rsc_constraint1->dependent->flags, pe_rsc_promotable) dependent 73 lib/pacemaker/pcmk_sched_colocation.c && pcmk_is_set(rsc_constraint2->dependent->flags, pe_rsc_promotable)) { dependent 78 lib/pacemaker/pcmk_sched_colocation.c return strcmp(rsc_constraint1->dependent->id, dependent 79 lib/pacemaker/pcmk_sched_colocation.c rsc_constraint2->dependent->id); dependent 95 lib/pacemaker/pcmk_sched_colocation.c CRM_ASSERT(rsc_constraint1->dependent != NULL); dependent 195 lib/pacemaker/pcmk_sched_colocation.c pe_resource_t *dependent, pe_resource_t *primary, dependent 205 lib/pacemaker/pcmk_sched_colocation.c if ((dependent == NULL) || (primary == NULL)) { dependent 227 lib/pacemaker/pcmk_sched_colocation.c new_con->dependent = dependent; dependent 239 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(dependent, "%s ==> %s (%s %d)", dependent 240 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id, node_attr, score); dependent 242 lib/pacemaker/pcmk_sched_colocation.c dependent->rsc_cons = g_list_insert_sorted(dependent->rsc_cons, new_con, dependent 252 lib/pacemaker/pcmk_sched_colocation.c anti_colocation_order(dependent, new_con->dependent_role, primary, dependent 254 lib/pacemaker/pcmk_sched_colocation.c anti_colocation_order(primary, new_con->primary_role, dependent, dependent 502 lib/pacemaker/pcmk_sched_colocation.c pe_resource_t *dependent = pcmk__find_constraint_resource(data_set->resources, dependent 507 lib/pacemaker/pcmk_sched_colocation.c if (dependent == NULL) { dependent 517 lib/pacemaker/pcmk_sched_colocation.c } else if ((dependent_instance != NULL) && !pe_rsc_is_clone(dependent)) { dependent 531 lib/pacemaker/pcmk_sched_colocation.c dependent = find_clone_instance(dependent, dependent_instance, data_set); dependent 532 lib/pacemaker/pcmk_sched_colocation.c if (dependent == NULL) { dependent 560 lib/pacemaker/pcmk_sched_colocation.c pcmk__new_colocation(id, attr, score_i, dependent, primary, dependent 562 lib/pacemaker/pcmk_sched_colocation.c unpack_influence(id, dependent, influence_s), data_set); dependent 576 lib/pacemaker/pcmk_sched_colocation.c pe_resource_t *dependent = NULL; dependent 610 lib/pacemaker/pcmk_sched_colocation.c if (!pcmk__valid_resource_or_tag(data_set, dependent_id, &dependent, dependent 624 lib/pacemaker/pcmk_sched_colocation.c if ((dependent != NULL) && (primary != NULL)) { dependent 815 lib/pacemaker/pcmk_sched_colocation.c mark_start_blocked(colocate_with->dependent, action->rsc, data_set); dependent 839 lib/pacemaker/pcmk_sched_colocation.c pcmk__colocation_affects(pe_resource_t *dependent, pe_resource_t *primary, dependent 848 lib/pacemaker/pcmk_sched_colocation.c && (dependent->parent != NULL) dependent 849 lib/pacemaker/pcmk_sched_colocation.c && pcmk_is_set(dependent->parent->flags, pe_rsc_promotable) dependent 850 lib/pacemaker/pcmk_sched_colocation.c && !pcmk_is_set(dependent->flags, pe_rsc_provisional)) { dependent 859 lib/pacemaker/pcmk_sched_colocation.c if (!preview && !pcmk_is_set(dependent->flags, pe_rsc_provisional)) { dependent 867 lib/pacemaker/pcmk_sched_colocation.c if (dependent->allocated_to == NULL) { dependent 869 lib/pacemaker/pcmk_sched_colocation.c constraint->id, dependent->id); dependent 875 lib/pacemaker/pcmk_sched_colocation.c (primary_node->details != dependent->allocated_to->details)) { dependent 877 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id, dependent 878 lib/pacemaker/pcmk_sched_colocation.c dependent->allocated_to->details->uname, dependent 886 lib/pacemaker/pcmk_sched_colocation.c (dependent->allocated_to->details == primary_node->details)) { dependent 889 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id, primary_node->details->uname); dependent 897 lib/pacemaker/pcmk_sched_colocation.c && (constraint->dependent_role != dependent->next_role)) { dependent 902 lib/pacemaker/pcmk_sched_colocation.c dependent->id, role2text(dependent->next_role)); dependent 919 lib/pacemaker/pcmk_sched_colocation.c && (constraint->dependent_role == dependent->next_role)) { dependent 948 lib/pacemaker/pcmk_sched_colocation.c pcmk__apply_coloc_to_weights(pe_resource_t *dependent, pe_resource_t *primary, dependent 969 lib/pacemaker/pcmk_sched_colocation.c work = pcmk__copy_node_table(dependent->allowed_nodes); dependent 974 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(dependent, "%s: %s@%s -= %d (%s inactive)", dependent 975 lib/pacemaker/pcmk_sched_colocation.c constraint->id, dependent->id, node->details->uname, dependent 982 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(dependent, "%s: %s@%s += %d", dependent 983 lib/pacemaker/pcmk_sched_colocation.c constraint->id, dependent->id, dependent 990 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(dependent, "%s: %s@%s -= %d (%s mismatch)", dependent 991 lib/pacemaker/pcmk_sched_colocation.c constraint->id, dependent->id, node->details->uname, dependent 1000 lib/pacemaker/pcmk_sched_colocation.c g_hash_table_destroy(dependent->allowed_nodes); dependent 1001 lib/pacemaker/pcmk_sched_colocation.c dependent->allowed_nodes = work; dependent 1005 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_info(dependent, dependent 1007 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id); dependent 1027 lib/pacemaker/pcmk_sched_colocation.c pcmk__apply_coloc_to_priority(pe_resource_t *dependent, pe_resource_t *primary, dependent 1035 lib/pacemaker/pcmk_sched_colocation.c if ((primary->allocated_to == NULL) || (dependent->allocated_to == NULL)) { dependent 1043 lib/pacemaker/pcmk_sched_colocation.c dependent_value = pe_node_attribute_raw(dependent->allocated_to, attribute); dependent 1049 lib/pacemaker/pcmk_sched_colocation.c dependent->priority = -INFINITY; dependent 1063 lib/pacemaker/pcmk_sched_colocation.c dependent->priority = pcmk__add_scores(score_multiplier * constraint->score, dependent 1064 lib/pacemaker/pcmk_sched_colocation.c dependent->priority); dependent 359 lib/pacemaker/pcmk_sched_group.c group_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 366 lib/pacemaker/pcmk_sched_group.c if (dependent == NULL) { dependent 375 lib/pacemaker/pcmk_sched_group.c gIter = dependent->children; dependent 376 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(dependent, "Processing constraints from %s", dependent->id); dependent 378 lib/pacemaker/pcmk_sched_group.c get_group_variant_data(group_data, dependent); dependent 389 lib/pacemaker/pcmk_sched_group.c dependent->id, primary->id); dependent 402 lib/pacemaker/pcmk_sched_group.c group_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 410 lib/pacemaker/pcmk_sched_group.c CRM_CHECK(dependent->variant == pe_native, return); dependent 413 lib/pacemaker/pcmk_sched_group.c primary->id, constraint->id, dependent->id); dependent 421 lib/pacemaker/pcmk_sched_group.c group_data->last_child->cmds->rsc_colocation_rh(dependent, dependent 427 lib/pacemaker/pcmk_sched_group.c group_data->first_child->cmds->rsc_colocation_rh(dependent, dependent 437 lib/pacemaker/pcmk_sched_group.c " non-colocated group %s", dependent->id, primary->id); dependent 444 lib/pacemaker/pcmk_sched_group.c child_rsc->cmds->rsc_colocation_rh(dependent, child_rsc, constraint, dependent 589 lib/pacemaker/pcmk_sched_group.c nodes = pcmk__native_merge_weights(constraint->dependent, rsc->id, dependent 450 lib/pacemaker/pcmk_sched_native.c other = constraint->dependent; dependent 454 lib/pacemaker/pcmk_sched_native.c constraint->id, constraint->dependent->id, dependent 555 lib/pacemaker/pcmk_sched_native.c constraint->id, constraint->dependent->id, dependent 557 lib/pacemaker/pcmk_sched_native.c rsc->allowed_nodes = constraint->dependent->cmds->merge_weights( dependent 558 lib/pacemaker/pcmk_sched_native.c constraint->dependent, rsc->id, rsc->allowed_nodes, dependent 1694 lib/pacemaker/pcmk_sched_native.c native_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 1698 lib/pacemaker/pcmk_sched_native.c if (dependent == NULL) { dependent 1707 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(dependent, dependent 1709 lib/pacemaker/pcmk_sched_native.c dependent->id, primary->id); dependent 1711 lib/pacemaker/pcmk_sched_native.c primary->cmds->rsc_colocation_rh(dependent, primary, constraint, data_set); dependent 1715 lib/pacemaker/pcmk_sched_native.c native_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 1721 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT((dependent != NULL) && (primary != NULL)); dependent 1722 lib/pacemaker/pcmk_sched_native.c filter_results = pcmk__colocation_affects(dependent, primary, constraint, dependent 1724 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(dependent, "%s %s with %s (%s, score=%d, filter=%d)", dependent 1726 lib/pacemaker/pcmk_sched_native.c dependent->id, primary->id, constraint->id, constraint->score, dependent 1731 lib/pacemaker/pcmk_sched_native.c pcmk__apply_coloc_to_priority(dependent, primary, constraint); dependent 1734 lib/pacemaker/pcmk_sched_native.c pcmk__apply_coloc_to_weights(dependent, primary, constraint); dependent 348 lib/pacemaker/pcmk_sched_promotable.c constraint->dependent->id, constraint->primary->id, dependent 370 lib/pacemaker/pcmk_sched_promotable.c constraint->dependent->id, constraint->primary->id, dependent 372 lib/pacemaker/pcmk_sched_promotable.c rsc->allowed_nodes = constraint->dependent->cmds->merge_weights( dependent 373 lib/pacemaker/pcmk_sched_promotable.c constraint->dependent, rsc->id, rsc->allowed_nodes, dependent 993 lib/pacemaker/pcmk_sched_promotable.c promotable_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 999 lib/pacemaker/pcmk_sched_promotable.c if (pcmk_is_set(dependent->flags, pe_rsc_provisional)) { dependent 1012 lib/pacemaker/pcmk_sched_promotable.c node_hash_update_one(dependent->allowed_nodes, chosen, dependent 1027 lib/pacemaker/pcmk_sched_promotable.c node_list_exclude(dependent->allowed_nodes, affected_nodes, dependent 1036 lib/pacemaker/pcmk_sched_promotable.c primary_instance = find_compatible_child(dependent, primary, dependent 1040 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(dependent, "%s can't be promoted %s", dependent 1041 lib/pacemaker/pcmk_sched_promotable.c dependent->id, constraint->id); dependent 1042 lib/pacemaker/pcmk_sched_promotable.c dependent->priority = -INFINITY; dependent 1045 lib/pacemaker/pcmk_sched_promotable.c int new_priority = pcmk__add_scores(dependent->priority, dependent 1048 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_debug(dependent, "Applying %s to %s", dependent 1049 lib/pacemaker/pcmk_sched_promotable.c constraint->id, dependent->id); dependent 1050 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_debug(dependent, "\t%s: %d->%d", dependent 1051 lib/pacemaker/pcmk_sched_promotable.c dependent->id, dependent->priority, new_priority); dependent 1052 lib/pacemaker/pcmk_sched_promotable.c dependent->priority = new_priority; dependent 255 lib/pacemaker/pcmk_sched_resource.c pe_resource_t *dependent = constraint->dependent; dependent 257 lib/pacemaker/pcmk_sched_resource.c if (dependent == orig_rsc) { dependent 261 lib/pacemaker/pcmk_sched_resource.c if (pe_rsc_is_clone(rsc) && !pe_rsc_is_clone(dependent)) { dependent 266 lib/pacemaker/pcmk_sched_resource.c (pcmk__colocation_affects(dependent, rsc, constraint, dependent 269 lib/pacemaker/pcmk_sched_resource.c colocated_rscs = dependent->cmds->colocated_resources(dependent, dependent 417 tools/crm_resource_runtime.c && !pcmk_is_set(cons->dependent->flags, pe_rsc_allocating)) { dependent 420 tools/crm_resource_runtime.c attr_name, attr_value, cons->dependent->id); dependent 421 tools/crm_resource_runtime.c cli_resource_update_attribute(cons->dependent, dependent 422 tools/crm_resource_runtime.c cons->dependent->id, NULL,