dependent 78 include/pcmki/pcmki_sched_allocate.h void native_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 81 include/pcmki/pcmki_sched_allocate.h void native_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 96 include/pcmki/pcmki_sched_allocate.h void group_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 99 include/pcmki/pcmki_sched_allocate.h void group_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 116 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_rsc_colocation_lh(pe_resource_t *dependent, dependent 120 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_rsc_colocation_rh(pe_resource_t *dependent, dependent 134 include/pcmki/pcmki_sched_allocate.h void clone_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 137 include/pcmki/pcmki_sched_allocate.h void clone_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 153 include/pcmki/pcmki_sched_allocate.h void promotable_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 42 include/pcmki/pcmki_scheduler.h pe_resource_t *dependent; // The resource being colocated dependent 87 lib/pacemaker/libpacemaker_private.h enum pcmk__coloc_affects pcmk__colocation_affects(pe_resource_t *dependent, dependent 93 lib/pacemaker/libpacemaker_private.h void pcmk__apply_coloc_to_weights(pe_resource_t *dependent, dependent 98 lib/pacemaker/libpacemaker_private.h void pcmk__apply_coloc_to_priority(pe_resource_t *dependent, dependent 107 lib/pacemaker/libpacemaker_private.h pe_resource_t *dependent, pe_resource_t *primary, dependent 49 lib/pacemaker/pcmk_output.c "rsc", cons->dependent->id, dependent 449 lib/pacemaker/pcmk_output.c if (pcmk_is_set(cons->dependent->flags, pe_rsc_allocating)) { dependent 451 lib/pacemaker/pcmk_output.c cons->dependent->id, cons->id); dependent 455 lib/pacemaker/pcmk_output.c hdr = colocations_header(cons->dependent, cons, TRUE); dependent 462 lib/pacemaker/pcmk_output.c out->message(out, "locations-list", cons->dependent); dependent 465 lib/pacemaker/pcmk_output.c cons->dependent, recursive); dependent 491 lib/pacemaker/pcmk_output.c if (pcmk_is_set(cons->dependent->flags, pe_rsc_allocating)) { dependent 492 lib/pacemaker/pcmk_output.c colocations_xml_node(out, cons->dependent, cons); dependent 496 lib/pacemaker/pcmk_output.c colocations_xml_node(out, cons->dependent, cons); dependent 497 lib/pacemaker/pcmk_output.c do_locations_list_xml(out, cons->dependent, false); dependent 501 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 assign_node(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 1093 lib/pacemaker/pcmk_sched_clone.c clone_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 1105 lib/pacemaker/pcmk_sched_clone.c clone_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 1114 lib/pacemaker/pcmk_sched_clone.c CRM_CHECK(dependent != NULL, dependent 1118 lib/pacemaker/pcmk_sched_clone.c CRM_CHECK(dependent->variant == pe_native, return); dependent 1121 lib/pacemaker/pcmk_sched_clone.c constraint->id, dependent->id, primary->id, constraint->score); dependent 1131 lib/pacemaker/pcmk_sched_clone.c promotable_colocation_rh(dependent, primary, constraint, data_set); dependent 1137 lib/pacemaker/pcmk_sched_clone.c interleave_s = g_hash_table_lookup(constraint->dependent->meta, dependent 1140 lib/pacemaker/pcmk_sched_clone.c && (constraint->dependent->variant > pe_group)) { dependent 1144 lib/pacemaker/pcmk_sched_clone.c if (copies_per_node(constraint->dependent) != copies_per_node(constraint->primary)) { dependent 1147 lib/pacemaker/pcmk_sched_clone.c constraint->dependent->id, dependent 1162 lib/pacemaker/pcmk_sched_clone.c primary_instance = find_compatible_child(dependent, primary, dependent 1167 lib/pacemaker/pcmk_sched_clone.c dependent->id, primary_instance->id); dependent 1168 lib/pacemaker/pcmk_sched_clone.c dependent->cmds->rsc_colocation_lh(dependent, primary_instance, dependent 1173 lib/pacemaker/pcmk_sched_clone.c dependent->id, primary->id); dependent 1174 lib/pacemaker/pcmk_sched_clone.c assign_node(dependent, NULL, TRUE); dependent 1178 lib/pacemaker/pcmk_sched_clone.c dependent->id, primary->id); dependent 1199 lib/pacemaker/pcmk_sched_clone.c node_list_exclude(dependent->allowed_nodes, affected_nodes, FALSE); dependent 1208 lib/pacemaker/pcmk_sched_clone.c child_rsc->cmds->rsc_colocation_rh(dependent, child_rsc, constraint, dependent 42 lib/pacemaker/pcmk_sched_colocation.c CRM_ASSERT(rsc_constraint1->dependent != NULL); dependent 45 lib/pacemaker/pcmk_sched_colocation.c if (rsc_constraint1->dependent->priority > rsc_constraint2->dependent->priority) { dependent 49 lib/pacemaker/pcmk_sched_colocation.c if (rsc_constraint1->dependent->priority < rsc_constraint2->dependent->priority) { dependent 54 lib/pacemaker/pcmk_sched_colocation.c if (rsc_constraint1->dependent->variant > rsc_constraint2->dependent->variant) { dependent 57 lib/pacemaker/pcmk_sched_colocation.c if (rsc_constraint1->dependent->variant < rsc_constraint2->dependent->variant) { dependent 65 lib/pacemaker/pcmk_sched_colocation.c if (rsc_constraint1->dependent->variant == pe_clone) { dependent 66 lib/pacemaker/pcmk_sched_colocation.c if (pcmk_is_set(rsc_constraint1->dependent->flags, pe_rsc_promotable) dependent 67 lib/pacemaker/pcmk_sched_colocation.c && !pcmk_is_set(rsc_constraint2->dependent->flags, pe_rsc_promotable)) { dependent 69 lib/pacemaker/pcmk_sched_colocation.c } else 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 75 lib/pacemaker/pcmk_sched_colocation.c return strcmp(rsc_constraint1->dependent->id, dependent 76 lib/pacemaker/pcmk_sched_colocation.c rsc_constraint2->dependent->id); dependent 92 lib/pacemaker/pcmk_sched_colocation.c CRM_ASSERT(rsc_constraint1->dependent != NULL); dependent 192 lib/pacemaker/pcmk_sched_colocation.c pe_resource_t *dependent, pe_resource_t *primary, dependent 202 lib/pacemaker/pcmk_sched_colocation.c if ((dependent == NULL) || (primary == NULL)) { dependent 224 lib/pacemaker/pcmk_sched_colocation.c new_con->dependent = dependent; dependent 236 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(dependent, "%s ==> %s (%s %d)", dependent 237 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id, node_attr, score); dependent 239 lib/pacemaker/pcmk_sched_colocation.c dependent->rsc_cons = g_list_insert_sorted(dependent->rsc_cons, new_con, dependent 249 lib/pacemaker/pcmk_sched_colocation.c anti_colocation_order(dependent, new_con->dependent_role, primary, dependent 251 lib/pacemaker/pcmk_sched_colocation.c anti_colocation_order(primary, new_con->primary_role, dependent, dependent 497 lib/pacemaker/pcmk_sched_colocation.c pe_resource_t *dependent = pcmk__find_constraint_resource(data_set->resources, dependent 502 lib/pacemaker/pcmk_sched_colocation.c if (dependent == NULL) { dependent 512 lib/pacemaker/pcmk_sched_colocation.c } else if ((dependent_instance != NULL) && !pe_rsc_is_clone(dependent)) { dependent 526 lib/pacemaker/pcmk_sched_colocation.c dependent = find_clone_instance(dependent, dependent_instance, data_set); dependent 527 lib/pacemaker/pcmk_sched_colocation.c if (dependent == NULL) { dependent 555 lib/pacemaker/pcmk_sched_colocation.c pcmk__new_colocation(id, attr, score_i, dependent, primary, dependent 557 lib/pacemaker/pcmk_sched_colocation.c unpack_influence(id, dependent, influence_s), data_set); dependent 571 lib/pacemaker/pcmk_sched_colocation.c pe_resource_t *dependent = NULL; dependent 605 lib/pacemaker/pcmk_sched_colocation.c if (!pcmk__valid_resource_or_tag(data_set, dependent_id, &dependent, dependent 619 lib/pacemaker/pcmk_sched_colocation.c if ((dependent != NULL) && (primary != NULL)) { dependent 810 lib/pacemaker/pcmk_sched_colocation.c mark_start_blocked(colocate_with->dependent, action->rsc, data_set); dependent 834 lib/pacemaker/pcmk_sched_colocation.c pcmk__colocation_affects(pe_resource_t *dependent, pe_resource_t *primary, dependent 843 lib/pacemaker/pcmk_sched_colocation.c && (dependent->parent != NULL) dependent 844 lib/pacemaker/pcmk_sched_colocation.c && pcmk_is_set(dependent->parent->flags, pe_rsc_promotable) dependent 845 lib/pacemaker/pcmk_sched_colocation.c && !pcmk_is_set(dependent->flags, pe_rsc_provisional)) { dependent 854 lib/pacemaker/pcmk_sched_colocation.c if (!preview && !pcmk_is_set(dependent->flags, pe_rsc_provisional)) { dependent 862 lib/pacemaker/pcmk_sched_colocation.c if (dependent->allocated_to == NULL) { dependent 864 lib/pacemaker/pcmk_sched_colocation.c constraint->id, dependent->id); dependent 870 lib/pacemaker/pcmk_sched_colocation.c (primary_node->details != dependent->allocated_to->details)) { dependent 872 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id, dependent 873 lib/pacemaker/pcmk_sched_colocation.c dependent->allocated_to->details->uname, dependent 881 lib/pacemaker/pcmk_sched_colocation.c (dependent->allocated_to->details == primary_node->details)) { dependent 884 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id, primary_node->details->uname); dependent 892 lib/pacemaker/pcmk_sched_colocation.c && (constraint->dependent_role != dependent->next_role)) { dependent 897 lib/pacemaker/pcmk_sched_colocation.c dependent->id, role2text(dependent->next_role)); dependent 914 lib/pacemaker/pcmk_sched_colocation.c && (constraint->dependent_role == dependent->next_role)) { dependent 943 lib/pacemaker/pcmk_sched_colocation.c pcmk__apply_coloc_to_weights(pe_resource_t *dependent, pe_resource_t *primary, dependent 964 lib/pacemaker/pcmk_sched_colocation.c work = pcmk__copy_node_table(dependent->allowed_nodes); dependent 969 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(dependent, "%s: %s@%s -= %d (%s inactive)", dependent 970 lib/pacemaker/pcmk_sched_colocation.c constraint->id, dependent->id, node->details->uname, dependent 977 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(dependent, "%s: %s@%s += %d", dependent 978 lib/pacemaker/pcmk_sched_colocation.c constraint->id, dependent->id, dependent 984 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(dependent, "%s: %s@%s -= %d (%s mismatch)", dependent 985 lib/pacemaker/pcmk_sched_colocation.c constraint->id, dependent->id, node->details->uname, dependent 994 lib/pacemaker/pcmk_sched_colocation.c g_hash_table_destroy(dependent->allowed_nodes); dependent 995 lib/pacemaker/pcmk_sched_colocation.c dependent->allowed_nodes = work; dependent 999 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_info(dependent, dependent 1001 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id); dependent 1021 lib/pacemaker/pcmk_sched_colocation.c pcmk__apply_coloc_to_priority(pe_resource_t *dependent, pe_resource_t *primary, dependent 1029 lib/pacemaker/pcmk_sched_colocation.c if ((primary->allocated_to == NULL) || (dependent->allocated_to == NULL)) { dependent 1037 lib/pacemaker/pcmk_sched_colocation.c dependent_value = pe_node_attribute_raw(dependent->allocated_to, attribute); dependent 1043 lib/pacemaker/pcmk_sched_colocation.c dependent->priority = -INFINITY; dependent 1057 lib/pacemaker/pcmk_sched_colocation.c dependent->priority = pe__add_scores(score_multiplier * constraint->score, dependent 1058 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 451 lib/pacemaker/pcmk_sched_native.c other = constraint->dependent; dependent 455 lib/pacemaker/pcmk_sched_native.c constraint->id, constraint->dependent->id, dependent 556 lib/pacemaker/pcmk_sched_native.c constraint->id, constraint->dependent->id, dependent 558 lib/pacemaker/pcmk_sched_native.c rsc->allowed_nodes = constraint->dependent->cmds->merge_weights( dependent 559 lib/pacemaker/pcmk_sched_native.c constraint->dependent, rsc->id, rsc->allowed_nodes, dependent 1700 lib/pacemaker/pcmk_sched_native.c native_rsc_colocation_lh(pe_resource_t *dependent, pe_resource_t *primary, dependent 1704 lib/pacemaker/pcmk_sched_native.c if (dependent == NULL) { dependent 1713 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(dependent, dependent 1715 lib/pacemaker/pcmk_sched_native.c dependent->id, primary->id); dependent 1717 lib/pacemaker/pcmk_sched_native.c primary->cmds->rsc_colocation_rh(dependent, primary, constraint, data_set); dependent 1721 lib/pacemaker/pcmk_sched_native.c native_rsc_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 1727 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT((dependent != NULL) && (primary != NULL)); dependent 1728 lib/pacemaker/pcmk_sched_native.c filter_results = pcmk__colocation_affects(dependent, primary, constraint, dependent 1730 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(dependent, "%s %s with %s (%s, score=%d, filter=%d)", dependent 1732 lib/pacemaker/pcmk_sched_native.c dependent->id, primary->id, constraint->id, constraint->score, dependent 1737 lib/pacemaker/pcmk_sched_native.c pcmk__apply_coloc_to_priority(dependent, primary, constraint); dependent 1740 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 986 lib/pacemaker/pcmk_sched_promotable.c promotable_colocation_rh(pe_resource_t *dependent, pe_resource_t *primary, dependent 992 lib/pacemaker/pcmk_sched_promotable.c if (pcmk_is_set(dependent->flags, pe_rsc_provisional)) { dependent 1005 lib/pacemaker/pcmk_sched_promotable.c node_hash_update_one(dependent->allowed_nodes, chosen, dependent 1020 lib/pacemaker/pcmk_sched_promotable.c node_list_exclude(dependent->allowed_nodes, affected_nodes, dependent 1029 lib/pacemaker/pcmk_sched_promotable.c primary_instance = find_compatible_child(dependent, primary, dependent 1033 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(dependent, "%s can't be promoted %s", dependent 1034 lib/pacemaker/pcmk_sched_promotable.c dependent->id, constraint->id); dependent 1035 lib/pacemaker/pcmk_sched_promotable.c dependent->priority = -INFINITY; dependent 1038 lib/pacemaker/pcmk_sched_promotable.c int new_priority = pe__add_scores(dependent->priority, dependent 1041 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_debug(dependent, "Applying %s to %s", dependent 1042 lib/pacemaker/pcmk_sched_promotable.c constraint->id, dependent->id); dependent 1043 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_debug(dependent, "\t%s: %d->%d", dependent 1044 lib/pacemaker/pcmk_sched_promotable.c dependent->id, dependent->priority, new_priority); dependent 1045 lib/pacemaker/pcmk_sched_promotable.c dependent->priority = new_priority; dependent 57 lib/pacemaker/pcmk_sched_resource.c pe_resource_t *dependent = constraint->dependent; dependent 59 lib/pacemaker/pcmk_sched_resource.c if (dependent == orig_rsc) { dependent 63 lib/pacemaker/pcmk_sched_resource.c if (pe_rsc_is_clone(rsc) && !pe_rsc_is_clone(dependent)) { dependent 68 lib/pacemaker/pcmk_sched_resource.c (pcmk__colocation_affects(dependent, rsc, constraint, dependent 71 lib/pacemaker/pcmk_sched_resource.c colocated_rscs = dependent->cmds->colocated_resources(dependent, dependent 414 tools/crm_resource_runtime.c && !pcmk_is_set(cons->dependent->flags, pe_rsc_allocating)) { dependent 417 tools/crm_resource_runtime.c attr_name, attr_value, cons->dependent->id); dependent 418 tools/crm_resource_runtime.c cli_resource_update_attribute(cons->dependent, dependent 419 tools/crm_resource_runtime.c cons->dependent->id, NULL,