scheduler 446 daemons/execd/cts-exec-helper.c pcmk_scheduler_t *scheduler = NULL; scheduler 470 daemons/execd/cts-exec-helper.c scheduler = pe_new_working_set(); scheduler 471 daemons/execd/cts-exec-helper.c if (scheduler == NULL) { scheduler 475 daemons/execd/cts-exec-helper.c pe__set_working_set_flags(scheduler, scheduler 477 daemons/execd/cts-exec-helper.c scheduler->input = cib_xml_copy; scheduler 478 daemons/execd/cts-exec-helper.c scheduler->now = crm_time_new(NULL); scheduler 479 daemons/execd/cts-exec-helper.c cluster_status(scheduler); scheduler 482 daemons/execd/cts-exec-helper.c rsc = pe_find_resource_with_flags(scheduler->resources, options.rsc_id, scheduler 487 daemons/execd/cts-exec-helper.c pe_free_working_set(scheduler); scheduler 492 daemons/execd/cts-exec-helper.c params = pe_rsc_params(rsc, NULL, scheduler); scheduler 503 daemons/execd/cts-exec-helper.c get_meta_attributes(meta, rsc, NULL, scheduler); scheduler 514 daemons/execd/cts-exec-helper.c pe_free_working_set(scheduler); scheduler 22 daemons/fenced/fenced_scheduler.c static pcmk_scheduler_t *scheduler = NULL; scheduler 40 daemons/fenced/fenced_scheduler.c scheduler = pe_new_working_set(); scheduler 41 daemons/fenced/fenced_scheduler.c if (scheduler == NULL) { scheduler 49 daemons/fenced/fenced_scheduler.c scheduler->priv = logger; scheduler 61 daemons/fenced/fenced_scheduler.c if (scheduler != NULL) { scheduler 62 daemons/fenced/fenced_scheduler.c pcmk__output_t *logger = scheduler->priv; scheduler 67 daemons/fenced/fenced_scheduler.c scheduler->priv = NULL; scheduler 69 daemons/fenced/fenced_scheduler.c pe_free_working_set(scheduler); scheduler 70 daemons/fenced/fenced_scheduler.c scheduler = NULL; scheduler 182 daemons/fenced/fenced_scheduler.c get_meta_attributes(rsc->meta, rsc, node, scheduler); scheduler 185 daemons/fenced/fenced_scheduler.c g_hash_table_iter_init(&hash_iter, pe_rsc_params(rsc, node, scheduler)); scheduler 211 daemons/fenced/fenced_scheduler.c CRM_CHECK((cib != NULL) && (scheduler != NULL), return); scheduler 213 daemons/fenced/fenced_scheduler.c if (scheduler->now != NULL) { scheduler 214 daemons/fenced/fenced_scheduler.c crm_time_free(scheduler->now); scheduler 215 daemons/fenced/fenced_scheduler.c scheduler->now = NULL; scheduler 217 daemons/fenced/fenced_scheduler.c scheduler->localhost = stonith_our_uname; scheduler 220 daemons/fenced/fenced_scheduler.c |pcmk_sched_no_counts, scheduler); scheduler 221 daemons/fenced/fenced_scheduler.c g_list_foreach(scheduler->resources, register_if_fencing_device, NULL); scheduler 223 daemons/fenced/fenced_scheduler.c scheduler->input = NULL; // Wasn't a copy, so don't let API free it scheduler 224 daemons/fenced/fenced_scheduler.c pe_reset_working_set(scheduler); scheduler 28 daemons/schedulerd/schedulerd_messages.c pcmk_scheduler_t *scheduler = pe_new_working_set(); scheduler 30 daemons/schedulerd/schedulerd_messages.c CRM_ASSERT(scheduler != NULL); scheduler 38 daemons/schedulerd/schedulerd_messages.c scheduler->priv = logger_out; scheduler 39 daemons/schedulerd/schedulerd_messages.c return scheduler; scheduler 75 daemons/schedulerd/schedulerd_messages.c pcmk_scheduler_t *scheduler = init_working_set(); scheduler 84 daemons/schedulerd/schedulerd_messages.c scheduler->graph = create_xml_node(NULL, XML_TAG_GRAPH); scheduler 85 daemons/schedulerd/schedulerd_messages.c crm_xml_add_int(scheduler->graph, "transition_id", 0); scheduler 86 daemons/schedulerd/schedulerd_messages.c crm_xml_add_int(scheduler->graph, "cluster-delay", 0); scheduler 103 daemons/schedulerd/schedulerd_messages.c |pcmk_sched_show_utilization, scheduler); scheduler 115 daemons/schedulerd/schedulerd_messages.c value = pe_pref(scheduler->config_hash, series[series_id].param); scheduler 129 daemons/schedulerd/schedulerd_messages.c scheduler->input = NULL; scheduler 130 daemons/schedulerd/schedulerd_messages.c reply = create_reply(msg, scheduler->graph); scheduler 175 daemons/schedulerd/schedulerd_messages.c pe_free_working_set(scheduler); scheduler 275 include/crm/common/resources.h gboolean (*unpack)(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler); scheduler 303 include/crm/common/resources.h const char *name, pcmk_scheduler_t *scheduler); scheduler 24 include/crm/pengine/complex.h pcmk_scheduler_t *scheduler); scheduler 26 include/crm/pengine/complex.h pcmk_node_t *node, pcmk_scheduler_t *scheduler); scheduler 28 include/crm/pengine/complex.h const pcmk_node_t *node, pcmk_scheduler_t *scheduler); scheduler 52 include/crm/pengine/internal.h #define pe__set_working_set_flags(scheduler, flags_to_set) do { \ scheduler 53 include/crm/pengine/internal.h (scheduler)->flags = pcmk__set_flags_as(__func__, __LINE__, \ scheduler 55 include/crm/pengine/internal.h (scheduler)->flags, (flags_to_set), #flags_to_set); \ scheduler 58 include/crm/pengine/internal.h #define pe__clear_working_set_flags(scheduler, flags_to_clear) do { \ scheduler 59 include/crm/pengine/internal.h (scheduler)->flags = pcmk__clear_flags_as(__func__, __LINE__, \ scheduler 61 include/crm/pengine/internal.h (scheduler)->flags, (flags_to_clear), #flags_to_clear); \ scheduler 202 include/crm/pengine/internal.h bool pe_can_fence(const pcmk_scheduler_t *scheduler, const pcmk_node_t *node); scheduler 207 include/crm/pengine/internal.h const char *name, pcmk_scheduler_t *scheduler); scheduler 215 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler, gboolean failed); scheduler 217 include/crm/pengine/internal.h gboolean native_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler); scheduler 218 include/crm/pengine/internal.h gboolean group_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler); scheduler 219 include/crm/pengine/internal.h gboolean clone_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler); scheduler 220 include/crm/pengine/internal.h gboolean pe__unpack_bundle(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler); scheduler 301 include/crm/pengine/internal.h time_t get_effective_time(pcmk_scheduler_t *scheduler); scheduler 311 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 332 include/crm/pengine/internal.h pcmk_action_t *get_pseudo_op(const char *name, pcmk_scheduler_t *scheduler); scheduler 339 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 341 include/crm/pengine/internal.h #define pe__show_node_scores(level, rsc, text, nodes, scheduler) \ scheduler 343 include/crm/pengine/internal.h (level), (rsc), (text), (nodes), (scheduler)) scheduler 371 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 400 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 417 include/crm/pengine/internal.h const char *tag, pcmk_scheduler_t *scheduler); scheduler 430 include/crm/pengine/internal.h pcmk_ticket_t *ticket_new(const char *ticket_id, pcmk_scheduler_t *scheduler); scheduler 470 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 477 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 481 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 484 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 493 include/crm/pengine/internal.h void pe__clear_resource_flags_on_all(pcmk_scheduler_t *scheduler, scheduler 502 include/crm/pengine/internal.h void pe_fence_node(pcmk_scheduler_t *scheduler, pcmk_node_t *node, scheduler 506 include/crm/pengine/internal.h const char *score, pcmk_scheduler_t *scheduler); scheduler 548 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler, scheduler 558 include/crm/pengine/internal.h const pcmk_scheduler_t *scheduler); scheduler 561 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 562 include/crm/pengine/internal.h void pe__foreach_param_check(pcmk_scheduler_t *scheduler, scheduler 566 include/crm/pengine/internal.h void pe__free_param_checks(pcmk_scheduler_t *scheduler); scheduler 569 include/crm/pengine/internal.h void pe__update_recheck_time(time_t recheck, pcmk_scheduler_t *scheduler, scheduler 584 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 589 include/crm/pengine/internal.h GList *pe__rscs_with_tag(pcmk_scheduler_t *scheduler, const char *tag_name); scheduler 590 include/crm/pengine/internal.h GList *pe__unames_with_tag(pcmk_scheduler_t *scheduler, const char *tag_name); scheduler 591 include/crm/pengine/internal.h bool pe__rsc_has_tag(pcmk_scheduler_t *scheduler, const char *rsc, scheduler 593 include/crm/pengine/internal.h bool pe__uname_has_tag(pcmk_scheduler_t *scheduler, const char *node, scheduler 600 include/crm/pengine/internal.h GList * pe__build_node_name_list(pcmk_scheduler_t *scheduler, const char *s); scheduler 601 include/crm/pengine/internal.h GList * pe__build_rsc_list(pcmk_scheduler_t *scheduler, const char *s); scheduler 622 include/crm/pengine/internal.h pe__health_strategy(pcmk_scheduler_t *scheduler) scheduler 624 include/crm/pengine/internal.h return pcmk__parse_health_strategy(pe_pref(scheduler->config_hash, scheduler 629 include/crm/pengine/internal.h pe__health_score(const char *option, pcmk_scheduler_t *scheduler) scheduler 631 include/crm/pengine/internal.h return char2score(pe_pref(scheduler->config_hash, option)); scheduler 27 include/crm/pengine/remote_internal.h pcmk_resource_t *pe__resource_contains_guest_node(const pcmk_scheduler_t *scheduler, scheduler 29 include/crm/pengine/remote_internal.h void pe_foreach_guest_node(const pcmk_scheduler_t *scheduler, scheduler 32 include/crm/pengine/status.h gboolean cluster_status(pcmk_scheduler_t *scheduler); scheduler 34 include/crm/pengine/status.h void pe_free_working_set(pcmk_scheduler_t *scheduler); scheduler 35 include/crm/pengine/status.h void set_working_set_defaults(pcmk_scheduler_t *scheduler); scheduler 36 include/crm/pengine/status.h void cleanup_calculations(pcmk_scheduler_t *scheduler); scheduler 37 include/crm/pengine/status.h void pe_reset_working_set(pcmk_scheduler_t *scheduler); scheduler 46 include/crm/pengine/status.h pcmk_scheduler_t *scheduler); scheduler 211 include/pacemaker.h pcmk_scheduler_t *scheduler); scheduler 241 include/pacemaker.h int pcmk_simulate(xmlNodePtr *xml, pcmk_scheduler_t *scheduler, scheduler 33 include/pcmki/pcmki_scheduler.h void pcmk__unpack_constraints(pcmk_scheduler_t *scheduler); scheduler 36 include/pcmki/pcmki_scheduler.h pcmk_scheduler_t *scheduler); scheduler 36 include/pcmki/pcmki_simulate.h pcmk_scheduler_t *scheduler, const char *use_date); scheduler 48 include/pcmki/pcmki_simulate.h enum pcmk__graph_status pcmk__simulate_transition(pcmk_scheduler_t *scheduler, scheduler 83 include/pcmki/pcmki_simulate.h int pcmk__simulate(pcmk_scheduler_t *scheduler, pcmk__output_t *out, scheduler 42 include/pcmki/pcmki_status.h const pcmk_scheduler_t *scheduler); scheduler 287 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 349 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 355 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 376 lib/pacemaker/libpacemaker_private.h void pcmk__output_actions(pcmk_scheduler_t *scheduler); scheduler 383 lib/pacemaker/libpacemaker_private.h void pcmk__handle_rsc_config_changes(pcmk_scheduler_t *scheduler); scheduler 415 lib/pacemaker/libpacemaker_private.h void pcmk__create_graph(pcmk_scheduler_t *scheduler); scheduler 422 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 441 lib/pacemaker/libpacemaker_private.h void pcmk__inject_scheduler_input(pcmk_scheduler_t *scheduler, cib_t *cib, scheduler 453 lib/pacemaker/libpacemaker_private.h const pcmk_scheduler_t *scheduler); scheduler 456 lib/pacemaker/libpacemaker_private.h bool pcmk__valid_resource_or_tag(const pcmk_scheduler_t *scheduler, scheduler 462 lib/pacemaker/libpacemaker_private.h bool convert_rsc, const pcmk_scheduler_t *scheduler); scheduler 465 lib/pacemaker/libpacemaker_private.h void pcmk__create_internal_constraints(pcmk_scheduler_t *scheduler); scheduler 471 lib/pacemaker/libpacemaker_private.h void pcmk__unpack_location(xmlNode *xml_obj, pcmk_scheduler_t *scheduler); scheduler 479 lib/pacemaker/libpacemaker_private.h void pcmk__apply_locations(pcmk_scheduler_t *scheduler); scheduler 559 lib/pacemaker/libpacemaker_private.h void pcmk__unpack_colocation(xmlNode *xml_obj, pcmk_scheduler_t *scheduler); scheduler 648 lib/pacemaker/libpacemaker_private.h void pcmk__unpack_ordering(xmlNode *xml_obj, pcmk_scheduler_t *scheduler); scheduler 651 lib/pacemaker/libpacemaker_private.h void pcmk__disable_invalid_orderings(pcmk_scheduler_t *scheduler); scheduler 695 lib/pacemaker/libpacemaker_private.h void pcmk__unpack_rsc_ticket(xmlNode *xml_obj, pcmk_scheduler_t *scheduler); scheduler 737 lib/pacemaker/libpacemaker_private.h void pcmk__order_remote_connection_actions(pcmk_scheduler_t *scheduler); scheduler 852 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 1001 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 1058 lib/pacemaker/libpacemaker_private.h void pcmk__apply_node_health(pcmk_scheduler_t *scheduler); scheduler 1068 lib/pacemaker/libpacemaker_private.h void pcmk__set_assignment_methods(pcmk_scheduler_t *scheduler); scheduler 1076 lib/pacemaker/libpacemaker_private.h const pcmk_scheduler_t *scheduler); scheduler 1101 lib/pacemaker/libpacemaker_private.h void pcmk__sort_resources(pcmk_scheduler_t *scheduler); scheduler 1116 lib/pacemaker/libpacemaker_private.h void pcmk__order_probes(pcmk_scheduler_t *scheduler); scheduler 1122 lib/pacemaker/libpacemaker_private.h void pcmk__schedule_probes(pcmk_scheduler_t *scheduler); scheduler 1160 lib/pacemaker/libpacemaker_private.h void pcmk__show_node_capacities(const char *desc, pcmk_scheduler_t *scheduler); scheduler 80 lib/pacemaker/pcmk_graph_producer.c add_maintenance_nodes(xmlNode *xml, const pcmk_scheduler_t *scheduler) scheduler 88 lib/pacemaker/pcmk_graph_producer.c for (const GList *iter = scheduler->nodes; scheduler 116 lib/pacemaker/pcmk_graph_producer.c add_maintenance_update(pcmk_scheduler_t *scheduler) scheduler 120 lib/pacemaker/pcmk_graph_producer.c if (add_maintenance_nodes(NULL, scheduler) != 0) { scheduler 121 lib/pacemaker/pcmk_graph_producer.c action = get_pseudo_op(PCMK_ACTION_MAINTENANCE_NODES, scheduler); scheduler 396 lib/pacemaker/pcmk_graph_producer.c const pcmk_scheduler_t *scheduler) scheduler 402 lib/pacemaker/pcmk_graph_producer.c if ((action == NULL) || (scheduler == NULL)) { scheduler 487 lib/pacemaker/pcmk_graph_producer.c add_maintenance_nodes(action_xml, scheduler); scheduler 851 lib/pacemaker/pcmk_graph_producer.c create_graph_synapse(const pcmk_action_t *action, pcmk_scheduler_t *scheduler) scheduler 854 lib/pacemaker/pcmk_graph_producer.c xmlNode *syn = create_xml_node(scheduler->graph, "synapse"); scheduler 856 lib/pacemaker/pcmk_graph_producer.c crm_xml_add_int(syn, XML_ATTR_ID, scheduler->num_synapse); scheduler 857 lib/pacemaker/pcmk_graph_producer.c scheduler->num_synapse++; scheduler 891 lib/pacemaker/pcmk_graph_producer.c pcmk_scheduler_t *scheduler = (pcmk_scheduler_t *) user_data; scheduler 917 lib/pacemaker/pcmk_graph_producer.c syn = create_graph_synapse(action, scheduler); scheduler 921 lib/pacemaker/pcmk_graph_producer.c create_graph_action(set, action, false, scheduler); scheduler 930 lib/pacemaker/pcmk_graph_producer.c create_graph_action(input_xml, input->action, true, scheduler); scheduler 1002 lib/pacemaker/pcmk_graph_producer.c pcmk__create_graph(pcmk_scheduler_t *scheduler) scheduler 1011 lib/pacemaker/pcmk_graph_producer.c scheduler->graph = create_xml_node(NULL, XML_TAG_GRAPH); scheduler 1013 lib/pacemaker/pcmk_graph_producer.c value = pe_pref(scheduler->config_hash, "cluster-delay"); scheduler 1014 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "cluster-delay", value); scheduler 1016 lib/pacemaker/pcmk_graph_producer.c value = pe_pref(scheduler->config_hash, "stonith-timeout"); scheduler 1017 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "stonith-timeout", value); scheduler 1019 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "failed-stop-offset", "INFINITY"); scheduler 1021 lib/pacemaker/pcmk_graph_producer.c if (pcmk_is_set(scheduler->flags, pcmk_sched_start_failure_fatal)) { scheduler 1022 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "failed-start-offset", "INFINITY"); scheduler 1024 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "failed-start-offset", "1"); scheduler 1027 lib/pacemaker/pcmk_graph_producer.c value = pe_pref(scheduler->config_hash, "batch-limit"); scheduler 1028 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "batch-limit", value); scheduler 1030 lib/pacemaker/pcmk_graph_producer.c crm_xml_add_int(scheduler->graph, "transition_id", transition_id); scheduler 1032 lib/pacemaker/pcmk_graph_producer.c value = pe_pref(scheduler->config_hash, "migration-limit"); scheduler 1034 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "migration-limit", value); scheduler 1037 lib/pacemaker/pcmk_graph_producer.c if (scheduler->recheck_by > 0) { scheduler 1041 lib/pacemaker/pcmk_graph_producer.c (long long) scheduler->recheck_by); scheduler 1042 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "recheck-by", recheck_epoch); scheduler 1052 lib/pacemaker/pcmk_graph_producer.c for (iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 1060 lib/pacemaker/pcmk_graph_producer.c add_maintenance_update(scheduler); scheduler 1063 lib/pacemaker/pcmk_graph_producer.c for (iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 1077 lib/pacemaker/pcmk_graph_producer.c if (pcmk_is_set(scheduler->flags, pcmk_sched_quorate) scheduler 1078 lib/pacemaker/pcmk_graph_producer.c || (scheduler->no_quorum_policy == pcmk_no_quorum_ignore)) { scheduler 1092 lib/pacemaker/pcmk_graph_producer.c add_action_to_graph((gpointer) action, (gpointer) scheduler); scheduler 1095 lib/pacemaker/pcmk_graph_producer.c crm_log_xml_trace(scheduler->graph, "graph"); scheduler 559 lib/pacemaker/pcmk_injections.c const pcmk_scheduler_t *scheduler) scheduler 593 lib/pacemaker/pcmk_injections.c rsc = pe_find_resource(scheduler->resources, resource); scheduler 639 lib/pacemaker/pcmk_injections.c pcmk__inject_scheduler_input(pcmk_scheduler_t *scheduler, cib_t *cib, scheduler 645 lib/pacemaker/pcmk_injections.c pcmk__output_t *out = scheduler->priv; scheduler 760 lib/pacemaker/pcmk_injections.c inject_action(out, (const char *) iter->data, cib, scheduler); scheduler 1789 lib/pacemaker/pcmk_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1804 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "cluster-summary", scheduler, pcmkd_state, scheduler 1808 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "node-list", scheduler->nodes, unames, scheduler 1814 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "resource-list", scheduler, show_opts, scheduler 1820 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "node-attribute-list", scheduler, scheduler 1830 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "node-summary", scheduler, unames, scheduler 1837 lib/pacemaker/pcmk_output.c && (scheduler->failed != NULL) scheduler 1838 lib/pacemaker/pcmk_output.c && (scheduler->failed->children != NULL)) { scheduler 1840 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "failed-action-list", scheduler, unames, scheduler 1871 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "ticket-list", scheduler, scheduler 1877 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "ban-list", scheduler, prefix, resources, scheduler 1927 lib/pacemaker/pcmk_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1939 lib/pacemaker/pcmk_output.c out->message(out, "cluster-summary", scheduler, pcmkd_state, section_opts, scheduler 1944 lib/pacemaker/pcmk_output.c out->message(out, "node-list", scheduler->nodes, unames, resources, scheduler 1953 lib/pacemaker/pcmk_output.c out->message(out, "resource-list", scheduler, full_show_opts, scheduler 1959 lib/pacemaker/pcmk_output.c out->message(out, "node-attribute-list", scheduler, show_opts, false, scheduler 1968 lib/pacemaker/pcmk_output.c out->message(out, "node-summary", scheduler, unames, scheduler 1974 lib/pacemaker/pcmk_output.c && (scheduler->failed != NULL) scheduler 1975 lib/pacemaker/pcmk_output.c && (scheduler->failed->children != NULL)) { scheduler 1977 lib/pacemaker/pcmk_output.c out->message(out, "failed-action-list", scheduler, unames, resources, scheduler 1990 lib/pacemaker/pcmk_output.c out->message(out, "ticket-list", scheduler, false); scheduler 1995 lib/pacemaker/pcmk_output.c out->message(out, "ban-list", scheduler, prefix, resources, show_opts, scheduler 2009 lib/pacemaker/pcmk_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2022 lib/pacemaker/pcmk_output.c out->message(out, "cluster-summary", scheduler, pcmkd_state, section_opts, scheduler 2027 lib/pacemaker/pcmk_output.c out->message(out, "node-list", scheduler->nodes, unames, resources, scheduler 2033 lib/pacemaker/pcmk_output.c out->message(out, "resource-list", scheduler, show_opts, true, unames, scheduler 2039 lib/pacemaker/pcmk_output.c out->message(out, "node-attribute-list", scheduler, show_opts, false, scheduler 2048 lib/pacemaker/pcmk_output.c out->message(out, "node-summary", scheduler, unames, scheduler 2054 lib/pacemaker/pcmk_output.c && (scheduler->failed != NULL) scheduler 2055 lib/pacemaker/pcmk_output.c && (scheduler->failed->children != NULL)) { scheduler 2057 lib/pacemaker/pcmk_output.c out->message(out, "failed-action-list", scheduler, unames, resources, scheduler 2117 lib/pacemaker/pcmk_output.c out->message(out, "ticket-list", scheduler, false); scheduler 2122 lib/pacemaker/pcmk_output.c out->message(out, "ban-list", scheduler, prefix, resources, show_opts, scheduler 160 lib/pacemaker/pcmk_resource.c pcmk_scheduler_t *scheduler) scheduler 62 lib/pacemaker/pcmk_rule.c pcmk_scheduler_t **scheduler) scheduler 104 lib/pacemaker/pcmk_rule.c *scheduler = new_scheduler; scheduler 122 lib/pacemaker/pcmk_rule.c eval_rule(pcmk_scheduler_t *scheduler, const char *rule_id, const char **error) scheduler 134 lib/pacemaker/pcmk_rule.c cib_constraints = pcmk_find_cib_element(scheduler->input, scheduler 219 lib/pacemaker/pcmk_rule.c rc = eval_date_expression(match, scheduler->now); scheduler 248 lib/pacemaker/pcmk_rule.c pcmk_scheduler_t *scheduler = NULL; scheduler 258 lib/pacemaker/pcmk_rule.c rc = init_rule_check(out, input, date, &scheduler); scheduler 265 lib/pacemaker/pcmk_rule.c int last_rc = eval_rule(scheduler, *rule_id, &error); scheduler 274 lib/pacemaker/pcmk_rule.c pe_free_working_set(scheduler); scheduler 224 lib/pacemaker/pcmk_sched_actions.c pcmk_scheduler_t *scheduler) scheduler 227 lib/pacemaker/pcmk_sched_actions.c type, scheduler); scheduler 247 lib/pacemaker/pcmk_sched_actions.c pcmk_scheduler_t *scheduler) scheduler 279 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 297 lib/pacemaker/pcmk_sched_actions.c pcmk__ar_intermediate_stop, scheduler); scheduler 308 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 325 lib/pacemaker/pcmk_sched_actions.c pcmk__ar_promoted_then_implies_first, scheduler); scheduler 337 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 371 lib/pacemaker/pcmk_sched_actions.c pcmk__ar_unrunnable_first_blocks, scheduler); scheduler 383 lib/pacemaker/pcmk_sched_actions.c pcmk__ar_unrunnable_first_blocks, scheduler); scheduler 401 lib/pacemaker/pcmk_sched_actions.c pcmk__ar_unmigratable_then_blocks, scheduler); scheduler 413 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 424 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 435 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 506 lib/pacemaker/pcmk_sched_actions.c pcmk_scheduler_t *scheduler) scheduler 623 lib/pacemaker/pcmk_sched_actions.c other, scheduler); scheduler 648 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(other->action, scheduler); scheduler 650 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(first, scheduler); scheduler 669 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(then, scheduler); scheduler 673 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(other->action, scheduler); scheduler 843 lib/pacemaker/pcmk_sched_actions.c pcmk_scheduler_t *scheduler) scheduler 849 lib/pacemaker/pcmk_sched_actions.c CRM_ASSERT((first != NULL) && (then != NULL) && (scheduler != NULL)); scheduler 939 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(then, scheduler); scheduler 1393 lib/pacemaker/pcmk_sched_actions.c pcmk__output_actions(pcmk_scheduler_t *scheduler) scheduler 1395 lib/pacemaker/pcmk_sched_actions.c pcmk__output_t *out = scheduler->priv; scheduler 1398 lib/pacemaker/pcmk_sched_actions.c for (GList *iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 1442 lib/pacemaker/pcmk_sched_actions.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 1492 lib/pacemaker/pcmk_sched_actions.c const pcmk_scheduler_t *scheduler) scheduler 1496 lib/pacemaker/pcmk_sched_actions.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_sanitized)) { scheduler 1893 lib/pacemaker/pcmk_sched_actions.c pcmk__handle_rsc_config_changes(pcmk_scheduler_t *scheduler) scheduler 1901 lib/pacemaker/pcmk_sched_actions.c for (GList *iter = scheduler->nodes; iter != NULL; iter = iter->next) { scheduler 1915 lib/pacemaker/pcmk_sched_actions.c history = get_xpath_object(xpath, scheduler->input, LOG_NEVER); scheduler 441 lib/pacemaker/pcmk_sched_colocation.c const char *influence_s, pcmk_scheduler_t *scheduler) scheduler 487 lib/pacemaker/pcmk_sched_colocation.c resource = pcmk__find_constraint_resource(scheduler->resources, scheduler 525 lib/pacemaker/pcmk_sched_colocation.c resource = pcmk__find_constraint_resource(scheduler->resources, scheduler 543 lib/pacemaker/pcmk_sched_colocation.c other = pcmk__find_constraint_resource(scheduler->resources, scheduler 567 lib/pacemaker/pcmk_sched_colocation.c pcmk_scheduler_t *scheduler) scheduler 593 lib/pacemaker/pcmk_sched_colocation.c rsc_1 = pcmk__find_constraint_resource(scheduler->resources, scheduler 613 lib/pacemaker/pcmk_sched_colocation.c rsc_2 = pcmk__find_constraint_resource(scheduler->resources, scheduler 635 lib/pacemaker/pcmk_sched_colocation.c rsc_2 = pcmk__find_constraint_resource(scheduler->resources, scheduler 653 lib/pacemaker/pcmk_sched_colocation.c rsc_1 = pcmk__find_constraint_resource(scheduler->resources, scheduler 675 lib/pacemaker/pcmk_sched_colocation.c rsc_1 = pcmk__find_constraint_resource(scheduler->resources, scheduler 692 lib/pacemaker/pcmk_sched_colocation.c rsc_2 = pcmk__find_constraint_resource(scheduler->resources, scheduler 711 lib/pacemaker/pcmk_sched_colocation.c const char *influence_s, pcmk_scheduler_t *scheduler) scheduler 731 lib/pacemaker/pcmk_sched_colocation.c primary = pcmk__find_constraint_resource(scheduler->resources, primary_id); scheduler 732 lib/pacemaker/pcmk_sched_colocation.c dependent = pcmk__find_constraint_resource(scheduler->resources, scheduler 812 lib/pacemaker/pcmk_sched_colocation.c pcmk_scheduler_t *scheduler) scheduler 842 lib/pacemaker/pcmk_sched_colocation.c *expanded_xml = pcmk__expand_tags_in_sets(xml_obj, scheduler); scheduler 854 lib/pacemaker/pcmk_sched_colocation.c if (!pcmk__valid_resource_or_tag(scheduler, dependent_id, &dependent, scheduler 861 lib/pacemaker/pcmk_sched_colocation.c if (!pcmk__valid_resource_or_tag(scheduler, primary_id, &primary, scheduler 887 lib/pacemaker/pcmk_sched_colocation.c true, scheduler)) { scheduler 904 lib/pacemaker/pcmk_sched_colocation.c true, scheduler)) { scheduler 937 lib/pacemaker/pcmk_sched_colocation.c pcmk__unpack_colocation(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 957 lib/pacemaker/pcmk_sched_colocation.c scheduler) != pcmk_rc_ok) { scheduler 974 lib/pacemaker/pcmk_sched_colocation.c set = expand_idref(set, scheduler->input); scheduler 987 lib/pacemaker/pcmk_sched_colocation.c unpack_colocation_set(set, score_i, id, influence_s, scheduler); scheduler 990 lib/pacemaker/pcmk_sched_colocation.c colocate_rsc_sets(id, last, set, score_i, influence_s, scheduler); scheduler 1001 lib/pacemaker/pcmk_sched_colocation.c unpack_simple_colocation(xml_obj, id, influence_s, scheduler); scheduler 31 lib/pacemaker/pcmk_sched_constraints.c evaluate_lifetime(xmlNode *lifetime, pcmk_scheduler_t *scheduler) scheduler 36 lib/pacemaker/pcmk_sched_constraints.c result = pe_evaluate_rules(lifetime, NULL, scheduler->now, next_change); scheduler 40 lib/pacemaker/pcmk_sched_constraints.c pe__update_recheck_time(recheck, scheduler, "constraint lifetime"); scheduler 56 lib/pacemaker/pcmk_sched_constraints.c pcmk__unpack_constraints(pcmk_scheduler_t *scheduler) scheduler 58 lib/pacemaker/pcmk_sched_constraints.c xmlNode *xml_constraints = pcmk_find_cib_element(scheduler->input, scheduler 84 lib/pacemaker/pcmk_sched_constraints.c if ((lifetime != NULL) && !evaluate_lifetime(lifetime, scheduler)) { scheduler 88 lib/pacemaker/pcmk_sched_constraints.c pcmk__unpack_ordering(xml_obj, scheduler); scheduler 91 lib/pacemaker/pcmk_sched_constraints.c pcmk__unpack_colocation(xml_obj, scheduler); scheduler 95 lib/pacemaker/pcmk_sched_constraints.c pcmk__unpack_location(xml_obj, scheduler); scheduler 98 lib/pacemaker/pcmk_sched_constraints.c pcmk__unpack_rsc_ticket(xml_obj, scheduler); scheduler 142 lib/pacemaker/pcmk_sched_constraints.c find_constraint_tag(const pcmk_scheduler_t *scheduler, const char *id, scheduler 148 lib/pacemaker/pcmk_sched_constraints.c if (g_hash_table_lookup_extended(scheduler->template_rsc_sets, id, scheduler 158 lib/pacemaker/pcmk_sched_constraints.c if (g_hash_table_lookup_extended(scheduler->tags, id, scheduler 185 lib/pacemaker/pcmk_sched_constraints.c pcmk__valid_resource_or_tag(const pcmk_scheduler_t *scheduler, const char *id, scheduler 189 lib/pacemaker/pcmk_sched_constraints.c *rsc = pcmk__find_constraint_resource(scheduler->resources, id); scheduler 195 lib/pacemaker/pcmk_sched_constraints.c if ((tag != NULL) && find_constraint_tag(scheduler, id, tag)) { scheduler 217 lib/pacemaker/pcmk_sched_constraints.c pcmk__expand_tags_in_sets(xmlNode *xml_obj, const pcmk_scheduler_t *scheduler) scheduler 241 lib/pacemaker/pcmk_sched_constraints.c if (!pcmk__valid_resource_or_tag(scheduler, ID(xml_rsc), &rsc, scheduler 336 lib/pacemaker/pcmk_sched_constraints.c bool convert_rsc, const pcmk_scheduler_t *scheduler) scheduler 360 lib/pacemaker/pcmk_sched_constraints.c if (!pcmk__valid_resource_or_tag(scheduler, id, &rsc, &tag)) { scheduler 416 lib/pacemaker/pcmk_sched_constraints.c pcmk__create_internal_constraints(pcmk_scheduler_t *scheduler) scheduler 419 lib/pacemaker/pcmk_sched_constraints.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 288 lib/pacemaker/pcmk_sched_fencing.c pcmk__order_vs_fence(pcmk_action_t *stonith_op, pcmk_scheduler_t *scheduler) scheduler 290 lib/pacemaker/pcmk_sched_fencing.c CRM_CHECK(stonith_op && scheduler, return); scheduler 291 lib/pacemaker/pcmk_sched_fencing.c for (GList *r = scheduler->resources; r != NULL; r = r->next) { scheduler 573 lib/pacemaker/pcmk_sched_group.c pcmk_scheduler_t *scheduler) scheduler 579 lib/pacemaker/pcmk_sched_group.c && (scheduler != NULL)); scheduler 583 lib/pacemaker/pcmk_sched_group.c type, scheduler); scheduler 596 lib/pacemaker/pcmk_sched_group.c scheduler); scheduler 1571 lib/pacemaker/pcmk_sched_instances.c pcmk_scheduler_t *scheduler) scheduler 1573 lib/pacemaker/pcmk_sched_instances.c CRM_ASSERT((first != NULL) && (then != NULL) && (scheduler != NULL)); scheduler 1587 lib/pacemaker/pcmk_sched_instances.c filter, type, scheduler); scheduler 291 lib/pacemaker/pcmk_sched_location.c unpack_simple_location(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 299 lib/pacemaker/pcmk_sched_location.c rsc = pcmk__find_constraint_resource(scheduler->resources, value); scheduler 321 lib/pacemaker/pcmk_sched_location.c for (GList *iter = scheduler->resources; iter != NULL; scheduler 368 lib/pacemaker/pcmk_sched_location.c pcmk_scheduler_t *scheduler) scheduler 389 lib/pacemaker/pcmk_sched_location.c *expanded_xml = pcmk__expand_tags_in_sets(xml_obj, scheduler); scheduler 400 lib/pacemaker/pcmk_sched_location.c if (!pcmk__valid_resource_or_tag(scheduler, rsc_id, &rsc, &tag)) { scheduler 416 lib/pacemaker/pcmk_sched_location.c false, scheduler)) { scheduler 442 lib/pacemaker/pcmk_sched_location.c pcmk_scheduler_t *scheduler) scheduler 466 lib/pacemaker/pcmk_sched_location.c resource = pcmk__find_constraint_resource(scheduler->resources, scheduler 481 lib/pacemaker/pcmk_sched_location.c pcmk__unpack_location(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 489 lib/pacemaker/pcmk_sched_location.c if (unpack_location_tags(xml_obj, &expanded_xml, scheduler) != pcmk_rc_ok) { scheduler 502 lib/pacemaker/pcmk_sched_location.c set = expand_idref(set, scheduler->input); scheduler 504 lib/pacemaker/pcmk_sched_location.c || (unpack_location_set(xml_obj, set, scheduler) != pcmk_rc_ok)) { scheduler 519 lib/pacemaker/pcmk_sched_location.c unpack_simple_location(xml_obj, scheduler); scheduler 600 lib/pacemaker/pcmk_sched_location.c pcmk__apply_locations(pcmk_scheduler_t *scheduler) scheduler 602 lib/pacemaker/pcmk_sched_location.c for (GList *iter = scheduler->placement_constraints; scheduler 359 lib/pacemaker/pcmk_sched_nodes.c pcmk__apply_node_health(pcmk_scheduler_t *scheduler) scheduler 363 lib/pacemaker/pcmk_sched_nodes.c const char *strategy_str = pe_pref(scheduler->config_hash, scheduler 374 lib/pacemaker/pcmk_sched_nodes.c base_health = pe__health_score(PCMK__OPT_NODE_HEALTH_BASE, scheduler); scheduler 377 lib/pacemaker/pcmk_sched_nodes.c for (GList *iter = scheduler->nodes; iter != NULL; iter = iter->next) { scheduler 389 lib/pacemaker/pcmk_sched_nodes.c for (GList *r = scheduler->resources; r != NULL; r = r->next) { scheduler 33 lib/pacemaker/pcmk_sched_ordering.c __rsc = pcmk__find_constraint_resource(scheduler->resources, \ scheduler 237 lib/pacemaker/pcmk_sched_ordering.c const pcmk_scheduler_t *scheduler) scheduler 250 lib/pacemaker/pcmk_sched_ordering.c rsc = pcmk__find_constraint_resource(scheduler->resources, rsc_id); scheduler 423 lib/pacemaker/pcmk_sched_ordering.c unpack_simple_rsc_order(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 447 lib/pacemaker/pcmk_sched_ordering.c scheduler); scheduler 454 lib/pacemaker/pcmk_sched_ordering.c scheduler); scheduler 594 lib/pacemaker/pcmk_sched_ordering.c const char *parent_symmetrical_s, pcmk_scheduler_t *scheduler) scheduler 656 lib/pacemaker/pcmk_sched_ordering.c then_key, NULL, flags, scheduler); scheduler 712 lib/pacemaker/pcmk_sched_ordering.c enum pe_order_kind kind, pcmk_scheduler_t *scheduler, scheduler 761 lib/pacemaker/pcmk_sched_ordering.c pcmk_action_t *unordered_action = get_pseudo_op(task, scheduler); scheduler 779 lib/pacemaker/pcmk_sched_ordering.c scheduler); scheduler 793 lib/pacemaker/pcmk_sched_ordering.c scheduler); scheduler 895 lib/pacemaker/pcmk_sched_ordering.c const pcmk_scheduler_t *scheduler) scheduler 912 lib/pacemaker/pcmk_sched_ordering.c *expanded_xml = pcmk__expand_tags_in_sets(xml_obj, scheduler); scheduler 924 lib/pacemaker/pcmk_sched_ordering.c if (!pcmk__valid_resource_or_tag(scheduler, id_first, &rsc_first, scheduler 931 lib/pacemaker/pcmk_sched_ordering.c if (!pcmk__valid_resource_or_tag(scheduler, id_then, &rsc_then, scheduler 950 lib/pacemaker/pcmk_sched_ordering.c true, scheduler)) { scheduler 967 lib/pacemaker/pcmk_sched_ordering.c true, scheduler)) { scheduler 1000 lib/pacemaker/pcmk_sched_ordering.c pcmk__unpack_ordering(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 1016 lib/pacemaker/pcmk_sched_ordering.c if (unpack_order_tags(xml_obj, &expanded_xml, scheduler) != pcmk_rc_ok) { scheduler 1028 lib/pacemaker/pcmk_sched_ordering.c set = expand_idref(set, scheduler->input); scheduler 1030 lib/pacemaker/pcmk_sched_ordering.c || (unpack_order_set(set, kind, invert, scheduler) != pcmk_rc_ok)) { scheduler 1040 lib/pacemaker/pcmk_sched_ordering.c if (order_rsc_sets(id, last, set, kind, scheduler, scheduler 1049 lib/pacemaker/pcmk_sched_ordering.c && (order_rsc_sets(id, set, last, kind, scheduler, scheduler 1068 lib/pacemaker/pcmk_sched_ordering.c return unpack_simple_rsc_order(xml_obj, scheduler); scheduler 1105 lib/pacemaker/pcmk_sched_ordering.c pcmk__disable_invalid_orderings(pcmk_scheduler_t *scheduler) scheduler 1107 lib/pacemaker/pcmk_sched_ordering.c for (GList *iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 341 lib/pacemaker/pcmk_sched_probes.c add_probe_orderings_for_stops(pcmk_scheduler_t *scheduler) scheduler 343 lib/pacemaker/pcmk_sched_probes.c for (GList *iter = scheduler->ordering_constraints; iter != NULL; scheduler 671 lib/pacemaker/pcmk_sched_probes.c clear_actions_tracking_flag(pcmk_scheduler_t *scheduler) scheduler 673 lib/pacemaker/pcmk_sched_probes.c for (GList *iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 730 lib/pacemaker/pcmk_sched_probes.c order_then_probes(pcmk_scheduler_t *scheduler) scheduler 762 lib/pacemaker/pcmk_sched_probes.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 842 lib/pacemaker/pcmk_sched_probes.c pcmk__order_probes(pcmk_scheduler_t *scheduler) scheduler 845 lib/pacemaker/pcmk_sched_probes.c g_list_foreach(scheduler->resources, add_start_restart_orderings_for_rsc, scheduler 847 lib/pacemaker/pcmk_sched_probes.c add_probe_orderings_for_stops(scheduler); scheduler 849 lib/pacemaker/pcmk_sched_probes.c order_then_probes(scheduler); scheduler 861 lib/pacemaker/pcmk_sched_probes.c pcmk__schedule_probes(pcmk_scheduler_t *scheduler) scheduler 864 lib/pacemaker/pcmk_sched_probes.c for (GList *iter = scheduler->nodes; iter != NULL; iter = iter->next) { scheduler 870 lib/pacemaker/pcmk_sched_probes.c pe_fence_node(scheduler, node, scheduler 895 lib/pacemaker/pcmk_sched_probes.c CRM_OP_REPROBE, node, FALSE, scheduler); scheduler 902 lib/pacemaker/pcmk_sched_probes.c pcmk__probe_resource_list(scheduler->resources, node); scheduler 399 lib/pacemaker/pcmk_sched_remote.c pcmk__order_remote_connection_actions(pcmk_scheduler_t *scheduler) scheduler 401 lib/pacemaker/pcmk_sched_remote.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_have_remote_nodes)) { scheduler 407 lib/pacemaker/pcmk_sched_remote.c for (GList *iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 427 lib/pacemaker/pcmk_sched_remote.c NULL, pcmk__ar_ordered, scheduler); scheduler 472 lib/pacemaker/pcmk_sched_remote.c pcmk__ar_ordered, scheduler); scheduler 183 lib/pacemaker/pcmk_sched_resource.c pcmk__rscs_matching_id(const char *id, const pcmk_scheduler_t *scheduler) scheduler 187 lib/pacemaker/pcmk_sched_resource.c CRM_CHECK((id != NULL) && (scheduler != NULL), return NULL); scheduler 188 lib/pacemaker/pcmk_sched_resource.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 218 lib/pacemaker/pcmk_sched_resource.c pcmk__set_assignment_methods(pcmk_scheduler_t *scheduler) scheduler 220 lib/pacemaker/pcmk_sched_resource.c g_list_foreach(scheduler->resources, set_assignment_methods_for_rsc, NULL); scheduler 765 lib/pacemaker/pcmk_sched_resource.c pcmk__sort_resources(pcmk_scheduler_t *scheduler) scheduler 767 lib/pacemaker/pcmk_sched_resource.c GList *nodes = g_list_copy(scheduler->nodes); scheduler 770 lib/pacemaker/pcmk_sched_resource.c scheduler->resources = g_list_sort_with_data(scheduler->resources, scheduler 238 lib/pacemaker/pcmk_sched_tickets.c const char *loss_policy, pcmk_scheduler_t *scheduler) scheduler 260 lib/pacemaker/pcmk_sched_tickets.c resource = pcmk__find_constraint_resource(scheduler->resources, scheduler 276 lib/pacemaker/pcmk_sched_tickets.c unpack_simple_rsc_ticket(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 315 lib/pacemaker/pcmk_sched_tickets.c ticket = g_hash_table_lookup(scheduler->tickets, ticket_str); scheduler 328 lib/pacemaker/pcmk_sched_tickets.c rsc = pcmk__find_constraint_resource(scheduler->resources, rsc_id); scheduler 359 lib/pacemaker/pcmk_sched_tickets.c pcmk_scheduler_t *scheduler) scheduler 382 lib/pacemaker/pcmk_sched_tickets.c *expanded_xml = pcmk__expand_tags_in_sets(xml_obj, scheduler); scheduler 393 lib/pacemaker/pcmk_sched_tickets.c if (!pcmk__valid_resource_or_tag(scheduler, rsc_id, &rsc, &tag)) { scheduler 409 lib/pacemaker/pcmk_sched_tickets.c false, scheduler)) { scheduler 431 lib/pacemaker/pcmk_sched_tickets.c pcmk__unpack_rsc_ticket(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 453 lib/pacemaker/pcmk_sched_tickets.c if (scheduler->tickets == NULL) { scheduler 454 lib/pacemaker/pcmk_sched_tickets.c scheduler->tickets = pcmk__strkey_table(free, destroy_ticket); scheduler 462 lib/pacemaker/pcmk_sched_tickets.c ticket = g_hash_table_lookup(scheduler->tickets, ticket_str); scheduler 466 lib/pacemaker/pcmk_sched_tickets.c ticket = ticket_new(ticket_str, scheduler); scheduler 473 lib/pacemaker/pcmk_sched_tickets.c scheduler) != pcmk_rc_ok) { scheduler 487 lib/pacemaker/pcmk_sched_tickets.c set = expand_idref(set, scheduler->input); scheduler 492 lib/pacemaker/pcmk_sched_tickets.c scheduler) != pcmk_rc_ok)) { scheduler 506 lib/pacemaker/pcmk_sched_tickets.c unpack_simple_rsc_ticket(xml_obj, scheduler); scheduler 455 lib/pacemaker/pcmk_sched_utilization.c pcmk__show_node_capacities(const char *desc, pcmk_scheduler_t *scheduler) scheduler 457 lib/pacemaker/pcmk_sched_utilization.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_show_utilization)) { scheduler 460 lib/pacemaker/pcmk_sched_utilization.c for (const GList *iter = scheduler->nodes; scheduler 463 lib/pacemaker/pcmk_sched_utilization.c pcmk__output_t *out = scheduler->priv; scheduler 232 lib/pacemaker/pcmk_scheduler.c apply_shutdown_locks(pcmk_scheduler_t *scheduler) scheduler 234 lib/pacemaker/pcmk_scheduler.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_shutdown_lock)) { scheduler 237 lib/pacemaker/pcmk_scheduler.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 251 lib/pacemaker/pcmk_scheduler.c count_available_nodes(pcmk_scheduler_t *scheduler) scheduler 253 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_no_compat)) { scheduler 258 lib/pacemaker/pcmk_scheduler.c for (GList *iter = scheduler->nodes; iter != NULL; iter = iter->next) { scheduler 263 lib/pacemaker/pcmk_scheduler.c scheduler->max_valid_nodes++; scheduler 266 lib/pacemaker/pcmk_scheduler.c crm_trace("Online node count: %d", scheduler->max_valid_nodes); scheduler 278 lib/pacemaker/pcmk_scheduler.c apply_node_criteria(pcmk_scheduler_t *scheduler) scheduler 281 lib/pacemaker/pcmk_scheduler.c apply_shutdown_locks(scheduler); scheduler 282 lib/pacemaker/pcmk_scheduler.c count_available_nodes(scheduler); scheduler 283 lib/pacemaker/pcmk_scheduler.c pcmk__apply_locations(scheduler); scheduler 284 lib/pacemaker/pcmk_scheduler.c g_list_foreach(scheduler->resources, apply_stickiness, NULL); scheduler 286 lib/pacemaker/pcmk_scheduler.c for (GList *node_iter = scheduler->nodes; node_iter != NULL; scheduler 288 lib/pacemaker/pcmk_scheduler.c for (GList *rsc_iter = scheduler->resources; rsc_iter != NULL; scheduler 303 lib/pacemaker/pcmk_scheduler.c assign_resources(pcmk_scheduler_t *scheduler) scheduler 309 lib/pacemaker/pcmk_scheduler.c if (!pcmk__str_eq(scheduler->placement_strategy, "default", scheduler 311 lib/pacemaker/pcmk_scheduler.c pcmk__sort_resources(scheduler); scheduler 313 lib/pacemaker/pcmk_scheduler.c pcmk__show_node_capacities("Original", scheduler); scheduler 315 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_have_remote_nodes)) { scheduler 320 lib/pacemaker/pcmk_scheduler.c for (iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 332 lib/pacemaker/pcmk_scheduler.c for (iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 342 lib/pacemaker/pcmk_scheduler.c pcmk__show_node_capacities("Remaining", scheduler); scheduler 395 lib/pacemaker/pcmk_scheduler.c schedule_resource_actions(pcmk_scheduler_t *scheduler) scheduler 398 lib/pacemaker/pcmk_scheduler.c pe__foreach_param_check(scheduler, check_params); scheduler 399 lib/pacemaker/pcmk_scheduler.c pe__free_param_checks(scheduler); scheduler 401 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_probe_resources)) { scheduler 403 lib/pacemaker/pcmk_scheduler.c pcmk__schedule_probes(scheduler); scheduler 406 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_stop_removed_resources)) { scheduler 407 lib/pacemaker/pcmk_scheduler.c g_list_foreach(scheduler->resources, clear_failcounts_if_orphaned, scheduler 412 lib/pacemaker/pcmk_scheduler.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 450 lib/pacemaker/pcmk_scheduler.c any_managed_resources(const pcmk_scheduler_t *scheduler) scheduler 452 lib/pacemaker/pcmk_scheduler.c for (const GList *iter = scheduler->resources; scheduler 509 lib/pacemaker/pcmk_scheduler.c const pcmk_scheduler_t *scheduler) scheduler 511 lib/pacemaker/pcmk_scheduler.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_concurrent_fencing) scheduler 547 lib/pacemaker/pcmk_scheduler.c schedule_fencing_and_shutdowns(pcmk_scheduler_t *scheduler) scheduler 551 lib/pacemaker/pcmk_scheduler.c bool have_managed = any_managed_resources(scheduler); scheduler 562 lib/pacemaker/pcmk_scheduler.c for (GList *iter = scheduler->nodes; iter != NULL; iter = iter->next) { scheduler 571 lib/pacemaker/pcmk_scheduler.c && pe_can_fence(scheduler, node)) { scheduler 585 lib/pacemaker/pcmk_scheduler.c scheduler); scheduler 607 lib/pacemaker/pcmk_scheduler.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 612 lib/pacemaker/pcmk_scheduler.c } else if (!pcmk_is_set(scheduler->flags, pcmk_sched_quorate)) { scheduler 633 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_concurrent_fencing)) { scheduler 653 lib/pacemaker/pcmk_scheduler.c log_resource_details(pcmk_scheduler_t *scheduler) scheduler 655 lib/pacemaker/pcmk_scheduler.c pcmk__output_t *out = scheduler->priv; scheduler 664 lib/pacemaker/pcmk_scheduler.c for (GList *item = scheduler->resources; item != NULL; item = item->next) { scheduler 678 lib/pacemaker/pcmk_scheduler.c log_all_actions(pcmk_scheduler_t *scheduler) scheduler 683 lib/pacemaker/pcmk_scheduler.c pcmk__output_t *prev_out = scheduler->priv; scheduler 693 lib/pacemaker/pcmk_scheduler.c scheduler->priv = out; scheduler 696 lib/pacemaker/pcmk_scheduler.c pcmk__output_actions(scheduler); scheduler 701 lib/pacemaker/pcmk_scheduler.c scheduler->priv = prev_out; scheduler 711 lib/pacemaker/pcmk_scheduler.c log_unrunnable_actions(const pcmk_scheduler_t *scheduler) scheduler 718 lib/pacemaker/pcmk_scheduler.c for (const GList *iter = scheduler->actions; scheduler 738 lib/pacemaker/pcmk_scheduler.c unpack_cib(xmlNode *cib, unsigned long long flags, pcmk_scheduler_t *scheduler) scheduler 742 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_have_status)) { scheduler 744 lib/pacemaker/pcmk_scheduler.c pe__set_working_set_flags(scheduler, flags); scheduler 748 lib/pacemaker/pcmk_scheduler.c if (scheduler->localhost) { scheduler 749 lib/pacemaker/pcmk_scheduler.c localhost_save = scheduler->localhost; scheduler 760 lib/pacemaker/pcmk_scheduler.c set_working_set_defaults(scheduler); scheduler 763 lib/pacemaker/pcmk_scheduler.c scheduler->localhost = localhost_save; scheduler 766 lib/pacemaker/pcmk_scheduler.c pe__set_working_set_flags(scheduler, flags); scheduler 767 lib/pacemaker/pcmk_scheduler.c scheduler->input = cib; scheduler 768 lib/pacemaker/pcmk_scheduler.c cluster_status(scheduler); // Sets pcmk_sched_have_status scheduler 781 lib/pacemaker/pcmk_scheduler.c pcmk_scheduler_t *scheduler) scheduler 783 lib/pacemaker/pcmk_scheduler.c unpack_cib(cib, flags, scheduler); scheduler 784 lib/pacemaker/pcmk_scheduler.c pcmk__set_assignment_methods(scheduler); scheduler 785 lib/pacemaker/pcmk_scheduler.c pcmk__apply_node_health(scheduler); scheduler 786 lib/pacemaker/pcmk_scheduler.c pcmk__unpack_constraints(scheduler); scheduler 787 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_validate_only)) { scheduler 791 lib/pacemaker/pcmk_scheduler.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_location_only) scheduler 793 lib/pacemaker/pcmk_scheduler.c log_resource_details(scheduler); scheduler 796 lib/pacemaker/pcmk_scheduler.c apply_node_criteria(scheduler); scheduler 798 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_location_only)) { scheduler 802 lib/pacemaker/pcmk_scheduler.c pcmk__create_internal_constraints(scheduler); scheduler 803 lib/pacemaker/pcmk_scheduler.c pcmk__handle_rsc_config_changes(scheduler); scheduler 804 lib/pacemaker/pcmk_scheduler.c assign_resources(scheduler); scheduler 805 lib/pacemaker/pcmk_scheduler.c schedule_resource_actions(scheduler); scheduler 810 lib/pacemaker/pcmk_scheduler.c pcmk__order_remote_connection_actions(scheduler); scheduler 812 lib/pacemaker/pcmk_scheduler.c schedule_fencing_and_shutdowns(scheduler); scheduler 813 lib/pacemaker/pcmk_scheduler.c pcmk__apply_orderings(scheduler); scheduler 814 lib/pacemaker/pcmk_scheduler.c log_all_actions(scheduler); scheduler 815 lib/pacemaker/pcmk_scheduler.c pcmk__create_graph(scheduler); scheduler 818 lib/pacemaker/pcmk_scheduler.c log_unrunnable_actions(scheduler); scheduler 30 lib/pacemaker/pcmk_simulate.c static void set_effective_date(pcmk_scheduler_t *scheduler, bool print_original, scheduler 138 lib/pacemaker/pcmk_simulate.c print_cluster_status(pcmk_scheduler_t *scheduler, uint32_t show_opts, scheduler 142 lib/pacemaker/pcmk_simulate.c pcmk__output_t *out = scheduler->priv; scheduler 155 lib/pacemaker/pcmk_simulate.c scheduler, state, stonith_rc, NULL, scheduler 170 lib/pacemaker/pcmk_simulate.c print_transition_summary(pcmk_scheduler_t *scheduler, bool print_spacer) scheduler 172 lib/pacemaker/pcmk_simulate.c pcmk__output_t *out = scheduler->priv; scheduler 176 lib/pacemaker/pcmk_simulate.c pcmk__output_actions(scheduler); scheduler 191 lib/pacemaker/pcmk_simulate.c reset(pcmk_scheduler_t *scheduler, xmlNodePtr input, pcmk__output_t *out, scheduler 194 lib/pacemaker/pcmk_simulate.c scheduler->input = input; scheduler 195 lib/pacemaker/pcmk_simulate.c scheduler->priv = out; scheduler 196 lib/pacemaker/pcmk_simulate.c set_effective_date(scheduler, true, use_date); scheduler 198 lib/pacemaker/pcmk_simulate.c pe__set_working_set_flags(scheduler, pcmk_sched_sanitized); scheduler 201 lib/pacemaker/pcmk_simulate.c pe__set_working_set_flags(scheduler, pcmk_sched_output_scores); scheduler 204 lib/pacemaker/pcmk_simulate.c pe__set_working_set_flags(scheduler, pcmk_sched_show_utilization); scheduler 222 lib/pacemaker/pcmk_simulate.c write_sim_dotfile(pcmk_scheduler_t *scheduler, const char *dot_file, scheduler 233 lib/pacemaker/pcmk_simulate.c for (iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 274 lib/pacemaker/pcmk_simulate.c for (iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 330 lib/pacemaker/pcmk_simulate.c pcmk_scheduler_t *scheduler, const char *use_date) scheduler 332 lib/pacemaker/pcmk_simulate.c pcmk__output_t *out = scheduler->priv; scheduler 357 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(scheduler->flags, pcmk_sched_output_scores)) { scheduler 360 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(scheduler->flags, pcmk_sched_show_utilization)) { scheduler 367 lib/pacemaker/pcmk_simulate.c scheduler->input = input; scheduler 368 lib/pacemaker/pcmk_simulate.c set_effective_date(scheduler, false, use_date); scheduler 369 lib/pacemaker/pcmk_simulate.c pcmk__schedule_actions(input, scheduler_flags, scheduler); scheduler 370 lib/pacemaker/pcmk_simulate.c pe_reset_working_set(scheduler); scheduler 379 lib/pacemaker/pcmk_simulate.c pcmk_scheduler_t *scheduler, const char *use_date) scheduler 381 lib/pacemaker/pcmk_simulate.c pcmk__output_t *out = scheduler->priv; scheduler 407 lib/pacemaker/pcmk_simulate.c profile_file(buffer, repeat, scheduler, use_date); scheduler 431 lib/pacemaker/pcmk_simulate.c set_effective_date(pcmk_scheduler_t *scheduler, bool print_original, scheduler 434 lib/pacemaker/pcmk_simulate.c pcmk__output_t *out = scheduler->priv; scheduler 439 lib/pacemaker/pcmk_simulate.c crm_element_value_epoch(scheduler->input, "execution-date", &original_date); scheduler 442 lib/pacemaker/pcmk_simulate.c scheduler->now = crm_time_new(use_date); scheduler 444 lib/pacemaker/pcmk_simulate.c crm_time_log(LOG_NOTICE, "Pretending 'now' is", scheduler->now, scheduler 448 lib/pacemaker/pcmk_simulate.c scheduler->now = pcmk__copy_timet(original_date); scheduler 451 lib/pacemaker/pcmk_simulate.c char *when = crm_time_as_string(scheduler->now, scheduler 733 lib/pacemaker/pcmk_simulate.c pcmk__simulate_transition(pcmk_scheduler_t *scheduler, cib_t *cib, scheduler 746 lib/pacemaker/pcmk_simulate.c out = scheduler->priv; scheduler 756 lib/pacemaker/pcmk_simulate.c transition = pcmk__unpack_graph(scheduler->graph, crm_system_name); scheduler 759 lib/pacemaker/pcmk_simulate.c fake_resource_list = scheduler->resources; scheduler 780 lib/pacemaker/pcmk_simulate.c pe_reset_working_set(scheduler); scheduler 781 lib/pacemaker/pcmk_simulate.c scheduler->input = cib_object; scheduler 788 lib/pacemaker/pcmk_simulate.c pcmk__simulate(pcmk_scheduler_t *scheduler, pcmk__output_t *out, scheduler 804 lib/pacemaker/pcmk_simulate.c reset(scheduler, input, out, use_date, flags); scheduler 805 lib/pacemaker/pcmk_simulate.c cluster_status(scheduler); scheduler 813 lib/pacemaker/pcmk_simulate.c scheduler->localhost = pcmk__our_nodename; scheduler 819 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(scheduler->flags, pcmk_sched_in_maintenance)) { scheduler 820 lib/pacemaker/pcmk_simulate.c printed = out->message(out, "maint-mode", scheduler->flags); scheduler 823 lib/pacemaker/pcmk_simulate.c if (scheduler->disabled_resources || scheduler->blocked_resources) { scheduler 828 lib/pacemaker/pcmk_simulate.c scheduler->disabled_resources, scheduler 829 lib/pacemaker/pcmk_simulate.c scheduler->ninstances, scheduler 830 lib/pacemaker/pcmk_simulate.c scheduler->blocked_resources); scheduler 836 lib/pacemaker/pcmk_simulate.c print_cluster_status(scheduler, (show_pending? pcmk_show_pending : 0), scheduler 854 lib/pacemaker/pcmk_simulate.c pcmk__inject_scheduler_input(scheduler, cib, injections); scheduler 863 lib/pacemaker/pcmk_simulate.c cleanup_calculations(scheduler); scheduler 864 lib/pacemaker/pcmk_simulate.c reset(scheduler, input, out, use_date, flags); scheduler 865 lib/pacemaker/pcmk_simulate.c cluster_status(scheduler); scheduler 880 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(scheduler->flags, pcmk_sched_output_scores)) { scheduler 883 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(scheduler->flags, pcmk_sched_show_utilization)) { scheduler 887 lib/pacemaker/pcmk_simulate.c if (pcmk_all_flags_set(scheduler->flags, scheduler 895 lib/pacemaker/pcmk_simulate.c } else if (pcmk_is_set(scheduler->flags, pcmk_sched_output_scores)) { scheduler 900 lib/pacemaker/pcmk_simulate.c } else if (pcmk_is_set(scheduler->flags, pcmk_sched_show_utilization)) { scheduler 912 lib/pacemaker/pcmk_simulate.c scheduler->priv = logger_out; scheduler 915 lib/pacemaker/pcmk_simulate.c pcmk__schedule_actions(input, scheduler_flags, scheduler); scheduler 922 lib/pacemaker/pcmk_simulate.c scheduler->priv = out; scheduler 928 lib/pacemaker/pcmk_simulate.c rc = write_xml_file(scheduler->graph, graph_file, FALSE); scheduler 936 lib/pacemaker/pcmk_simulate.c rc = write_sim_dotfile(scheduler, dot_file, scheduler 946 lib/pacemaker/pcmk_simulate.c print_transition_summary(scheduler, printed == pcmk_rc_ok); scheduler 957 lib/pacemaker/pcmk_simulate.c if (pcmk__simulate_transition(scheduler, cib, injections->op_fail) scheduler 966 lib/pacemaker/pcmk_simulate.c set_effective_date(scheduler, true, use_date); scheduler 969 lib/pacemaker/pcmk_simulate.c pe__set_working_set_flags(scheduler, pcmk_sched_output_scores); scheduler 972 lib/pacemaker/pcmk_simulate.c pe__set_working_set_flags(scheduler, pcmk_sched_show_utilization); scheduler 975 lib/pacemaker/pcmk_simulate.c cluster_status(scheduler); scheduler 976 lib/pacemaker/pcmk_simulate.c print_cluster_status(scheduler, 0, section_opts, "Revised Cluster Status", scheduler 985 lib/pacemaker/pcmk_simulate.c pcmk_simulate(xmlNodePtr *xml, pcmk_scheduler_t *scheduler, scheduler 1002 lib/pacemaker/pcmk_simulate.c rc = pcmk__simulate(scheduler, out, injections, flags, section_opts, scheduler 83 lib/pacemaker/pcmk_status.c pcmk_scheduler_t *scheduler = NULL; scheduler 103 lib/pacemaker/pcmk_status.c scheduler = pe_new_working_set(); scheduler 104 lib/pacemaker/pcmk_status.c CRM_ASSERT(scheduler != NULL); scheduler 105 lib/pacemaker/pcmk_status.c pe__set_working_set_flags(scheduler, pcmk_sched_no_compat); scheduler 107 lib/pacemaker/pcmk_status.c scheduler->input = cib_copy; scheduler 108 lib/pacemaker/pcmk_status.c scheduler->priv = out; scheduler 109 lib/pacemaker/pcmk_status.c cluster_status(scheduler); scheduler 116 lib/pacemaker/pcmk_status.c scheduler->localhost = pcmk__our_nodename; scheduler 124 lib/pacemaker/pcmk_status.c pcmk__unpack_constraints(scheduler); scheduler 127 lib/pacemaker/pcmk_status.c unames = pe__build_node_name_list(scheduler, only_node); scheduler 128 lib/pacemaker/pcmk_status.c resources = pe__build_rsc_list(scheduler, only_rsc); scheduler 131 lib/pacemaker/pcmk_status.c if (scheduler->dc_node == NULL) { scheduler 136 lib/pacemaker/pcmk_status.c rc = pcmk__output_simple_status(out, scheduler); scheduler 139 lib/pacemaker/pcmk_status.c scheduler, pcmkd_state, pcmk_rc2exitc(history_rc), scheduler 149 lib/pacemaker/pcmk_status.c pe_free_working_set(scheduler); scheduler 306 lib/pacemaker/pcmk_status.c const pcmk_scheduler_t *scheduler) scheduler 316 lib/pacemaker/pcmk_status.c if (scheduler->dc_node == NULL) { scheduler 321 lib/pacemaker/pcmk_status.c for (GList *iter = scheduler->nodes; iter != NULL; iter = iter->next) { scheduler 369 lib/pacemaker/pcmk_status.c scheduler->ninstances, pcmk__plural_s(scheduler->ninstances)); scheduler 938 lib/pengine/bundle.c pe__add_bundle_remote_name(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler, scheduler 984 lib/pengine/bundle.c pe__unpack_bundle(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 1167 lib/pengine/bundle.c scheduler) != pcmk_rc_ok) { scheduler 211 lib/pengine/clone.c pcmk_scheduler_t *scheduler) scheduler 222 lib/pengine/clone.c g_list_length(scheduler->nodes)); scheduler 245 lib/pengine/clone.c pe__create_clone_child(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 272 lib/pengine/clone.c scheduler) != pcmk_rc_ok) { scheduler 325 lib/pengine/clone.c clone_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 362 lib/pengine/clone.c QB_MAX(1, g_list_length(scheduler->nodes))); scheduler 424 lib/pengine/clone.c if (pe__create_clone_child(rsc, scheduler) == NULL) { scheduler 431 lib/pengine/clone.c if (pe__create_clone_child(rsc, scheduler) == NULL) { scheduler 1241 lib/pengine/clone.c const pcmk_scheduler_t *scheduler) scheduler 1246 lib/pengine/clone.c if (clone_data->clone_max == g_list_length(scheduler->nodes)) { scheduler 117 lib/pengine/complex.c GHashTable *meta_hash, pcmk_scheduler_t *scheduler) scheduler 131 lib/pengine/complex.c parent_orig_meta, NULL, FALSE, scheduler); scheduler 158 lib/pengine/complex.c pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 169 lib/pengine/complex.c .now = scheduler->now, scheduler 187 lib/pengine/complex.c meta_hash, NULL, FALSE, scheduler); scheduler 192 lib/pengine/complex.c expand_parents_fixed_nvpairs(rsc, &rule_data, meta_hash, scheduler); scheduler 196 lib/pengine/complex.c pe__unpack_dataset_nvpairs(scheduler->rsc_defaults, XML_TAG_META_SETS, scheduler 197 lib/pengine/complex.c &rule_data, meta_hash, NULL, FALSE, scheduler); scheduler 208 lib/pengine/complex.c const pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 213 lib/pengine/complex.c .now = scheduler->now, scheduler 224 lib/pengine/complex.c meta_hash, NULL, FALSE, scheduler); scheduler 228 lib/pengine/complex.c get_rsc_attributes(meta_hash, rsc->parent, node, scheduler); scheduler 232 lib/pengine/complex.c pe__unpack_dataset_nvpairs(scheduler->rsc_defaults, XML_TAG_ATTR_SETS, scheduler 234 lib/pengine/complex.c scheduler); scheduler 257 lib/pengine/complex.c pcmk_scheduler_t *scheduler) scheduler 291 lib/pengine/complex.c scheduler->input, LOG_TRACE); scheduler 361 lib/pengine/complex.c if (!unpack_template(new_xml, expanded_xml, scheduler)) { scheduler 372 lib/pengine/complex.c add_template_rsc(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 398 lib/pengine/complex.c if (add_tag_ref(scheduler->template_rsc_sets, template_ref, id) == FALSE) { scheduler 447 lib/pengine/complex.c pcmk_scheduler_t *scheduler) scheduler 458 lib/pengine/complex.c if ((rsc == NULL) || (scheduler == NULL)) { scheduler 475 lib/pengine/complex.c get_rsc_attributes(params_on_node, rsc, node, scheduler); scheduler 604 lib/pengine/complex.c pcmk_resource_t *parent, pcmk_scheduler_t *scheduler) scheduler 623 lib/pengine/complex.c CRM_CHECK((xml_obj != NULL) && (scheduler != NULL), scheduler 627 lib/pengine/complex.c rule_data.now = scheduler->now; scheduler 638 lib/pengine/complex.c if (unpack_template(xml_obj, &expanded_xml, scheduler) == FALSE) { scheduler 647 lib/pengine/complex.c (*rsc)->cluster = scheduler; scheduler 664 lib/pengine/complex.c (*rsc)->ops_xml = expand_idref(ops, scheduler->input); scheduler 694 lib/pengine/complex.c get_meta_attributes((*rsc)->meta, *rsc, NULL, scheduler); scheduler 695 lib/pengine/complex.c (*rsc)->parameters = pe_rsc_params(*rsc, NULL, scheduler); // \deprecated scheduler 700 lib/pengine/complex.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_in_maintenance)) { scheduler 765 lib/pengine/complex.c if (pcmk_is_set(scheduler->flags, pcmk_sched_in_maintenance)) { scheduler 846 lib/pengine/complex.c pe__set_working_set_flags(scheduler, pcmk_sched_have_fencing); scheduler 860 lib/pengine/complex.c GHashTable *params = pe_rsc_params(*rsc, NULL, scheduler); scheduler 883 lib/pengine/complex.c if ((*rsc)->fns->unpack(*rsc, scheduler) == FALSE) { scheduler 889 lib/pengine/complex.c if (pcmk_is_set(scheduler->flags, pcmk_sched_symmetric_cluster)) { scheduler 891 lib/pengine/complex.c resource_location(*rsc, NULL, 0, "symmetric_default", scheduler); scheduler 897 lib/pengine/complex.c scheduler); scheduler 906 lib/pengine/complex.c (*rsc)->utilization, NULL, FALSE, scheduler); scheduler 909 lib/pengine/complex.c if (add_template_rsc(xml_obj, scheduler) == FALSE) { scheduler 454 lib/pengine/failcounts.c const char *reason, pcmk_scheduler_t *scheduler) scheduler 459 lib/pengine/failcounts.c CRM_CHECK(rsc && node && reason && scheduler, return NULL); scheduler 463 lib/pengine/failcounts.c scheduler); scheduler 180 lib/pengine/group.c group_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 210 lib/pengine/group.c scheduler) != pcmk_rc_ok) { scheduler 91 lib/pengine/native.c pcmk_scheduler_t *scheduler, gboolean failed) scheduler 126 lib/pengine/native.c scheduler); scheduler 147 lib/pengine/native.c rsc->allowed_nodes = pe__node_list2table(scheduler->nodes); scheduler 193 lib/pengine/native.c native_add_running(rsc->parent, node, scheduler, FALSE); scheduler 206 lib/pengine/native.c native_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 224 lib/pengine/native.c pe__force_anon(standard, parent, rsc->id, scheduler); scheduler 330 lib/pengine/native.c const char *name, pcmk_scheduler_t *scheduler) scheduler 340 lib/pengine/native.c params = pe_rsc_params(rsc, node, scheduler); scheduler 26 lib/pengine/pe_actions.c add_singleton(pcmk_scheduler_t *scheduler, pcmk_action_t *action) scheduler 28 lib/pengine/pe_actions.c if (scheduler->singletons == NULL) { scheduler 29 lib/pengine/pe_actions.c scheduler->singletons = pcmk__strkey_table(NULL, NULL); scheduler 31 lib/pengine/pe_actions.c g_hash_table_insert(scheduler->singletons, action->uuid, action); scheduler 35 lib/pengine/pe_actions.c lookup_singleton(pcmk_scheduler_t *scheduler, const char *action_uuid) scheduler 37 lib/pengine/pe_actions.c if (scheduler->singletons == NULL) { scheduler 40 lib/pengine/pe_actions.c return g_hash_table_lookup(scheduler->singletons, action_uuid); scheduler 56 lib/pengine/pe_actions.c const pcmk_node_t *node, const pcmk_scheduler_t *scheduler) scheduler 64 lib/pengine/pe_actions.c matches = find_actions(((rsc == NULL)? scheduler->actions : rsc->actions), scheduler 167 lib/pengine/pe_actions.c const pcmk_node_t *node, bool optional, pcmk_scheduler_t *scheduler) scheduler 215 lib/pengine/pe_actions.c scheduler->action_id, key, task, scheduler 218 lib/pengine/pe_actions.c action->id = scheduler->action_id++; scheduler 220 lib/pengine/pe_actions.c scheduler->actions = g_list_prepend(scheduler->actions, action); scheduler 222 lib/pengine/pe_actions.c add_singleton(scheduler, action); scheduler 242 lib/pengine/pe_actions.c pcmk_scheduler_t *scheduler) scheduler 249 lib/pengine/pe_actions.c .now = scheduler->now, scheduler 257 lib/pengine/pe_actions.c FALSE, scheduler); scheduler 290 lib/pengine/pe_actions.c effective_quorum_policy(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 292 lib/pengine/pe_actions.c enum pe_quorum_policy policy = scheduler->no_quorum_policy; scheduler 294 lib/pengine/pe_actions.c if (pcmk_is_set(scheduler->flags, pcmk_sched_quorate)) { scheduler 297 lib/pengine/pe_actions.c } else if (scheduler->no_quorum_policy == pcmk_no_quorum_demote) { scheduler 326 lib/pengine/pe_actions.c pcmk_scheduler_t *scheduler) scheduler 347 lib/pengine/pe_actions.c pe_fence_node(scheduler, action->node, "stop is unrunnable", false); scheduler 360 lib/pengine/pe_actions.c && !pe_can_fence(scheduler, action->node)) { scheduler 378 lib/pengine/pe_actions.c switch (effective_quorum_policy(action->rsc, scheduler)) { scheduler 1119 lib/pengine/pe_actions.c pcmk_scheduler_t *scheduler) scheduler 1123 lib/pengine/pe_actions.c CRM_ASSERT((key != NULL) && (task != NULL) && (scheduler != NULL)); scheduler 1125 lib/pengine/pe_actions.c action = find_existing_action(key, rsc, on_node, scheduler); scheduler 1127 lib/pengine/pe_actions.c action = new_action(key, task, rsc, on_node, optional, scheduler); scheduler 1144 lib/pengine/pe_actions.c attrs, scheduler); scheduler 1148 lib/pengine/pe_actions.c update_resource_action_runnable(action, scheduler); scheduler 1160 lib/pengine/pe_actions.c get_pseudo_op(const char *name, pcmk_scheduler_t *scheduler) scheduler 1162 lib/pengine/pe_actions.c pcmk_action_t *op = lookup_singleton(scheduler, name); scheduler 1165 lib/pengine/pe_actions.c op = custom_action(NULL, strdup(name), name, NULL, TRUE, scheduler); scheduler 1198 lib/pengine/pe_actions.c const pcmk_scheduler_t *scheduler) scheduler 1207 lib/pengine/pe_actions.c if (scheduler->priority_fencing_delay <= 0) { scheduler 1222 lib/pengine/pe_actions.c for (gIter = scheduler->nodes; gIter != NULL; gIter = gIter->next) { scheduler 1261 lib/pengine/pe_actions.c return scheduler->priority_fencing_delay; scheduler 1267 lib/pengine/pe_actions.c pcmk_scheduler_t *scheduler) scheduler 1273 lib/pengine/pe_actions.c op = scheduler->stonith_action; scheduler 1279 lib/pengine/pe_actions.c stonith_op = lookup_singleton(scheduler, op_key); scheduler 1282 lib/pengine/pe_actions.c TRUE, scheduler); scheduler 1288 lib/pengine/pe_actions.c if (pcmk_is_set(scheduler->flags, pcmk_sched_enable_unfencing)) { scheduler 1294 lib/pengine/pe_actions.c GList *matches = find_unfencing_devices(scheduler->resources, NULL); scheduler 1306 lib/pengine/pe_actions.c scheduler); scheduler 1311 lib/pengine/pe_actions.c if (!pcmk__is_daemon && scheduler->priv != NULL) { scheduler 1312 lib/pengine/pe_actions.c pcmk__output_t *out = scheduler->priv; scheduler 1345 lib/pengine/pe_actions.c if (scheduler->priority_fencing_delay > 0 scheduler 1363 lib/pengine/pe_actions.c scheduler)); scheduler 1370 lib/pengine/pe_actions.c if(optional == FALSE && pe_can_fence(scheduler, node)) { scheduler 1405 lib/pengine/pe_actions.c pcmk_scheduler_t *scheduler) scheduler 1415 lib/pengine/pe_actions.c .now = scheduler->now, scheduler 1430 lib/pengine/pe_actions.c if (timeout_spec == NULL && scheduler->op_defaults) { scheduler 1432 lib/pengine/pe_actions.c pe__unpack_dataset_nvpairs(scheduler->op_defaults, XML_TAG_META_SETS, scheduler 1434 lib/pengine/pe_actions.c scheduler); scheduler 103 lib/pengine/pe_digest.c GHashTable *overrides, pcmk_scheduler_t *scheduler) scheduler 112 lib/pengine/pe_digest.c (void) pe__add_bundle_remote_name(rsc, scheduler, data->params_all, scheduler 150 lib/pengine/pe_digest.c scheduler); scheduler 309 lib/pengine/pe_digest.c bool calc_secure, pcmk_scheduler_t *scheduler) scheduler 325 lib/pengine/pe_digest.c if (op_version == NULL && scheduler != NULL && scheduler->input != NULL) { scheduler 326 lib/pengine/pe_digest.c op_version = crm_element_value(scheduler->input, XML_ATTR_CRM_VERSION); scheduler 333 lib/pengine/pe_digest.c params = pe_rsc_params(rsc, node, scheduler); scheduler 335 lib/pengine/pe_digest.c op_version, overrides, scheduler); scheduler 361 lib/pengine/pe_digest.c bool calc_secure, pcmk_scheduler_t *scheduler) scheduler 369 lib/pengine/pe_digest.c NULL, calc_secure, scheduler); scheduler 390 lib/pengine/pe_digest.c pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 408 lib/pengine/pe_digest.c pcmk_is_set(scheduler->flags, scheduler 410 lib/pengine/pe_digest.c scheduler); scheduler 542 lib/pengine/pe_digest.c pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 548 lib/pengine/pe_digest.c node, NULL, TRUE, scheduler); scheduler 569 lib/pengine/pe_digest.c if (!pcmk__is_daemon && scheduler->priv != NULL) { scheduler 570 lib/pengine/pe_digest.c pcmk__output_t *out = scheduler->priv; scheduler 580 lib/pengine/pe_digest.c if (pcmk_is_set(scheduler->flags, pcmk_sched_sanitized) scheduler 583 lib/pengine/pe_digest.c if (scheduler->priv != NULL) { scheduler 584 lib/pengine/pe_digest.c pcmk__output_t *out = scheduler->priv; scheduler 23 lib/pengine/pe_health.c pe__unpack_node_health_scores(pcmk_scheduler_t *scheduler) scheduler 25 lib/pengine/pe_health.c switch (pe__health_strategy(scheduler)) { scheduler 46 lib/pengine/pe_health.c scheduler); scheduler 48 lib/pengine/pe_health.c scheduler); scheduler 50 lib/pengine/pe_health.c scheduler); scheduler 64 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler, const char *attrname, scheduler 76 lib/pengine/pe_output.c if (add_extra_info(node, rsc->children, scheduler, attrname, scheduler 86 lib/pengine/pe_output.c params = pe_rsc_params(rsc, node, scheduler); scheduler 197 lib/pengine/pe_output.c get_cluster_stack(pcmk_scheduler_t *scheduler) scheduler 200 lib/pengine/pe_output.c scheduler->input, LOG_DEBUG); scheduler 362 lib/pengine/pe_output.c is_mixed_version(pcmk_scheduler_t *scheduler) scheduler 365 lib/pengine/pe_output.c for (GList *gIter = scheduler->nodes; gIter != NULL; gIter = gIter->next) { scheduler 393 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 400 lib/pengine/pe_output.c const char *stack_s = get_cluster_stack(scheduler); scheduler 409 lib/pengine/pe_output.c scheduler->input, LOG_DEBUG); scheduler 413 lib/pengine/pe_output.c const char *quorum = crm_element_value(scheduler->input, scheduler 415 lib/pengine/pe_output.c char *dc_name = scheduler->dc_node? pe__node_display_name(scheduler->dc_node, pcmk_is_set(show_opts, pcmk_show_node_id)) : NULL; scheduler 416 lib/pengine/pe_output.c bool mixed_version = is_mixed_version(scheduler); scheduler 419 lib/pengine/pe_output.c out->message(out, "cluster-dc", scheduler->dc_node, quorum, scheduler 425 lib/pengine/pe_output.c const char *last_written = crm_element_value(scheduler->input, scheduler 427 lib/pengine/pe_output.c const char *user = crm_element_value(scheduler->input, scheduler 429 lib/pengine/pe_output.c const char *client = crm_element_value(scheduler->input, scheduler 431 lib/pengine/pe_output.c const char *origin = crm_element_value(scheduler->input, scheduler 436 lib/pengine/pe_output.c scheduler->localhost, last_written, user, client, origin); scheduler 441 lib/pengine/pe_output.c out->message(out, "cluster-counts", g_list_length(scheduler->nodes), scheduler 442 lib/pengine/pe_output.c scheduler->ninstances, scheduler->disabled_resources, scheduler 443 lib/pengine/pe_output.c scheduler->blocked_resources); scheduler 448 lib/pengine/pe_output.c out->message(out, "cluster-options", scheduler); scheduler 454 lib/pengine/pe_output.c if (out->message(out, "maint-mode", scheduler->flags) == pcmk_rc_ok) { scheduler 466 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 473 lib/pengine/pe_output.c const char *stack_s = get_cluster_stack(scheduler); scheduler 481 lib/pengine/pe_output.c if ((scheduler->dc_node == NULL) scheduler 484 lib/pengine/pe_output.c scheduler->input, LOG_DEBUG); scheduler 488 lib/pengine/pe_output.c const char *quorum = crm_element_value(scheduler->input, scheduler 490 lib/pengine/pe_output.c char *dc_name = scheduler->dc_node? pe__node_display_name(scheduler->dc_node, pcmk_is_set(show_opts, pcmk_show_node_id)) : NULL; scheduler 491 lib/pengine/pe_output.c bool mixed_version = is_mixed_version(scheduler); scheduler 494 lib/pengine/pe_output.c out->message(out, "cluster-dc", scheduler->dc_node, quorum, scheduler 500 lib/pengine/pe_output.c const char *last_written = crm_element_value(scheduler->input, scheduler 502 lib/pengine/pe_output.c const char *user = crm_element_value(scheduler->input, scheduler 504 lib/pengine/pe_output.c const char *client = crm_element_value(scheduler->input, scheduler 506 lib/pengine/pe_output.c const char *origin = crm_element_value(scheduler->input, scheduler 511 lib/pengine/pe_output.c scheduler->localhost, last_written, user, client, origin); scheduler 516 lib/pengine/pe_output.c out->message(out, "cluster-counts", g_list_length(scheduler->nodes), scheduler 517 lib/pengine/pe_output.c scheduler->ninstances, scheduler->disabled_resources, scheduler 518 lib/pengine/pe_output.c scheduler->blocked_resources); scheduler 529 lib/pengine/pe_output.c out->message(out, "cluster-options", scheduler); scheduler 535 lib/pengine/pe_output.c if (out->message(out, "maint-mode", scheduler->flags) == pcmk_rc_ok) { scheduler 708 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 718 lib/pengine/pe_output.c for (gIter = scheduler->placement_constraints; scheduler 984 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 986 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 992 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_symmetric_cluster)) { scheduler 998 lib/pengine/pe_output.c switch (scheduler->no_quorum_policy) { scheduler 1021 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_in_maintenance)) { scheduler 1028 lib/pengine/pe_output.c } else if (pcmk_is_set(scheduler->flags, pcmk_sched_stop_all)) { scheduler 1045 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1047 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_in_maintenance)) { scheduler 1049 lib/pengine/pe_output.c } else if (pcmk_is_set(scheduler->flags, pcmk_sched_stop_all)) { scheduler 1059 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1061 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 1067 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_symmetric_cluster)) { scheduler 1073 lib/pengine/pe_output.c switch (scheduler->no_quorum_policy) { scheduler 1099 lib/pengine/pe_output.c #define bv(flag) pcmk__btoa(pcmk_is_set(scheduler->flags, (flag))) scheduler 1104 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1107 lib/pengine/pe_output.c char *stonith_timeout_str = pcmk__itoa(scheduler->stonith_timeout); scheduler 1108 lib/pengine/pe_output.c char *priority_fencing_delay_str = pcmk__itoa(scheduler->priority_fencing_delay * 1000); scheduler 1110 lib/pengine/pe_output.c switch (scheduler->no_quorum_policy) { scheduler 1548 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1557 lib/pengine/pe_output.c if (xmlChildElementCount(scheduler->failed) == 0) { scheduler 1561 lib/pengine/pe_output.c for (xml_op = pcmk__xml_first_child(scheduler->failed); xml_op != NULL; scheduler 2012 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2026 lib/pengine/pe_output.c rsc = pe_find_resource(scheduler->resources, op_rsc); scheduler 2067 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2086 lib/pengine/pe_output.c rsc = pe_find_resource(scheduler->resources, op_rsc); scheduler 2140 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2149 lib/pengine/pe_output.c for (GList *gIter = scheduler->nodes; gIter != NULL; gIter = gIter->next) { scheduler 2187 lib/pengine/pe_output.c scheduler, name, &expected_score); scheduler 2239 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2258 lib/pengine/pe_output.c pcmk_resource_t *rsc = pe_find_resource(scheduler->resources, rsc_id); scheduler 2301 lib/pengine/pe_output.c pcmk_resource_t *rsc = pe_find_resource(scheduler->resources, scheduler 2314 lib/pengine/pe_output.c out->message(out, "resource-operation-list", scheduler, rsc, node, scheduler 2484 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2492 lib/pengine/pe_output.c xmlNode *cib_status = pcmk_find_cib_element(scheduler->input, scheduler 2502 lib/pengine/pe_output.c pcmk_node_t *node = pe_find_node_id(scheduler->nodes, ID(node_state)); scheduler 2516 lib/pengine/pe_output.c out->message(out, "node-history-list", scheduler, node, node_state, scheduler 2792 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2815 lib/pengine/pe_output.c GList *rscs = pe__filter_rsc_list(scheduler->resources, only_rsc); scheduler 2826 lib/pengine/pe_output.c for (rsc_iter = scheduler->resources; rsc_iter != NULL; rsc_iter = rsc_iter->next) { scheduler 2901 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler G_GNUC_UNUSED = va_arg(args, scheduler 3059 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 3065 lib/pengine/pe_output.c if (g_hash_table_size(scheduler->tickets) == 0) { scheduler 3075 lib/pengine/pe_output.c g_hash_table_iter_init(&iter, scheduler->tickets); scheduler 69 lib/pengine/pe_status_private.h pcmk_scheduler_t *scheduler); scheduler 86 lib/pengine/pe_status_private.h pcmk_scheduler_t *scheduler); scheduler 94 lib/pengine/pe_status_private.h pcmk_scheduler_t *scheduler); scheduler 98 lib/pengine/pe_status_private.h pcmk_scheduler_t *scheduler); scheduler 102 lib/pengine/pe_status_private.h pcmk_scheduler_t *scheduler); scheduler 105 lib/pengine/pe_status_private.h gboolean unpack_config(xmlNode *config, pcmk_scheduler_t *scheduler); scheduler 108 lib/pengine/pe_status_private.h gboolean unpack_nodes(xmlNode *xml_nodes, pcmk_scheduler_t *scheduler); scheduler 111 lib/pengine/pe_status_private.h gboolean unpack_tags(xmlNode *xml_tags, pcmk_scheduler_t *scheduler); scheduler 114 lib/pengine/pe_status_private.h gboolean unpack_status(xmlNode *status, pcmk_scheduler_t *scheduler); scheduler 120 lib/pengine/pe_status_private.h pcmk_scheduler_t *scheduler); scheduler 123 lib/pengine/pe_status_private.h void pe__unpack_node_health_scores(pcmk_scheduler_t *scheduler); scheduler 66 lib/pengine/remote.c pe__resource_contains_guest_node(const pcmk_scheduler_t *scheduler, scheduler 69 lib/pengine/remote.c if ((rsc != NULL) && (scheduler != NULL) scheduler 70 lib/pengine/remote.c && pcmk_is_set(scheduler->flags, pcmk_sched_have_remote_nodes)) { scheduler 120 lib/pengine/remote.c pe_foreach_guest_node(const pcmk_scheduler_t *scheduler, scheduler 127 lib/pengine/remote.c CRM_CHECK(scheduler && host && host->details && helper, return); scheduler 128 lib/pengine/remote.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_have_remote_nodes)) { scheduler 135 lib/pengine/remote.c pcmk_node_t *guest_node = pe_find_node(scheduler->nodes, rsc->id); scheduler 227 lib/pengine/remote.c pcmk_scheduler_t *scheduler) scheduler 231 lib/pengine/remote.c CRM_CHECK(scheduler && rsc_op && rsc && node, return); scheduler 241 lib/pengine/remote.c scheduler->param_check = g_list_prepend(scheduler->param_check, check_op); scheduler 252 lib/pengine/remote.c pe__foreach_param_check(pcmk_scheduler_t *scheduler, scheduler 256 lib/pengine/remote.c CRM_CHECK(scheduler && cb, return); scheduler 258 lib/pengine/remote.c for (GList *item = scheduler->param_check; scheduler 268 lib/pengine/remote.c pe__free_param_checks(pcmk_scheduler_t *scheduler) scheduler 270 lib/pengine/remote.c if (scheduler && scheduler->param_check) { scheduler 271 lib/pengine/remote.c g_list_free_full(scheduler->param_check, free); scheduler 272 lib/pengine/remote.c scheduler->param_check = NULL; scheduler 36 lib/pengine/status.c pcmk_scheduler_t *scheduler = calloc(1, sizeof(pcmk_scheduler_t)); scheduler 38 lib/pengine/status.c if (scheduler != NULL) { scheduler 39 lib/pengine/status.c set_working_set_defaults(scheduler); scheduler 41 lib/pengine/status.c return scheduler; scheduler 50 lib/pengine/status.c pe_free_working_set(pcmk_scheduler_t *scheduler) scheduler 52 lib/pengine/status.c if (scheduler != NULL) { scheduler 53 lib/pengine/status.c pe_reset_working_set(scheduler); scheduler 54 lib/pengine/status.c scheduler->priv = NULL; scheduler 55 lib/pengine/status.c free(scheduler); scheduler 71 lib/pengine/status.c cluster_status(pcmk_scheduler_t * scheduler) scheduler 75 lib/pengine/status.c if ((scheduler == NULL) || (scheduler->input == NULL)) { scheduler 81 lib/pengine/status.c if (scheduler->failed != NULL) { scheduler 82 lib/pengine/status.c free_xml(scheduler->failed); scheduler 84 lib/pengine/status.c scheduler->failed = create_xml_node(NULL, "failed-ops"); scheduler 86 lib/pengine/status.c if (scheduler->now == NULL) { scheduler 87 lib/pengine/status.c scheduler->now = crm_time_new(NULL); scheduler 90 lib/pengine/status.c if (scheduler->dc_uuid == NULL) { scheduler 91 lib/pengine/status.c scheduler->dc_uuid = crm_element_value_copy(scheduler->input, scheduler 95 lib/pengine/status.c if (pcmk__xe_attr_is_true(scheduler->input, XML_ATTR_HAVE_QUORUM)) { scheduler 96 lib/pengine/status.c pe__set_working_set_flags(scheduler, pcmk_sched_quorate); scheduler 98 lib/pengine/status.c pe__clear_working_set_flags(scheduler, pcmk_sched_quorate); scheduler 101 lib/pengine/status.c scheduler->op_defaults = get_xpath_object("//" XML_CIB_TAG_OPCONFIG, scheduler 102 lib/pengine/status.c scheduler->input, LOG_NEVER); scheduler 103 lib/pengine/status.c scheduler->rsc_defaults = get_xpath_object("//" XML_CIB_TAG_RSCCONFIG, scheduler 104 lib/pengine/status.c scheduler->input, LOG_NEVER); scheduler 106 lib/pengine/status.c section = get_xpath_object("//" XML_CIB_TAG_CRMCONFIG, scheduler->input, scheduler 108 lib/pengine/status.c unpack_config(section, scheduler); scheduler 110 lib/pengine/status.c if (!pcmk_any_flags_set(scheduler->flags, scheduler 112 lib/pengine/status.c && (scheduler->no_quorum_policy != pcmk_no_quorum_ignore)) { scheduler 116 lib/pengine/status.c section = get_xpath_object("//" XML_CIB_TAG_NODES, scheduler->input, scheduler 118 lib/pengine/status.c unpack_nodes(section, scheduler); scheduler 120 lib/pengine/status.c section = get_xpath_object("//" XML_CIB_TAG_RESOURCES, scheduler->input, scheduler 122 lib/pengine/status.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_location_only)) { scheduler 123 lib/pengine/status.c unpack_remote_nodes(section, scheduler); scheduler 125 lib/pengine/status.c unpack_resources(section, scheduler); scheduler 127 lib/pengine/status.c section = get_xpath_object("//" XML_CIB_TAG_TAGS, scheduler->input, scheduler 129 lib/pengine/status.c unpack_tags(section, scheduler); scheduler 131 lib/pengine/status.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_location_only)) { scheduler 132 lib/pengine/status.c section = get_xpath_object("//"XML_CIB_TAG_STATUS, scheduler->input, scheduler 134 lib/pengine/status.c unpack_status(section, scheduler); scheduler 137 lib/pengine/status.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_no_counts)) { scheduler 138 lib/pengine/status.c for (GList *item = scheduler->resources; item != NULL; scheduler 143 lib/pengine/status.c scheduler->ninstances, scheduler->disabled_resources, scheduler 144 lib/pengine/status.c scheduler->blocked_resources); scheduler 147 lib/pengine/status.c pe__set_working_set_flags(scheduler, pcmk_sched_have_status); scheduler 279 lib/pengine/status.c cleanup_calculations(pcmk_scheduler_t *scheduler) scheduler 281 lib/pengine/status.c if (scheduler == NULL) { scheduler 285 lib/pengine/status.c pe__clear_working_set_flags(scheduler, pcmk_sched_have_status); scheduler 286 lib/pengine/status.c if (scheduler->config_hash != NULL) { scheduler 287 lib/pengine/status.c g_hash_table_destroy(scheduler->config_hash); scheduler 290 lib/pengine/status.c if (scheduler->singletons != NULL) { scheduler 291 lib/pengine/status.c g_hash_table_destroy(scheduler->singletons); scheduler 294 lib/pengine/status.c if (scheduler->tickets) { scheduler 295 lib/pengine/status.c g_hash_table_destroy(scheduler->tickets); scheduler 298 lib/pengine/status.c if (scheduler->template_rsc_sets) { scheduler 299 lib/pengine/status.c g_hash_table_destroy(scheduler->template_rsc_sets); scheduler 302 lib/pengine/status.c if (scheduler->tags) { scheduler 303 lib/pengine/status.c g_hash_table_destroy(scheduler->tags); scheduler 306 lib/pengine/status.c free(scheduler->dc_uuid); scheduler 309 lib/pengine/status.c pe_free_resources(scheduler->resources); scheduler 312 lib/pengine/status.c pe_free_actions(scheduler->actions); scheduler 315 lib/pengine/status.c pe_free_nodes(scheduler->nodes); scheduler 317 lib/pengine/status.c pe__free_param_checks(scheduler); scheduler 318 lib/pengine/status.c g_list_free(scheduler->stop_needed); scheduler 319 lib/pengine/status.c free_xml(scheduler->graph); scheduler 320 lib/pengine/status.c crm_time_free(scheduler->now); scheduler 321 lib/pengine/status.c free_xml(scheduler->input); scheduler 322 lib/pengine/status.c free_xml(scheduler->failed); scheduler 324 lib/pengine/status.c set_working_set_defaults(scheduler); scheduler 326 lib/pengine/status.c CRM_CHECK(scheduler->ordering_constraints == NULL,; scheduler 328 lib/pengine/status.c CRM_CHECK(scheduler->placement_constraints == NULL,; scheduler 338 lib/pengine/status.c pe_reset_working_set(pcmk_scheduler_t *scheduler) scheduler 340 lib/pengine/status.c if (scheduler == NULL) { scheduler 345 lib/pengine/status.c g_list_length(scheduler->ordering_constraints)); scheduler 346 lib/pengine/status.c pe__free_ordering(scheduler->ordering_constraints); scheduler 347 lib/pengine/status.c scheduler->ordering_constraints = NULL; scheduler 350 lib/pengine/status.c g_list_length(scheduler->placement_constraints)); scheduler 351 lib/pengine/status.c pe__free_location(scheduler->placement_constraints); scheduler 352 lib/pengine/status.c scheduler->placement_constraints = NULL; scheduler 355 lib/pengine/status.c g_list_length(scheduler->colocation_constraints)); scheduler 356 lib/pengine/status.c g_list_free_full(scheduler->colocation_constraints, free); scheduler 357 lib/pengine/status.c scheduler->colocation_constraints = NULL; scheduler 360 lib/pengine/status.c g_list_length(scheduler->ticket_constraints)); scheduler 361 lib/pengine/status.c g_list_free_full(scheduler->ticket_constraints, free); scheduler 362 lib/pengine/status.c scheduler->ticket_constraints = NULL; scheduler 364 lib/pengine/status.c cleanup_calculations(scheduler); scheduler 368 lib/pengine/status.c set_working_set_defaults(pcmk_scheduler_t *scheduler) scheduler 370 lib/pengine/status.c void *priv = scheduler->priv; scheduler 372 lib/pengine/status.c memset(scheduler, 0, sizeof(pcmk_scheduler_t)); scheduler 374 lib/pengine/status.c scheduler->priv = priv; scheduler 375 lib/pengine/status.c scheduler->order_id = 1; scheduler 376 lib/pengine/status.c scheduler->action_id = 1; scheduler 377 lib/pengine/status.c scheduler->no_quorum_policy = pcmk_no_quorum_stop; scheduler 379 lib/pengine/status.c scheduler->flags = 0x0ULL; scheduler 381 lib/pengine/status.c pe__set_working_set_flags(scheduler, scheduler 386 lib/pengine/status.c pe__set_working_set_flags(scheduler, pcmk_sched_concurrent_fencing); scheduler 20 lib/pengine/tags.c pe__rscs_with_tag(pcmk_scheduler_t *scheduler, const char *tag_name) scheduler 25 lib/pengine/tags.c if (scheduler->tags == NULL) { scheduler 29 lib/pengine/tags.c value = g_hash_table_lookup(scheduler->tags, tag_name); scheduler 38 lib/pengine/tags.c pcmk_resource_t *rsc = pe_find_resource_with_flags(scheduler->resources, scheduler 52 lib/pengine/tags.c pe__unames_with_tag(pcmk_scheduler_t *scheduler, const char *tag_name) scheduler 57 lib/pengine/tags.c if (scheduler->tags == NULL) { scheduler 61 lib/pengine/tags.c value = g_hash_table_lookup(scheduler->tags, tag_name); scheduler 71 lib/pengine/tags.c pcmk_node_t *node = pe_find_node_id(scheduler->nodes, id); scheduler 85 lib/pengine/tags.c pe__rsc_has_tag(pcmk_scheduler_t *scheduler, const char *rsc_name, scheduler 88 lib/pengine/tags.c GList *rscs = pe__rscs_with_tag(scheduler, tag_name); scheduler 101 lib/pengine/tags.c pe__uname_has_tag(pcmk_scheduler_t *scheduler, const char *node_name, scheduler 104 lib/pengine/tags.c GList *unames = pe__unames_with_tag(scheduler, tag_name); scheduler 19 lib/pengine/tests/native/native_find_rsc_test.c pcmk_scheduler_t *scheduler = NULL; scheduler 40 lib/pengine/tests/native/native_find_rsc_test.c scheduler = pe_new_working_set(); scheduler 42 lib/pengine/tests/native/native_find_rsc_test.c if (scheduler == NULL) { scheduler 46 lib/pengine/tests/native/native_find_rsc_test.c pe__set_working_set_flags(scheduler, scheduler 48 lib/pengine/tests/native/native_find_rsc_test.c scheduler->input = input; scheduler 50 lib/pengine/tests/native/native_find_rsc_test.c cluster_status(scheduler); scheduler 53 lib/pengine/tests/native/native_find_rsc_test.c cluster01 = pe_find_node(scheduler->nodes, "cluster01"); scheduler 54 lib/pengine/tests/native/native_find_rsc_test.c cluster02 = pe_find_node(scheduler->nodes, "cluster02"); scheduler 55 lib/pengine/tests/native/native_find_rsc_test.c httpd_bundle_0 = pe_find_node(scheduler->nodes, "httpd-bundle-0"); scheduler 58 lib/pengine/tests/native/native_find_rsc_test.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 81 lib/pengine/tests/native/native_find_rsc_test.c pe_free_working_set(scheduler); scheduler 88 lib/pengine/tests/native/native_find_rsc_test.c pcmk_resource_t *rsc = g_list_first(scheduler->resources)->data; scheduler 121 lib/pengine/tests/native/native_find_rsc_test.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 20 lib/pengine/tests/native/pe_base_name_eq_test.c pcmk_scheduler_t *scheduler = NULL; scheduler 39 lib/pengine/tests/native/pe_base_name_eq_test.c scheduler = pe_new_working_set(); scheduler 41 lib/pengine/tests/native/pe_base_name_eq_test.c if (scheduler == NULL) { scheduler 45 lib/pengine/tests/native/pe_base_name_eq_test.c pe__set_working_set_flags(scheduler, scheduler 47 lib/pengine/tests/native/pe_base_name_eq_test.c scheduler->input = input; scheduler 49 lib/pengine/tests/native/pe_base_name_eq_test.c cluster_status(scheduler); scheduler 52 lib/pengine/tests/native/pe_base_name_eq_test.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 89 lib/pengine/tests/native/pe_base_name_eq_test.c pe_free_working_set(scheduler); scheduler 30 lib/pengine/tests/status/pe_new_working_set_test.c pcmk_scheduler_t *scheduler = pe_new_working_set(); scheduler 36 lib/pengine/tests/status/pe_new_working_set_test.c assert_non_null(scheduler); scheduler 41 lib/pengine/tests/status/pe_new_working_set_test.c free(scheduler); scheduler 23 lib/pengine/tests/status/set_working_set_defaults_test.c pcmk_scheduler_t *scheduler = calloc(1, sizeof(pcmk_scheduler_t)); scheduler 25 lib/pengine/tests/status/set_working_set_defaults_test.c set_working_set_defaults(scheduler); scheduler 36 lib/pengine/tests/status/set_working_set_defaults_test.c assert_null(scheduler->priv); scheduler 37 lib/pengine/tests/status/set_working_set_defaults_test.c assert_int_equal(scheduler->order_id, 1); scheduler 38 lib/pengine/tests/status/set_working_set_defaults_test.c assert_int_equal(scheduler->action_id, 1); scheduler 39 lib/pengine/tests/status/set_working_set_defaults_test.c assert_int_equal(scheduler->no_quorum_policy, pcmk_no_quorum_stop); scheduler 40 lib/pengine/tests/status/set_working_set_defaults_test.c assert_int_equal(scheduler->flags, flags); scheduler 45 lib/pengine/tests/status/set_working_set_defaults_test.c free(scheduler); scheduler 52 lib/pengine/unpack.c #define set_config_flag(scheduler, option, flag) do { \ scheduler 53 lib/pengine/unpack.c const char *scf_value = pe_pref((scheduler)->config_hash, (option)); \ scheduler 56 lib/pengine/unpack.c (scheduler)->flags = pcmk__set_flags_as(__func__, __LINE__, \ scheduler 58 lib/pengine/unpack.c crm_system_name, (scheduler)->flags, \ scheduler 61 lib/pengine/unpack.c (scheduler)->flags = pcmk__clear_flags_as(__func__, __LINE__, \ scheduler 63 lib/pengine/unpack.c crm_system_name, (scheduler)->flags, \ scheduler 72 lib/pengine/unpack.c static void determine_remote_online_status(pcmk_scheduler_t *scheduler, scheduler 75 lib/pengine/unpack.c bool overwrite, pcmk_scheduler_t *scheduler); scheduler 78 lib/pengine/unpack.c pcmk_scheduler_t *scheduler); scheduler 81 lib/pengine/unpack.c pcmk_scheduler_t *scheduler); scheduler 110 lib/pengine/unpack.c pe_fence_node(pcmk_scheduler_t *scheduler, pcmk_node_t *node, scheduler 159 lib/pengine/unpack.c pe_can_fence(scheduler, node)? "will be fenced" : "is unclean", scheduler 164 lib/pengine/unpack.c pe_fence_op(node, NULL, TRUE, reason, FALSE, scheduler); scheduler 169 lib/pengine/unpack.c pe_can_fence(scheduler, node)? "would also be fenced" : "also is unclean", scheduler 175 lib/pengine/unpack.c pe_can_fence(scheduler, node)? "will be fenced" : "is unclean", scheduler 178 lib/pengine/unpack.c pe_fence_op(node, NULL, TRUE, reason, priority_delay, scheduler); scheduler 198 lib/pengine/unpack.c set_if_xpath(uint64_t flag, const char *xpath, pcmk_scheduler_t *scheduler) scheduler 202 lib/pengine/unpack.c if (!pcmk_is_set(scheduler->flags, flag)) { scheduler 203 lib/pengine/unpack.c result = xpath_search(scheduler->input, xpath); scheduler 205 lib/pengine/unpack.c pe__set_working_set_flags(scheduler, flag); scheduler 212 lib/pengine/unpack.c unpack_config(xmlNode *config, pcmk_scheduler_t *scheduler) scheduler 220 lib/pengine/unpack.c .now = scheduler->now, scheduler 226 lib/pengine/unpack.c scheduler->config_hash = config_hash; scheduler 229 lib/pengine/unpack.c CIB_OPTIONS_FIRST, FALSE, scheduler); scheduler 231 lib/pengine/unpack.c verify_pe_options(scheduler->config_hash); scheduler 233 lib/pengine/unpack.c set_config_flag(scheduler, "enable-startup-probes", scheduler 235 lib/pengine/unpack.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_probe_resources)) { scheduler 239 lib/pengine/unpack.c value = pe_pref(scheduler->config_hash, XML_ATTR_HAVE_WATCHDOG); scheduler 243 lib/pengine/unpack.c pe__set_working_set_flags(scheduler, pcmk_sched_have_fencing); scheduler 250 lib/pengine/unpack.c scheduler); scheduler 252 lib/pengine/unpack.c value = pe_pref(scheduler->config_hash, "stonith-timeout"); scheduler 253 lib/pengine/unpack.c scheduler->stonith_timeout = (int) crm_parse_interval_spec(value); scheduler 254 lib/pengine/unpack.c crm_debug("STONITH timeout: %d", scheduler->stonith_timeout); scheduler 256 lib/pengine/unpack.c set_config_flag(scheduler, "stonith-enabled", pcmk_sched_fencing_enabled); scheduler 257 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 263 lib/pengine/unpack.c scheduler->stonith_action = pe_pref(scheduler->config_hash, scheduler 265 lib/pengine/unpack.c if (!strcmp(scheduler->stonith_action, "poweroff")) { scheduler 269 lib/pengine/unpack.c scheduler->stonith_action = PCMK_ACTION_OFF; scheduler 271 lib/pengine/unpack.c crm_trace("STONITH will %s nodes", scheduler->stonith_action); scheduler 273 lib/pengine/unpack.c set_config_flag(scheduler, "concurrent-fencing", scheduler 275 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_concurrent_fencing)) { scheduler 281 lib/pengine/unpack.c value = pe_pref(scheduler->config_hash, scheduler 284 lib/pengine/unpack.c scheduler->priority_fencing_delay = crm_parse_interval_spec(value) scheduler 287 lib/pengine/unpack.c scheduler->priority_fencing_delay); scheduler 290 lib/pengine/unpack.c set_config_flag(scheduler, "stop-all-resources", pcmk_sched_stop_all); scheduler 292 lib/pengine/unpack.c pcmk__btoa(pcmk_is_set(scheduler->flags, pcmk_sched_stop_all))); scheduler 294 lib/pengine/unpack.c set_config_flag(scheduler, "symmetric-cluster", scheduler 296 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_symmetric_cluster)) { scheduler 300 lib/pengine/unpack.c value = pe_pref(scheduler->config_hash, "no-quorum-policy"); scheduler 303 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_ignore; scheduler 306 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_freeze; scheduler 309 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_demote; scheduler 312 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 315 lib/pengine/unpack.c crm_element_value_int(scheduler->input, XML_ATTR_QUORUM_PANIC, scheduler 317 lib/pengine/unpack.c if (do_panic || pcmk_is_set(scheduler->flags, pcmk_sched_quorate)) { scheduler 318 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_fence; scheduler 321 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_stop; scheduler 326 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_stop; scheduler 330 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_stop; scheduler 333 lib/pengine/unpack.c switch (scheduler->no_quorum_policy) { scheduler 352 lib/pengine/unpack.c set_config_flag(scheduler, "stop-orphan-resources", scheduler 354 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_stop_removed_resources)) { scheduler 360 lib/pengine/unpack.c set_config_flag(scheduler, "stop-orphan-actions", scheduler 362 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_cancel_removed_actions)) { scheduler 368 lib/pengine/unpack.c value = pe_pref(scheduler->config_hash, "remove-after-stop"); scheduler 371 lib/pengine/unpack.c pe__set_working_set_flags(scheduler, pcmk_sched_remove_after_stop); scheduler 378 lib/pengine/unpack.c pe__clear_working_set_flags(scheduler, scheduler 383 lib/pengine/unpack.c set_config_flag(scheduler, "maintenance-mode", pcmk_sched_in_maintenance); scheduler 385 lib/pengine/unpack.c pcmk__btoa(pcmk_is_set(scheduler->flags, scheduler 388 lib/pengine/unpack.c set_config_flag(scheduler, "start-failure-is-fatal", scheduler 390 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_start_failure_fatal)) { scheduler 396 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 397 lib/pengine/unpack.c set_config_flag(scheduler, "startup-fencing", scheduler 400 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_startup_fencing)) { scheduler 406 lib/pengine/unpack.c pe__unpack_node_health_scores(scheduler); scheduler 408 lib/pengine/unpack.c scheduler->placement_strategy = pe_pref(scheduler->config_hash, scheduler 410 lib/pengine/unpack.c crm_trace("Placement strategy: %s", scheduler->placement_strategy); scheduler 412 lib/pengine/unpack.c set_config_flag(scheduler, "shutdown-lock", pcmk_sched_shutdown_lock); scheduler 413 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_shutdown_lock)) { scheduler 414 lib/pengine/unpack.c value = pe_pref(scheduler->config_hash, scheduler 416 lib/pengine/unpack.c scheduler->shutdown_lock = crm_parse_interval_spec(value) / 1000; scheduler 419 lib/pengine/unpack.c pcmk__readable_interval(scheduler->shutdown_lock)); scheduler 425 lib/pengine/unpack.c value = pe_pref(scheduler->config_hash, scheduler 427 lib/pengine/unpack.c scheduler->node_pending_timeout = crm_parse_interval_spec(value) / 1000; scheduler 428 lib/pengine/unpack.c if (scheduler->node_pending_timeout == 0) { scheduler 432 lib/pengine/unpack.c pcmk__readable_interval(scheduler->node_pending_timeout scheduler 441 lib/pengine/unpack.c const char *score, pcmk_scheduler_t *scheduler) scheduler 445 lib/pengine/unpack.c if (pe_find_node(scheduler->nodes, uname) != NULL) { scheduler 469 lib/pengine/unpack.c new_node->details->data_set = scheduler; scheduler 476 lib/pengine/unpack.c pe__set_working_set_flags(scheduler, pcmk_sched_have_remote_nodes); scheduler 508 lib/pengine/unpack.c scheduler->nodes = g_list_insert_sorted(scheduler->nodes, new_node, scheduler 571 lib/pengine/unpack.c handle_startup_fencing(pcmk_scheduler_t *scheduler, pcmk_node_t *new_node) scheduler 582 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_startup_fencing)) { scheduler 597 lib/pengine/unpack.c unpack_nodes(xmlNode *xml_nodes, pcmk_scheduler_t *scheduler) scheduler 623 lib/pengine/unpack.c new_node = pe_create_node(id, uname, type, score, scheduler); scheduler 629 lib/pengine/unpack.c handle_startup_fencing(scheduler, new_node); scheduler 631 lib/pengine/unpack.c add_node_attrs(xml_obj, new_node, FALSE, scheduler); scheduler 637 lib/pengine/unpack.c if (scheduler->localhost scheduler 638 lib/pengine/unpack.c && (pe_find_node(scheduler->nodes, scheduler->localhost) == NULL)) { scheduler 640 lib/pengine/unpack.c pe_create_node(scheduler->localhost, scheduler->localhost, NULL, 0, scheduler 641 lib/pengine/unpack.c scheduler); scheduler 648 lib/pengine/unpack.c setup_container(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 653 lib/pengine/unpack.c g_list_foreach(rsc->children, (GFunc) setup_container, scheduler); scheduler 659 lib/pengine/unpack.c pcmk_resource_t *container = pe_find_resource(scheduler->resources, scheduler 674 lib/pengine/unpack.c unpack_remote_nodes(xmlNode *xml_resources, pcmk_scheduler_t *scheduler) scheduler 694 lib/pengine/unpack.c && (pe_find_node(scheduler->nodes, new_node_id) == NULL)) { scheduler 698 lib/pengine/unpack.c scheduler); scheduler 712 lib/pengine/unpack.c scheduler); scheduler 714 lib/pengine/unpack.c && (pe_find_node(scheduler->nodes, new_node_id) == NULL)) { scheduler 718 lib/pengine/unpack.c scheduler); scheduler 732 lib/pengine/unpack.c scheduler); scheduler 735 lib/pengine/unpack.c && (pe_find_node(scheduler->nodes, new_node_id) == NULL)) { scheduler 739 lib/pengine/unpack.c scheduler); scheduler 756 lib/pengine/unpack.c link_rsc2remotenode(pcmk_scheduler_t *scheduler, pcmk_resource_t *new_rsc) scheduler 764 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_location_only)) { scheduler 769 lib/pengine/unpack.c remote_node = pe_find_node(scheduler->nodes, new_rsc->id); scheduler 780 lib/pengine/unpack.c handle_startup_fencing(scheduler, remote_node); scheduler 816 lib/pengine/unpack.c unpack_resources(const xmlNode *xml_resources, pcmk_scheduler_t *scheduler) scheduler 821 lib/pengine/unpack.c scheduler->template_rsc_sets = pcmk__strkey_table(free, destroy_tag); scheduler 837 lib/pengine/unpack.c if (g_hash_table_lookup_extended(scheduler->template_rsc_sets, id, scheduler 840 lib/pengine/unpack.c g_hash_table_insert(scheduler->template_rsc_sets, strdup(id), scheduler 849 lib/pengine/unpack.c scheduler) == pcmk_rc_ok) { scheduler 850 lib/pengine/unpack.c scheduler->resources = g_list_append(scheduler->resources, new_rsc); scheduler 860 lib/pengine/unpack.c for (gIter = scheduler->resources; gIter != NULL; gIter = gIter->next) { scheduler 863 lib/pengine/unpack.c setup_container(rsc, scheduler); scheduler 864 lib/pengine/unpack.c link_rsc2remotenode(scheduler, rsc); scheduler 867 lib/pengine/unpack.c scheduler->resources = g_list_sort(scheduler->resources, scheduler 869 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_location_only)) { scheduler 872 lib/pengine/unpack.c } else if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled) scheduler 873 lib/pengine/unpack.c && !pcmk_is_set(scheduler->flags, pcmk_sched_have_fencing)) { scheduler 884 lib/pengine/unpack.c unpack_tags(xmlNode *xml_tags, pcmk_scheduler_t *scheduler) scheduler 888 lib/pengine/unpack.c scheduler->tags = pcmk__strkey_table(free, destroy_tag); scheduler 921 lib/pengine/unpack.c if (add_tag_ref(scheduler->tags, tag_id, obj_ref) == FALSE) { scheduler 933 lib/pengine/unpack.c unpack_ticket_state(xmlNode *xml_ticket, pcmk_scheduler_t *scheduler) scheduler 950 lib/pengine/unpack.c ticket = g_hash_table_lookup(scheduler->tickets, ticket_id); scheduler 952 lib/pengine/unpack.c ticket = ticket_new(ticket_id, scheduler); scheduler 1001 lib/pengine/unpack.c unpack_tickets_state(xmlNode *xml_tickets, pcmk_scheduler_t *scheduler) scheduler 1011 lib/pengine/unpack.c unpack_ticket_state(xml_obj, scheduler); scheduler 1019 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 1043 lib/pengine/unpack.c add_node_attrs(attrs, this_node, TRUE, scheduler); scheduler 1064 lib/pengine/unpack.c && !pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 1092 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 1098 lib/pengine/unpack.c add_node_attrs(attrs, node, TRUE, scheduler); scheduler 1131 lib/pengine/unpack.c unpack_node_state(const xmlNode *state, pcmk_scheduler_t *scheduler) scheduler 1156 lib/pengine/unpack.c this_node = pe_find_node_any(scheduler->nodes, id, uname); scheduler 1175 lib/pengine/unpack.c unpack_transient_attributes(state, this_node, scheduler); scheduler 1185 lib/pengine/unpack.c determine_online_status(state, this_node, scheduler); scheduler 1187 lib/pengine/unpack.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_quorate) scheduler 1189 lib/pengine/unpack.c && (scheduler->no_quorum_policy == pcmk_no_quorum_fence)) { scheduler 1194 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, "cluster does not have quorum", scheduler 1218 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 1237 lib/pengine/unpack.c this_node = pe_find_node_any(scheduler->nodes, id, uname); scheduler 1278 lib/pengine/unpack.c || (!pcmk_is_set(scheduler->flags, pcmk_sched_shutdown_lock) scheduler 1290 lib/pengine/unpack.c } else if (!pcmk_any_flags_set(scheduler->flags, scheduler 1300 lib/pengine/unpack.c determine_remote_online_status(scheduler, this_node); scheduler 1301 lib/pengine/unpack.c unpack_handle_remote_attrs(this_node, state, scheduler); scheduler 1308 lib/pengine/unpack.c unpack_node_lrm(this_node, state, scheduler); scheduler 1319 lib/pengine/unpack.c unpack_status(xmlNode *status, pcmk_scheduler_t *scheduler) scheduler 1325 lib/pengine/unpack.c if (scheduler->tickets == NULL) { scheduler 1326 lib/pengine/unpack.c scheduler->tickets = pcmk__strkey_table(free, destroy_ticket); scheduler 1333 lib/pengine/unpack.c unpack_tickets_state((xmlNode *) state, scheduler); scheduler 1336 lib/pengine/unpack.c unpack_node_state(state, scheduler); scheduler 1340 lib/pengine/unpack.c while (unpack_node_history(status, FALSE, scheduler) == EAGAIN) { scheduler 1346 lib/pengine/unpack.c pcmk_is_set(scheduler->flags, scheduler 1348 lib/pengine/unpack.c scheduler); scheduler 1353 lib/pengine/unpack.c if (scheduler->stop_needed != NULL) { scheduler 1354 lib/pengine/unpack.c for (GList *item = scheduler->stop_needed; item; item = item->next) { scheduler 1362 lib/pengine/unpack.c g_list_free(scheduler->stop_needed); scheduler 1363 lib/pengine/unpack.c scheduler->stop_needed = NULL; scheduler 1370 lib/pengine/unpack.c for (GList *gIter = scheduler->nodes; gIter != NULL; gIter = gIter->next) { scheduler 1382 lib/pengine/unpack.c determine_remote_online_status(scheduler, this_node); scheduler 1401 lib/pengine/unpack.c unpack_node_member(const xmlNode *node_state, pcmk_scheduler_t *scheduler) scheduler 1419 lib/pengine/unpack.c return member? (long long) get_effective_time(scheduler) : 0LL; scheduler 1498 lib/pengine/unpack.c determine_online_status_no_fencing(pcmk_scheduler_t *scheduler, scheduler 1505 lib/pengine/unpack.c long long when_member = unpack_node_member(node_state, scheduler); scheduler 1528 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, "peer is unexpectedly down", FALSE); scheduler 1550 lib/pengine/unpack.c pending_too_long(pcmk_scheduler_t *scheduler, const pcmk_node_t *node, scheduler 1553 lib/pengine/unpack.c if ((scheduler->node_pending_timeout > 0) scheduler 1557 lib/pengine/unpack.c time_t timeout = when_member + scheduler->node_pending_timeout; scheduler 1564 lib/pengine/unpack.c pe__update_recheck_time(timeout, scheduler, "pending node timeout"); scheduler 1570 lib/pengine/unpack.c determine_online_status_fencing(pcmk_scheduler_t *scheduler, scheduler 1577 lib/pengine/unpack.c long long when_member = unpack_node_member(node_state, scheduler); scheduler 1611 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, scheduler 1617 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, scheduler 1626 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, "fencing was requested", false); scheduler 1631 lib/pengine/unpack.c if (pending_too_long(scheduler, this_node, when_member, when_online)) { scheduler 1632 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, scheduler 1649 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, scheduler 1653 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, scheduler 1668 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, "peer was in an unknown state", scheduler 1676 lib/pengine/unpack.c determine_remote_online_status(pcmk_scheduler_t *scheduler, scheduler 1750 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 1774 lib/pengine/unpack.c } else if (!pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 1775 lib/pengine/unpack.c online = determine_online_status_no_fencing(scheduler, node_state, scheduler 1779 lib/pengine/unpack.c online = determine_online_status_fencing(scheduler, node_state, scheduler 1904 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 1913 lib/pengine/unpack.c if (pe__unpack_resource(xml_rsc, &rsc, NULL, scheduler) != pcmk_rc_ok) { scheduler 1921 lib/pengine/unpack.c node = pe_find_node(scheduler->nodes, rsc_id); scheduler 1923 lib/pengine/unpack.c node = pe_create_node(rsc_id, rsc_id, "remote", NULL, scheduler); scheduler 1925 lib/pengine/unpack.c link_rsc2remotenode(scheduler, rsc); scheduler 1939 lib/pengine/unpack.c scheduler->resources = g_list_append(scheduler->resources, rsc); scheduler 1956 lib/pengine/unpack.c const pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 1958 lib/pengine/unpack.c pcmk_resource_t *top = pe__create_clone_child(parent, scheduler); scheduler 1984 lib/pengine/unpack.c find_anonymous_clone(pcmk_scheduler_t *scheduler, const pcmk_node_t *node, scheduler 2096 lib/pengine/unpack.c && !pe__is_universal_clone(parent, scheduler)) { scheduler 2102 lib/pengine/unpack.c rsc = create_anonymous_orphan(parent, rsc_id, node, scheduler); scheduler 2109 lib/pengine/unpack.c unpack_find_resource(pcmk_scheduler_t *scheduler, const pcmk_node_t *node, scheduler 2116 lib/pengine/unpack.c rsc = pe_find_resource(scheduler->resources, rsc_id); scheduler 2124 lib/pengine/unpack.c pcmk_resource_t *clone0 = pe_find_resource(scheduler->resources, scheduler 2153 lib/pengine/unpack.c rsc = find_anonymous_clone(scheduler, node, parent, base); scheduler 2172 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2178 lib/pengine/unpack.c rsc = create_fake_resource(rsc_id, rsc_entry, scheduler); scheduler 2183 lib/pengine/unpack.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_stop_removed_resources)) { scheduler 2190 lib/pengine/unpack.c scheduler); scheduler 2474 lib/pengine/unpack.c GList *sorted_op_list, pcmk_scheduler_t *scheduler) scheduler 2527 lib/pengine/unpack.c custom_action(rsc, key, task, node, TRUE, scheduler); scheduler 2586 lib/pengine/unpack.c const pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 2593 lib/pengine/unpack.c if ((scheduler->shutdown_lock > 0) scheduler 2594 lib/pengine/unpack.c && (get_effective_time(scheduler) scheduler 2595 lib/pengine/unpack.c > (lock_time + scheduler->shutdown_lock))) { scheduler 2622 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2656 lib/pengine/unpack.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_shutdown_lock)) { scheduler 2664 lib/pengine/unpack.c rsc = unpack_find_resource(scheduler, node, rsc_id); scheduler 2670 lib/pengine/unpack.c rsc = process_orphan_resource(lrm_resource, node, scheduler); scheduler 2676 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_shutdown_lock)) { scheduler 2677 lib/pengine/unpack.c unpack_shutdown_lock(lrm_resource, rsc, node, scheduler); scheduler 2694 lib/pengine/unpack.c scheduler); scheduler 2723 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2743 lib/pengine/unpack.c container = pe_find_resource(scheduler->resources, container_id); scheduler 2748 lib/pengine/unpack.c rsc = pe_find_resource(scheduler->resources, rsc_id); scheduler 2771 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2789 lib/pengine/unpack.c pcmk_resource_t *rsc = unpack_lrm_resource(node, rsc_entry, scheduler); scheduler 2801 lib/pengine/unpack.c handle_orphaned_container_fillers(xml, scheduler); scheduler 2835 lib/pengine/unpack.c int target_rc, pcmk_scheduler_t *scheduler) scheduler 2865 lib/pengine/unpack.c xml = get_xpath_object((const char *) xpath->str, scheduler->input, scheduler 2884 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2897 lib/pengine/unpack.c xml = get_xpath_object((const char *) xpath->str, scheduler->input, scheduler 2947 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2953 lib/pengine/unpack.c NULL, PCMK_OCF_NOT_RUNNING, scheduler); scheduler 2973 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2977 lib/pengine/unpack.c lrm_resource = find_lrm_resource(rsc_id, node_name, scheduler); scheduler 3019 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 3059 lib/pengine/unpack.c return non_monitor_after(rsc_id, node_name, xml_op, same_node, scheduler) scheduler 3061 lib/pengine/unpack.c scheduler); scheduler 4064 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 4066 lib/pengine/unpack.c pcmk_node_t *remote_node = pe_find_node(scheduler->nodes, remote_conn->id); scheduler 4070 lib/pengine/unpack.c FALSE, scheduler); scheduler 4888 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 4895 lib/pengine/unpack.c .now = scheduler->now, scheduler 4906 lib/pengine/unpack.c if (pcmk__str_eq(node->details->id, scheduler->dc_uuid, pcmk__str_casei)) { scheduler 4907 lib/pengine/unpack.c scheduler->dc_node = node; scheduler 4916 lib/pengine/unpack.c cluster_name = g_hash_table_lookup(scheduler->config_hash, "cluster-name"); scheduler 4924 lib/pengine/unpack.c scheduler); scheduler 4928 lib/pengine/unpack.c FALSE, scheduler); scheduler 5013 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 5019 lib/pengine/unpack.c xmlNode *status = find_xml_node(scheduler->input, XML_CIB_TAG_STATUS, TRUE); scheduler 5035 lib/pengine/unpack.c this_node = pe_find_node(scheduler->nodes, uname); scheduler 5041 lib/pengine/unpack.c determine_remote_online_status(scheduler, this_node); scheduler 5044 lib/pengine/unpack.c determine_online_status(node_state, this_node, scheduler); scheduler 5048 lib/pengine/unpack.c || pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 36 lib/pengine/utils.c pe_can_fence(const pcmk_scheduler_t *scheduler, const pcmk_node_t *node) scheduler 48 lib/pengine/utils.c && !pe_can_fence(scheduler, container_node)) { scheduler 54 lib/pengine/utils.c } else if (!pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 57 lib/pengine/utils.c } else if (!pcmk_is_set(scheduler->flags, pcmk_sched_have_fencing)) { scheduler 60 lib/pengine/utils.c } else if (pcmk_is_set(scheduler->flags, pcmk_sched_quorate)) { scheduler 63 lib/pengine/utils.c } else if (scheduler->no_quorum_policy == pcmk_no_quorum_ignore) { scheduler 178 lib/pengine/utils.c GHashTable *nodes, pcmk_scheduler_t *scheduler) scheduler 180 lib/pengine/utils.c pcmk__output_t *out = scheduler->priv; scheduler 253 lib/pengine/utils.c pcmk_scheduler_t *scheduler) scheduler 267 lib/pengine/utils.c pe__output_node_weights(rsc, comment, nodes, scheduler); scheduler 276 lib/pengine/utils.c comment, child->allowed_nodes, scheduler); scheduler 361 lib/pengine/utils.c const char *tag, pcmk_scheduler_t *scheduler) scheduler 366 lib/pengine/utils.c } else if (scheduler != NULL) { scheduler 367 lib/pengine/utils.c GList *gIter = scheduler->nodes; scheduler 396 lib/pengine/utils.c get_effective_time(pcmk_scheduler_t *scheduler) scheduler 398 lib/pengine/utils.c if(scheduler) { scheduler 399 lib/pengine/utils.c if (scheduler->now == NULL) { scheduler 401 lib/pengine/utils.c scheduler->now = crm_time_new(NULL); scheduler 403 lib/pengine/utils.c return crm_time_get_seconds_since_epoch(scheduler->now); scheduler 510 lib/pengine/utils.c ticket_new(const char *ticket_id, pcmk_scheduler_t *scheduler) scheduler 518 lib/pengine/utils.c if (scheduler->tickets == NULL) { scheduler 519 lib/pengine/utils.c scheduler->tickets = pcmk__strkey_table(free, destroy_ticket); scheduler 522 lib/pengine/utils.c ticket = g_hash_table_lookup(scheduler->tickets, ticket_id); scheduler 539 lib/pengine/utils.c g_hash_table_insert(scheduler->tickets, strdup(ticket->id), ticket); scheduler 562 lib/pengine/utils.c pe__clear_resource_flags_on_all(pcmk_scheduler_t *scheduler, uint64_t flag) scheduler 564 lib/pengine/utils.c for (GList *lpc = scheduler->resources; lpc != NULL; lpc = lpc->next) { scheduler 582 lib/pengine/utils.c pcmk_action_t *dependency, pcmk_scheduler_t *scheduler) scheduler 584 lib/pengine/utils.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_enable_unfencing)) { scheduler 598 lib/pengine/utils.c reason, FALSE, scheduler); scheduler 610 lib/pengine/utils.c trigger_unfencing(rsc, node, reason, dependency, scheduler); scheduler 682 lib/pengine/utils.c pe__update_recheck_time(time_t recheck, pcmk_scheduler_t *scheduler, scheduler 685 lib/pengine/utils.c if ((recheck > get_effective_time(scheduler)) scheduler 686 lib/pengine/utils.c && ((scheduler->recheck_by == 0) scheduler 687 lib/pengine/utils.c || (scheduler->recheck_by > recheck))) { scheduler 688 lib/pengine/utils.c scheduler->recheck_by = recheck; scheduler 710 lib/pengine/utils.c gboolean overwrite, pcmk_scheduler_t *scheduler) scheduler 714 lib/pengine/utils.c pe_eval_nvpairs(scheduler->input, xml_obj, set_name, rule_data, hash, scheduler 719 lib/pengine/utils.c pe__update_recheck_time(recheck, scheduler, "rule evaluation"); scheduler 801 lib/pengine/utils.c pe__build_node_name_list(pcmk_scheduler_t *scheduler, const char *s) scheduler 812 lib/pengine/utils.c pcmk_node_t *node = pe_find_node(scheduler->nodes, s); scheduler 826 lib/pengine/utils.c nodes = pe__unames_with_tag(scheduler, s); scheduler 834 lib/pengine/utils.c pe__build_rsc_list(pcmk_scheduler_t *scheduler, const char *s) scheduler 842 lib/pengine/utils.c pcmk_resource_t *rsc = pe_find_resource_with_flags(scheduler->resources, scheduler 861 lib/pengine/utils.c resources = pe__rscs_with_tag(scheduler, s); scheduler 186 tools/crm_resource.c static pcmk_scheduler_t *scheduler = NULL; scheduler 230 tools/crm_resource.c pe_free_working_set(scheduler); scheduler 231 tools/crm_resource.c scheduler = NULL; scheduler 1041 tools/crm_resource.c scheduler, options.force); scheduler 1064 tools/crm_resource.c before = build_constraint_list(scheduler->input); scheduler 1068 tools/crm_resource.c rc = cli_resource_clear_all_expired(scheduler->input, cib_conn, scheduler 1074 tools/crm_resource.c dest = pe_find_node(scheduler->nodes, options.host_uname); scheduler 1086 tools/crm_resource.c rc = cli_resource_clear(options.rsc_id, NULL, scheduler->nodes, scheduler 1103 tools/crm_resource.c scheduler->input = *cib_xml_copy; scheduler 1104 tools/crm_resource.c cluster_status(scheduler); scheduler 1106 tools/crm_resource.c after = build_constraint_list(scheduler->input); scheduler 1160 tools/crm_resource.c scheduler = pe_new_working_set(); scheduler 1161 tools/crm_resource.c if (scheduler == NULL) { scheduler 1164 tools/crm_resource.c pe__set_working_set_flags(scheduler, scheduler 1167 tools/crm_resource.c scheduler->priv = out; scheduler 1168 tools/crm_resource.c rc = update_scheduler_input(scheduler, cib_xml_copy); scheduler 1178 tools/crm_resource.c cluster_status(scheduler); scheduler 1190 tools/crm_resource.c pcmk_node_t *node = pe_find_node(scheduler->nodes, options.host_uname); scheduler 1238 tools/crm_resource.c FALSE, scheduler, options.force); scheduler 1666 tools/crm_resource.c rsc = pe_find_resource_with_flags(scheduler->resources, options.rsc_id, scheduler 1689 tools/crm_resource.c if ((options.host_uname != NULL) && (scheduler != NULL)) { scheduler 1690 tools/crm_resource.c node = pe_find_node(scheduler->nodes, options.host_uname); scheduler 1729 tools/crm_resource.c rc = out->message(out, "resource-list", scheduler, scheduler 1741 tools/crm_resource.c rc = out->message(out, "resource-names-list", scheduler->resources); scheduler 1795 tools/crm_resource.c options.timeout_ms, cib_conn, scheduler, scheduler 1801 tools/crm_resource.c node = pe_find_node(scheduler->nodes, options.host_uname); scheduler 1817 tools/crm_resource.c g_list_foreach(scheduler->resources, (GFunc) cli_resource_print_cts, scheduler 1819 tools/crm_resource.c cli_resource_print_cts_constraints(scheduler); scheduler 1824 tools/crm_resource.c options.rsc_id, scheduler); scheduler 1833 tools/crm_resource.c scheduler); scheduler 1839 tools/crm_resource.c scheduler); scheduler 1843 tools/crm_resource.c GList *nodes = cli_resource_search(rsc, options.rsc_id, scheduler); scheduler 1850 tools/crm_resource.c rc = cli_resource_print(rsc, scheduler, true); scheduler 1854 tools/crm_resource.c rc = cli_resource_print(rsc, scheduler, false); scheduler 1862 tools/crm_resource.c scheduler->resources, rsc, node); scheduler 1876 tools/crm_resource.c options.cib_options, scheduler, scheduler 1937 tools/crm_resource.c params = pe_rsc_params(rsc, current, scheduler); scheduler 1944 tools/crm_resource.c get_meta_attributes(params, rsc, current, scheduler); scheduler 1956 tools/crm_resource.c NULL, FALSE, scheduler); scheduler 2004 tools/crm_resource.c scheduler); scheduler 69 tools/crm_resource.h void cli_resource_print_cts_constraints(pcmk_scheduler_t *scheduler); scheduler 71 tools/crm_resource.h int cli_resource_print(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler, scheduler 74 tools/crm_resource.h bool active, pcmk_scheduler_t *scheduler); scheduler 80 tools/crm_resource.h const char *rsc_id, pcmk_scheduler_t *scheduler); scheduler 82 tools/crm_resource.h pcmk_scheduler_t *scheduler); scheduler 86 tools/crm_resource.h pcmk_scheduler_t *scheduler, gboolean force); scheduler 89 tools/crm_resource.h pcmk_scheduler_t *scheduler); scheduler 96 tools/crm_resource.h cib_t *cib, int cib_options, pcmk_scheduler_t *scheduler, scheduler 108 tools/crm_resource.h pcmk_scheduler_t *scheduler, scheduler 123 tools/crm_resource.h int update_scheduler_input(pcmk_scheduler_t *scheduler, xmlNode **xml); scheduler 23 tools/crm_resource_print.c pcmk_scheduler_t *scheduler = (pcmk_scheduler_t *) userdata; scheduler 24 tools/crm_resource_print.c pcmk__output_t *out = scheduler->priv; scheduler 34 tools/crm_resource_print.c if (pe_evaluate_rules(lifetime, NULL, scheduler->now, NULL) == FALSE) { scheduler 55 tools/crm_resource_print.c cli_resource_print_cts_constraints(pcmk_scheduler_t *scheduler) scheduler 57 tools/crm_resource_print.c pcmk__xe_foreach_child(pcmk_find_cib_element(scheduler->input, scheduler 59 tools/crm_resource_print.c NULL, print_constraint, scheduler); scheduler 94 tools/crm_resource_print.c bool active, pcmk_scheduler_t *scheduler) scheduler 96 tools/crm_resource_print.c pcmk__output_t *out = scheduler->priv; scheduler 98 tools/crm_resource_print.c GList *ops = find_operations(rsc_id, host_uname, active, scheduler); scheduler 109 tools/crm_resource_print.c out->message(out, "node-and-op", scheduler, xml_op); scheduler 118 tools/crm_resource_print.c cli_resource_print(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler, scheduler 121 tools/crm_resource_print.c pcmk__output_t *out = scheduler->priv; scheduler 45 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler) scheduler 543 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler) scheduler 545 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 553 tools/crm_resource_runtime.c pcmk_resource_t *rsc = pe_find_resource(scheduler->resources, rsc_id); scheduler 573 tools/crm_resource_runtime.c pcmk_node_t *node = pe_find_node(scheduler->nodes, host_uname); scheduler 639 tools/crm_resource_runtime.c const char *rsc_id, pcmk_scheduler_t *scheduler) scheduler 648 tools/crm_resource_runtime.c rc = send_lrm_rsc_op(controld_api, false, host_uname, rsc_id, scheduler); scheduler 666 tools/crm_resource_runtime.c const char *interval_spec, pcmk_scheduler_t *scheduler) scheduler 687 tools/crm_resource_runtime.c for (xmlNode *xml_op = pcmk__xml_first_child(scheduler->failed); scheduler 701 tools/crm_resource_runtime.c fail_rsc = pe_find_resource_with_flags(scheduler->resources, scheduler 736 tools/crm_resource_runtime.c rc = clear_rsc_history(controld_api, node_name, failed_id, scheduler); scheduler 770 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler, gboolean force) scheduler 772 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 785 tools/crm_resource_runtime.c interval_spec, just_failures, scheduler, scheduler 798 tools/crm_resource_runtime.c nodes = pcmk__copy_node_list(scheduler->nodes, false); scheduler 821 tools/crm_resource_runtime.c scheduler, force); scheduler 833 tools/crm_resource_runtime.c node = pe_find_node(scheduler->nodes, host_uname); scheduler 862 tools/crm_resource_runtime.c interval_spec, scheduler); scheduler 864 tools/crm_resource_runtime.c rc = clear_rsc_history(controld_api, host_uname, rsc->id, scheduler); scheduler 879 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler) scheduler 881 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 893 tools/crm_resource_runtime.c pcmk_node_t *node = pe_find_node(scheduler->nodes, node_name); scheduler 914 tools/crm_resource_runtime.c operation, interval_spec, scheduler); scheduler 921 tools/crm_resource_runtime.c for (GList *iter = scheduler->nodes; iter; iter = iter->next) { scheduler 925 tools/crm_resource_runtime.c operation, interval_spec, scheduler); scheduler 1055 tools/crm_resource_runtime.c const char *rsc_id, pcmk_scheduler_t *scheduler) scheduler 1058 tools/crm_resource_runtime.c return send_lrm_rsc_op(controld_api, true, host_uname, rsc_id, scheduler); scheduler 1063 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler) scheduler 1074 tools/crm_resource_runtime.c params = pe_rsc_params(rsc, node, scheduler); scheduler 1083 tools/crm_resource_runtime.c get_meta_attributes(meta, rsc, node, scheduler); scheduler 1200 tools/crm_resource_runtime.c update_scheduler_input(pcmk_scheduler_t *scheduler, xmlNode **xml) scheduler 1205 tools/crm_resource_runtime.c scheduler->input = *xml; scheduler 1206 tools/crm_resource_runtime.c scheduler->now = crm_time_new(NULL); scheduler 1222 tools/crm_resource_runtime.c update_scheduler_input_to_cib(pcmk__output_t *out, pcmk_scheduler_t *scheduler, scheduler 1235 tools/crm_resource_runtime.c rc = update_scheduler_input(scheduler, &cib_xml_copy); scheduler 1247 tools/crm_resource_runtime.c update_dataset(cib_t *cib, pcmk_scheduler_t *scheduler, bool simulate) scheduler 1254 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 1256 tools/crm_resource_runtime.c pe_reset_working_set(scheduler); scheduler 1257 tools/crm_resource_runtime.c pe__set_working_set_flags(scheduler, scheduler 1259 tools/crm_resource_runtime.c rc = update_scheduler_input_to_cib(out, scheduler, cib); scheduler 1277 tools/crm_resource_runtime.c rc = write_xml_file(scheduler->input, shadow_file, FALSE); scheduler 1292 tools/crm_resource_runtime.c pcmk__schedule_actions(scheduler->input, scheduler 1294 tools/crm_resource_runtime.c scheduler); scheduler 1298 tools/crm_resource_runtime.c pcmk__simulate_transition(scheduler, shadow_cib, NULL); scheduler 1301 tools/crm_resource_runtime.c rc = update_dataset(shadow_cib, scheduler, false); scheduler 1304 tools/crm_resource_runtime.c cluster_status(scheduler); scheduler 1391 tools/crm_resource_runtime.c wait_time_estimate(pcmk_scheduler_t *scheduler, const GList *resources) scheduler 1397 tools/crm_resource_runtime.c pcmk_resource_t *rsc = pe_find_resource(scheduler->resources, scheduler 1461 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler = NULL; scheduler 1541 tools/crm_resource_runtime.c scheduler = pe_new_working_set(); scheduler 1542 tools/crm_resource_runtime.c if (scheduler == NULL) { scheduler 1548 tools/crm_resource_runtime.c scheduler->priv = out; scheduler 1549 tools/crm_resource_runtime.c rc = update_dataset(cib, scheduler, false); scheduler 1556 tools/crm_resource_runtime.c restart_target_active = get_active_resources(host, scheduler->resources); scheduler 1557 tools/crm_resource_runtime.c current_active = get_active_resources(host, scheduler->resources); scheduler 1593 tools/crm_resource_runtime.c rc = update_dataset(cib, scheduler, true); scheduler 1599 tools/crm_resource_runtime.c target_active = get_active_resources(host, scheduler->resources); scheduler 1610 tools/crm_resource_runtime.c step_timeout_s = wait_time_estimate(scheduler, list_delta) scheduler 1621 tools/crm_resource_runtime.c rc = update_dataset(cib, scheduler, FALSE); scheduler 1630 tools/crm_resource_runtime.c current_active = get_active_resources(host, scheduler->resources); scheduler 1684 tools/crm_resource_runtime.c step_timeout_s = wait_time_estimate(scheduler, list_delta) scheduler 1697 tools/crm_resource_runtime.c rc = update_dataset(cib, scheduler, false); scheduler 1709 tools/crm_resource_runtime.c current_active = get_active_resources(NULL, scheduler->resources); scheduler 1759 tools/crm_resource_runtime.c pe_free_working_set(scheduler); scheduler 1844 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler = NULL; scheduler 1853 tools/crm_resource_runtime.c scheduler = pe_new_working_set(); scheduler 1854 tools/crm_resource_runtime.c if (scheduler == NULL) { scheduler 1864 tools/crm_resource_runtime.c print_pending_actions(out, scheduler->actions); scheduler 1865 tools/crm_resource_runtime.c pe_free_working_set(scheduler); scheduler 1873 tools/crm_resource_runtime.c pe_reset_working_set(scheduler); scheduler 1874 tools/crm_resource_runtime.c rc = update_scheduler_input_to_cib(out, scheduler, cib); scheduler 1876 tools/crm_resource_runtime.c pe_free_working_set(scheduler); scheduler 1879 tools/crm_resource_runtime.c pcmk__schedule_actions(scheduler->input, scheduler 1881 tools/crm_resource_runtime.c scheduler); scheduler 1892 tools/crm_resource_runtime.c const char *dc_version = g_hash_table_lookup(scheduler->config_hash, scheduler 1902 tools/crm_resource_runtime.c search = xpath_search(scheduler->input, "/cib/status/node_state/lrm/lrm_resources/lrm_resource/" scheduler 1906 tools/crm_resource_runtime.c } while (actions_are_pending(scheduler->actions) || pending_unknown_state_resources); scheduler 1908 tools/crm_resource_runtime.c pe_free_working_set(scheduler); scheduler 2066 tools/crm_resource_runtime.c int timeout_ms, cib_t *cib, pcmk_scheduler_t *scheduler, scheduler 2069 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 2080 tools/crm_resource_runtime.c GList *nodes = cli_resource_search(rsc, requested_name, scheduler); scheduler 2111 tools/crm_resource_runtime.c scheduler); scheduler 2115 tools/crm_resource_runtime.c scheduler); scheduler 2130 tools/crm_resource_runtime.c int cib_options, pcmk_scheduler_t *scheduler, scheduler 2133 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 2137 tools/crm_resource_runtime.c pcmk_node_t *dest = pe_find_node(scheduler->nodes, host_name); scheduler 2204 tools/crm_resource_runtime.c cli_resource_clear(rsc_id, NULL, scheduler->nodes, cib, cib_options, false, scheduler 2208 tools/crm_resource_runtime.c cli_resource_clear(rsc_id, dest->details->uname, scheduler->nodes, cib, scheduler 454 tools/crm_simulate.c pcmk_scheduler_t *scheduler = NULL; scheduler 517 tools/crm_simulate.c scheduler = pe_new_working_set(); scheduler 518 tools/crm_simulate.c if (scheduler == NULL) { scheduler 526 tools/crm_simulate.c pe__set_working_set_flags(scheduler, pcmk_sched_output_scores); scheduler 529 tools/crm_simulate.c pe__set_working_set_flags(scheduler, pcmk_sched_show_utilization); scheduler 531 tools/crm_simulate.c pe__set_working_set_flags(scheduler, pcmk_sched_no_compat); scheduler 534 tools/crm_simulate.c scheduler->priv = out; scheduler 535 tools/crm_simulate.c pcmk__profile_dir(options.test_dir, options.repeat, scheduler, scheduler 548 tools/crm_simulate.c rc = pcmk__simulate(scheduler, out, options.injections, options.flags, scheduler 568 tools/crm_simulate.c if (scheduler != NULL) { scheduler 569 tools/crm_simulate.c pe_free_working_set(scheduler); scheduler 258 tools/crm_ticket.c find_ticket(gchar *ticket_id, pcmk_scheduler_t *scheduler) scheduler 260 tools/crm_ticket.c return g_hash_table_lookup(scheduler->tickets, ticket_id); scheduler 329 tools/crm_ticket.c print_ticket_list(pcmk_scheduler_t *scheduler, bool raw, bool details) scheduler 334 tools/crm_ticket.c g_hash_table_iter_init(&iter, scheduler->tickets); scheduler 474 tools/crm_ticket.c pcmk_scheduler_t *scheduler) scheduler 481 tools/crm_ticket.c ticket = g_hash_table_lookup(scheduler->tickets, ticket_id); scheduler 567 tools/crm_ticket.c modify_ticket_state(gchar *ticket_id, cib_t *cib, pcmk_scheduler_t *scheduler) scheduler 608 tools/crm_ticket.c ticket = find_ticket(ticket_id, scheduler); scheduler 722 tools/crm_ticket.c pcmk_scheduler_t *scheduler = NULL; scheduler 754 tools/crm_ticket.c scheduler = pe_new_working_set(); scheduler 755 tools/crm_ticket.c if (scheduler == NULL) { scheduler 762 tools/crm_ticket.c pe__set_working_set_flags(scheduler, scheduler 804 tools/crm_ticket.c scheduler->input = cib_xml_copy; scheduler 805 tools/crm_ticket.c scheduler->now = crm_time_new(NULL); scheduler 807 tools/crm_ticket.c cluster_status(scheduler); scheduler 811 tools/crm_ticket.c pcmk__unpack_constraints(scheduler); scheduler 824 tools/crm_ticket.c pcmk_ticket_t *ticket = find_ticket(options.ticket_id, scheduler); scheduler 835 tools/crm_ticket.c print_ticket_list(scheduler, raw, details); scheduler 867 tools/crm_ticket.c &value, scheduler); scheduler 887 tools/crm_ticket.c ticket = find_ticket(options.ticket_id, scheduler); scheduler 941 tools/crm_ticket.c rc = modify_ticket_state(options.ticket_id, cib_conn, scheduler); scheduler 992 tools/crm_ticket.c pe_free_working_set(scheduler); scheduler 993 tools/crm_ticket.c scheduler = NULL; scheduler 121 tools/crm_verify.c pcmk_scheduler_t *scheduler = NULL; scheduler 236 tools/crm_verify.c scheduler = pe_new_working_set(); scheduler 237 tools/crm_verify.c if (scheduler == NULL) { scheduler 243 tools/crm_verify.c scheduler->priv = out; scheduler 257 tools/crm_verify.c pcmk__schedule_actions(cib_object, flags, scheduler); scheduler 259 tools/crm_verify.c pe_free_working_set(scheduler);