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 pcmk__set_scheduler_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 183 daemons/fenced/fenced_scheduler.c get_meta_attributes(rsc->meta, rsc, node, scheduler); scheduler 186 daemons/fenced/fenced_scheduler.c g_hash_table_iter_init(&hash_iter, pe_rsc_params(rsc, node, scheduler)); scheduler 212 daemons/fenced/fenced_scheduler.c CRM_CHECK((cib != NULL) && (scheduler != NULL), return); scheduler 214 daemons/fenced/fenced_scheduler.c if (scheduler->now != NULL) { scheduler 215 daemons/fenced/fenced_scheduler.c crm_time_free(scheduler->now); scheduler 216 daemons/fenced/fenced_scheduler.c scheduler->now = NULL; scheduler 218 daemons/fenced/fenced_scheduler.c scheduler->localhost = stonith_our_uname; scheduler 221 daemons/fenced/fenced_scheduler.c |pcmk_sched_no_counts, scheduler); scheduler 222 daemons/fenced/fenced_scheduler.c g_list_foreach(scheduler->resources, register_if_fencing_device, NULL); scheduler 224 daemons/fenced/fenced_scheduler.c scheduler->input = NULL; // Wasn't a copy, so don't let API free it scheduler 225 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 pcmk__mem_assert(scheduler); scheduler 38 daemons/schedulerd/schedulerd_messages.c scheduler->priv = logger_out; scheduler 39 daemons/schedulerd/schedulerd_messages.c return scheduler; scheduler 76 daemons/schedulerd/schedulerd_messages.c pcmk_scheduler_t *scheduler = init_working_set(); scheduler 85 daemons/schedulerd/schedulerd_messages.c scheduler->graph = pcmk__xe_create(NULL, PCMK__XE_TRANSITION_GRAPH); scheduler 86 daemons/schedulerd/schedulerd_messages.c crm_xml_add_int(scheduler->graph, "transition_id", 0); scheduler 87 daemons/schedulerd/schedulerd_messages.c crm_xml_add_int(scheduler->graph, PCMK_OPT_CLUSTER_DELAY, 0); scheduler 104 daemons/schedulerd/schedulerd_messages.c |pcmk_sched_show_utilization, scheduler); scheduler 116 daemons/schedulerd/schedulerd_messages.c value = pcmk__cluster_option(scheduler->config_hash, scheduler 131 daemons/schedulerd/schedulerd_messages.c scheduler->input = NULL; scheduler 132 daemons/schedulerd/schedulerd_messages.c reply = create_reply(msg, scheduler->graph); scheduler 178 daemons/schedulerd/schedulerd_messages.c pe_free_working_set(scheduler); scheduler 40 include/crm/common/health_internal.h int pcmk__health_score(const char *option, const pcmk_scheduler_t *scheduler); scheduler 264 include/crm/common/resources.h gboolean (*unpack)(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler); scheduler 292 include/crm/common/resources.h const char *name, pcmk_scheduler_t *scheduler); scheduler 283 include/crm/common/scheduler.h pcmk_node_t *pcmk_get_dc(const pcmk_scheduler_t *scheduler); scheduler 285 include/crm/common/scheduler.h *scheduler); scheduler 287 include/crm/common/scheduler.h int pcmk_set_scheduler_cib(pcmk_scheduler_t *scheduler, xmlNode *cib); scheduler 289 include/crm/common/scheduler.h bool pcmk_has_quorum(const pcmk_scheduler_t *scheduler); scheduler 290 include/crm/common/scheduler.h pcmk_node_t *pcmk_find_node(const pcmk_scheduler_t *scheduler, scheduler 108 include/crm/common/scheduler_internal.h #define pcmk__set_scheduler_flags(scheduler, flags_to_set) do { \ scheduler 109 include/crm/common/scheduler_internal.h (scheduler)->flags = pcmk__set_flags_as(__func__, __LINE__, \ scheduler 111 include/crm/common/scheduler_internal.h (scheduler)->flags, (flags_to_set), #flags_to_set); \ scheduler 121 include/crm/common/scheduler_internal.h #define pcmk__clear_scheduler_flags(scheduler, flags_to_clear) do { \ scheduler 122 include/crm/common/scheduler_internal.h (scheduler)->flags = pcmk__clear_flags_as(__func__, __LINE__, \ scheduler 124 include/crm/common/scheduler_internal.h (scheduler)->flags, (flags_to_clear), #flags_to_clear); \ scheduler 26 include/crm/pengine/complex.h pcmk_scheduler_t *scheduler); scheduler 28 include/crm/pengine/complex.h pcmk_node_t *node, pcmk_scheduler_t *scheduler); scheduler 30 include/crm/pengine/complex.h const pcmk_node_t *node, pcmk_scheduler_t *scheduler); scheduler 55 include/crm/pengine/internal.h bool pe_can_fence(const pcmk_scheduler_t *scheduler, const pcmk_node_t *node); scheduler 58 include/crm/pengine/internal.h const char *name, pcmk_scheduler_t *scheduler); scheduler 62 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler, gboolean failed); scheduler 64 include/crm/pengine/internal.h gboolean native_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler); scheduler 65 include/crm/pengine/internal.h gboolean group_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler); scheduler 66 include/crm/pengine/internal.h gboolean clone_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler); scheduler 67 include/crm/pengine/internal.h gboolean pe__unpack_bundle(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler); scheduler 143 include/crm/pengine/internal.h time_t get_effective_time(pcmk_scheduler_t *scheduler); scheduler 153 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 167 include/crm/pengine/internal.h pcmk_action_t *get_pseudo_op(const char *name, pcmk_scheduler_t *scheduler); scheduler 174 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 176 include/crm/pengine/internal.h #define pe__show_node_scores(level, rsc, text, nodes, scheduler) \ scheduler 178 include/crm/pengine/internal.h (level), (rsc), (text), (nodes), (scheduler)) scheduler 206 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 249 include/crm/pengine/internal.h const char *tag, pcmk_scheduler_t *scheduler); scheduler 262 include/crm/pengine/internal.h pcmk_ticket_t *ticket_new(const char *ticket_id, pcmk_scheduler_t *scheduler); scheduler 292 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 299 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 303 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 306 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 315 include/crm/pengine/internal.h void pe__clear_resource_flags_on_all(pcmk_scheduler_t *scheduler, scheduler 324 include/crm/pengine/internal.h void pe_fence_node(pcmk_scheduler_t *scheduler, pcmk_node_t *node, scheduler 328 include/crm/pengine/internal.h int score, pcmk_scheduler_t *scheduler); scheduler 361 include/crm/pengine/internal.h const pcmk_scheduler_t *scheduler); scheduler 364 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 365 include/crm/pengine/internal.h void pe__foreach_param_check(pcmk_scheduler_t *scheduler, scheduler 369 include/crm/pengine/internal.h void pe__free_param_checks(pcmk_scheduler_t *scheduler); scheduler 372 include/crm/pengine/internal.h void pe__update_recheck_time(time_t recheck, pcmk_scheduler_t *scheduler, scheduler 387 include/crm/pengine/internal.h pcmk_scheduler_t *scheduler); scheduler 392 include/crm/pengine/internal.h GList *pe__rscs_with_tag(pcmk_scheduler_t *scheduler, const char *tag_name); scheduler 393 include/crm/pengine/internal.h GList *pe__unames_with_tag(pcmk_scheduler_t *scheduler, const char *tag_name); scheduler 394 include/crm/pengine/internal.h bool pe__rsc_has_tag(pcmk_scheduler_t *scheduler, const char *rsc, scheduler 396 include/crm/pengine/internal.h bool pe__uname_has_tag(pcmk_scheduler_t *scheduler, const char *node, scheduler 403 include/crm/pengine/internal.h GList * pe__build_node_name_list(pcmk_scheduler_t *scheduler, const char *s); scheduler 404 include/crm/pengine/internal.h GList * pe__build_rsc_list(pcmk_scheduler_t *scheduler, const char *s); scheduler 425 include/crm/pengine/internal.h pe__health_strategy(pcmk_scheduler_t *scheduler) scheduler 427 include/crm/pengine/internal.h const char *strategy = pcmk__cluster_option(scheduler->config_hash, scheduler 22 include/crm/pengine/remote_internal.h pcmk_resource_t *pe__resource_contains_guest_node(const pcmk_scheduler_t *scheduler, scheduler 24 include/crm/pengine/remote_internal.h void pe_foreach_guest_node(const pcmk_scheduler_t *scheduler, scheduler 34 include/crm/pengine/status.h gboolean cluster_status(pcmk_scheduler_t *scheduler); scheduler 40 include/crm/pengine/status.h void pe_free_working_set(pcmk_scheduler_t *scheduler); scheduler 42 include/crm/pengine/status.h void set_working_set_defaults(pcmk_scheduler_t *scheduler); scheduler 43 include/crm/pengine/status.h void cleanup_calculations(pcmk_scheduler_t *scheduler); scheduler 46 include/crm/pengine/status.h void pe_reset_working_set(pcmk_scheduler_t *scheduler); scheduler 55 include/crm/pengine/status.h pcmk_scheduler_t *scheduler); scheduler 253 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 58 include/pcmki/pcmki_ticket.h int pcmk__ticket_delete(pcmk__output_t *out, cib_t *cib, pcmk_scheduler_t *scheduler, scheduler 74 include/pcmki/pcmki_ticket.h int pcmk__ticket_get_attr(pcmk__output_t *out, pcmk_scheduler_t *scheduler, scheduler 96 include/pcmki/pcmki_ticket.h int pcmk__ticket_info(pcmk__output_t *out, pcmk_scheduler_t *scheduler, scheduler 113 include/pcmki/pcmki_ticket.h int pcmk__ticket_remove_attr(pcmk__output_t *out, cib_t *cib, pcmk_scheduler_t *scheduler, scheduler 135 include/pcmki/pcmki_ticket.h int pcmk__ticket_set_attr(pcmk__output_t *out, cib_t *cib, pcmk_scheduler_t *scheduler, scheduler 47 include/pcmki/pcmki_verify.h int pcmk__verify(pcmk_scheduler_t *scheduler, pcmk__output_t *out, scheduler 82 lib/common/health.c pcmk__health_score(const char *option, const pcmk_scheduler_t *scheduler) scheduler 88 lib/common/health.c CRM_CHECK((option != NULL) && (scheduler != NULL), return 0); scheduler 90 lib/common/health.c value = pcmk__cluster_option(scheduler->config_hash, option); scheduler 33 lib/common/scheduler.c pcmk_get_dc(const pcmk_scheduler_t *scheduler) scheduler 35 lib/common/scheduler.c return (scheduler == NULL)? NULL : scheduler->dc_node; scheduler 47 lib/common/scheduler.c pcmk_get_no_quorum_policy(const pcmk_scheduler_t *scheduler) scheduler 49 lib/common/scheduler.c if (scheduler == NULL) { scheduler 52 lib/common/scheduler.c return scheduler->no_quorum_policy; scheduler 67 lib/common/scheduler.c pcmk_set_scheduler_cib(pcmk_scheduler_t *scheduler, xmlNode *cib) scheduler 69 lib/common/scheduler.c if (scheduler == NULL) { scheduler 72 lib/common/scheduler.c scheduler->input = cib; scheduler 85 lib/common/scheduler.c pcmk_has_quorum(const pcmk_scheduler_t *scheduler) scheduler 87 lib/common/scheduler.c if (scheduler == NULL) { scheduler 90 lib/common/scheduler.c return pcmk_is_set(scheduler->flags, pcmk_sched_quorate); scheduler 103 lib/common/scheduler.c pcmk_find_node(const pcmk_scheduler_t *scheduler, const char *node_name) scheduler 105 lib/common/scheduler.c if ((scheduler == NULL) || (node_name == NULL)) { scheduler 108 lib/common/scheduler.c return pcmk__find_node_in_list(scheduler->nodes, node_name); scheduler 24 lib/common/tests/scheduler/pcmk_get_dc_test.c pcmk_scheduler_t scheduler = { scheduler 28 lib/common/tests/scheduler/pcmk_get_dc_test.c assert_null(pcmk_get_dc(&scheduler)); scheduler 37 lib/common/tests/scheduler/pcmk_get_dc_test.c pcmk_scheduler_t scheduler = { scheduler 41 lib/common/tests/scheduler/pcmk_get_dc_test.c assert_ptr_equal(&dc, pcmk_get_dc(&scheduler)); scheduler 24 lib/common/tests/scheduler/pcmk_get_no_quorum_policy_test.c pcmk_scheduler_t scheduler = { scheduler 28 lib/common/tests/scheduler/pcmk_get_no_quorum_policy_test.c assert_int_equal(pcmk_get_no_quorum_policy(&scheduler), scheduler 24 lib/common/tests/scheduler/pcmk_has_quorum_test.c pcmk_scheduler_t scheduler = { scheduler 28 lib/common/tests/scheduler/pcmk_has_quorum_test.c assert_true(pcmk_has_quorum(&scheduler)); scheduler 30 lib/common/tests/scheduler/pcmk_has_quorum_test.c scheduler.flags = pcmk_sched_none; scheduler 31 lib/common/tests/scheduler/pcmk_has_quorum_test.c assert_false(pcmk_has_quorum(&scheduler)); scheduler 29 lib/common/tests/scheduler/pcmk_set_scheduler_cib_test.c pcmk_scheduler_t scheduler = { scheduler 33 lib/common/tests/scheduler/pcmk_set_scheduler_cib_test.c assert_int_equal(pcmk_set_scheduler_cib(&scheduler, NULL), pcmk_rc_ok); scheduler 34 lib/common/tests/scheduler/pcmk_set_scheduler_cib_test.c assert_null(scheduler.input); scheduler 40 lib/common/tests/scheduler/pcmk_set_scheduler_cib_test.c pcmk_scheduler_t scheduler = { scheduler 45 lib/common/tests/scheduler/pcmk_set_scheduler_cib_test.c assert_int_equal(pcmk_set_scheduler_cib(&scheduler, cib), pcmk_rc_ok); scheduler 46 lib/common/tests/scheduler/pcmk_set_scheduler_cib_test.c assert_ptr_equal(scheduler.input, cib); scheduler 56 lib/common/tests/scheduler/pcmk_set_scheduler_cib_test.c pcmk_scheduler_t scheduler = { scheduler 60 lib/common/tests/scheduler/pcmk_set_scheduler_cib_test.c assert_int_equal(pcmk_set_scheduler_cib(&scheduler, new_cib), pcmk_rc_ok); scheduler 61 lib/common/tests/scheduler/pcmk_set_scheduler_cib_test.c assert_ptr_equal(scheduler.input, new_cib); scheduler 289 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 351 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 357 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 378 lib/pacemaker/libpacemaker_private.h void pcmk__output_actions(pcmk_scheduler_t *scheduler); scheduler 385 lib/pacemaker/libpacemaker_private.h void pcmk__handle_rsc_config_changes(pcmk_scheduler_t *scheduler); scheduler 417 lib/pacemaker/libpacemaker_private.h void pcmk__create_graph(pcmk_scheduler_t *scheduler); scheduler 424 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 443 lib/pacemaker/libpacemaker_private.h void pcmk__inject_scheduler_input(pcmk_scheduler_t *scheduler, cib_t *cib, scheduler 455 lib/pacemaker/libpacemaker_private.h const pcmk_scheduler_t *scheduler); scheduler 458 lib/pacemaker/libpacemaker_private.h bool pcmk__valid_resource_or_tag(const pcmk_scheduler_t *scheduler, scheduler 464 lib/pacemaker/libpacemaker_private.h bool convert_rsc, const pcmk_scheduler_t *scheduler); scheduler 467 lib/pacemaker/libpacemaker_private.h void pcmk__create_internal_constraints(pcmk_scheduler_t *scheduler); scheduler 473 lib/pacemaker/libpacemaker_private.h void pcmk__unpack_location(xmlNode *xml_obj, pcmk_scheduler_t *scheduler); scheduler 481 lib/pacemaker/libpacemaker_private.h void pcmk__apply_locations(pcmk_scheduler_t *scheduler); scheduler 565 lib/pacemaker/libpacemaker_private.h void pcmk__unpack_colocation(xmlNode *xml_obj, pcmk_scheduler_t *scheduler); scheduler 612 lib/pacemaker/libpacemaker_private.h void pcmk__unpack_ordering(xmlNode *xml_obj, pcmk_scheduler_t *scheduler); scheduler 615 lib/pacemaker/libpacemaker_private.h void pcmk__disable_invalid_orderings(pcmk_scheduler_t *scheduler); scheduler 659 lib/pacemaker/libpacemaker_private.h void pcmk__unpack_rsc_ticket(xmlNode *xml_obj, pcmk_scheduler_t *scheduler); scheduler 701 lib/pacemaker/libpacemaker_private.h void pcmk__order_remote_connection_actions(pcmk_scheduler_t *scheduler); scheduler 817 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 966 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t *scheduler); scheduler 1023 lib/pacemaker/libpacemaker_private.h void pcmk__apply_node_health(pcmk_scheduler_t *scheduler); scheduler 1033 lib/pacemaker/libpacemaker_private.h void pcmk__set_assignment_methods(pcmk_scheduler_t *scheduler); scheduler 1041 lib/pacemaker/libpacemaker_private.h const pcmk_scheduler_t *scheduler); scheduler 1066 lib/pacemaker/libpacemaker_private.h void pcmk__sort_resources(pcmk_scheduler_t *scheduler); scheduler 1081 lib/pacemaker/libpacemaker_private.h void pcmk__order_probes(pcmk_scheduler_t *scheduler); scheduler 1087 lib/pacemaker/libpacemaker_private.h void pcmk__schedule_probes(pcmk_scheduler_t *scheduler); scheduler 1125 lib/pacemaker/libpacemaker_private.h void pcmk__show_node_capacities(const char *desc, pcmk_scheduler_t *scheduler); scheduler 1132 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t **scheduler); scheduler 1139 lib/pacemaker/libpacemaker_private.h pcmk_scheduler_t **scheduler, xmlNode **xml); scheduler 79 lib/pacemaker/pcmk_graph_producer.c add_maintenance_nodes(xmlNode *xml, const pcmk_scheduler_t *scheduler) scheduler 87 lib/pacemaker/pcmk_graph_producer.c for (const GList *iter = scheduler->nodes; scheduler 115 lib/pacemaker/pcmk_graph_producer.c add_maintenance_update(pcmk_scheduler_t *scheduler) scheduler 119 lib/pacemaker/pcmk_graph_producer.c if (add_maintenance_nodes(NULL, scheduler) != 0) { scheduler 120 lib/pacemaker/pcmk_graph_producer.c action = get_pseudo_op(PCMK_ACTION_MAINTENANCE_NODES, scheduler); scheduler 397 lib/pacemaker/pcmk_graph_producer.c const pcmk_scheduler_t *scheduler) scheduler 403 lib/pacemaker/pcmk_graph_producer.c if ((action == NULL) || (scheduler == NULL)) { scheduler 488 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 = pcmk__xe_create(scheduler->graph, "synapse"); scheduler 856 lib/pacemaker/pcmk_graph_producer.c crm_xml_add_int(syn, PCMK_XA_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 1007 lib/pacemaker/pcmk_graph_producer.c GHashTable *config_hash = scheduler->config_hash; scheduler 1013 lib/pacemaker/pcmk_graph_producer.c scheduler->graph = pcmk__xe_create(NULL, PCMK__XE_TRANSITION_GRAPH); scheduler 1016 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, PCMK_OPT_CLUSTER_DELAY, value); scheduler 1019 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, PCMK_OPT_STONITH_TIMEOUT, value); scheduler 1021 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "failed-stop-offset", "INFINITY"); scheduler 1023 lib/pacemaker/pcmk_graph_producer.c if (pcmk_is_set(scheduler->flags, pcmk_sched_start_failure_fatal)) { scheduler 1024 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "failed-start-offset", "INFINITY"); scheduler 1026 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "failed-start-offset", "1"); scheduler 1030 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, PCMK_OPT_BATCH_LIMIT, value); scheduler 1032 lib/pacemaker/pcmk_graph_producer.c crm_xml_add_int(scheduler->graph, "transition_id", transition_id); scheduler 1040 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, PCMK_OPT_MIGRATION_LIMIT, value); scheduler 1043 lib/pacemaker/pcmk_graph_producer.c if (scheduler->recheck_by > 0) { scheduler 1047 lib/pacemaker/pcmk_graph_producer.c (long long) scheduler->recheck_by); scheduler 1048 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->graph, "recheck-by", recheck_epoch); scheduler 1058 lib/pacemaker/pcmk_graph_producer.c for (iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 1066 lib/pacemaker/pcmk_graph_producer.c add_maintenance_update(scheduler); scheduler 1069 lib/pacemaker/pcmk_graph_producer.c for (iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 1083 lib/pacemaker/pcmk_graph_producer.c if (pcmk_is_set(scheduler->flags, pcmk_sched_quorate) scheduler 1084 lib/pacemaker/pcmk_graph_producer.c || (scheduler->no_quorum_policy == pcmk_no_quorum_ignore)) { scheduler 1098 lib/pacemaker/pcmk_graph_producer.c add_action_to_graph((gpointer) action, (gpointer) scheduler); scheduler 1101 lib/pacemaker/pcmk_graph_producer.c crm_log_xml_trace(scheduler->graph, "graph"); scheduler 552 lib/pacemaker/pcmk_injections.c const pcmk_scheduler_t *scheduler) scheduler 586 lib/pacemaker/pcmk_injections.c rsc = pe_find_resource(scheduler->resources, resource); scheduler 633 lib/pacemaker/pcmk_injections.c pcmk__inject_scheduler_input(pcmk_scheduler_t *scheduler, cib_t *cib, scheduler 639 lib/pacemaker/pcmk_injections.c pcmk__output_t *out = scheduler->priv; scheduler 759 lib/pacemaker/pcmk_injections.c inject_action(out, (const char *) iter->data, cib, scheduler); scheduler 1787 lib/pacemaker/pcmk_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1802 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "cluster-summary", scheduler, pcmkd_state, scheduler 1806 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "node-list", scheduler->nodes, unames, scheduler 1812 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "resource-list", scheduler, show_opts, scheduler 1818 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "node-attribute-list", scheduler, scheduler 1828 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "node-summary", scheduler, unames, scheduler 1835 lib/pacemaker/pcmk_output.c && (scheduler->failed != NULL) scheduler 1836 lib/pacemaker/pcmk_output.c && (scheduler->failed->children != NULL)) { scheduler 1838 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "failed-action-list", scheduler, unames, scheduler 1869 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "ticket-list", scheduler->tickets, scheduler 1875 lib/pacemaker/pcmk_output.c CHECK_RC(rc, out->message(out, "ban-list", scheduler, prefix, resources, scheduler 1925 lib/pacemaker/pcmk_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1937 lib/pacemaker/pcmk_output.c out->message(out, "cluster-summary", scheduler, pcmkd_state, section_opts, scheduler 1942 lib/pacemaker/pcmk_output.c out->message(out, "node-list", scheduler->nodes, unames, resources, scheduler 1951 lib/pacemaker/pcmk_output.c out->message(out, "resource-list", scheduler, full_show_opts, scheduler 1957 lib/pacemaker/pcmk_output.c out->message(out, "node-attribute-list", scheduler, show_opts, false, scheduler 1966 lib/pacemaker/pcmk_output.c out->message(out, "node-summary", scheduler, unames, scheduler 1972 lib/pacemaker/pcmk_output.c && (scheduler->failed != NULL) scheduler 1973 lib/pacemaker/pcmk_output.c && (scheduler->failed->children != NULL)) { scheduler 1975 lib/pacemaker/pcmk_output.c out->message(out, "failed-action-list", scheduler, unames, resources, scheduler 1988 lib/pacemaker/pcmk_output.c out->message(out, "ticket-list", scheduler->tickets, false, false, false); scheduler 1993 lib/pacemaker/pcmk_output.c out->message(out, "ban-list", scheduler, prefix, resources, show_opts, scheduler 2007 lib/pacemaker/pcmk_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2020 lib/pacemaker/pcmk_output.c out->message(out, "cluster-summary", scheduler, pcmkd_state, section_opts, scheduler 2025 lib/pacemaker/pcmk_output.c out->message(out, "node-list", scheduler->nodes, unames, resources, scheduler 2031 lib/pacemaker/pcmk_output.c out->message(out, "resource-list", scheduler, show_opts, true, unames, scheduler 2037 lib/pacemaker/pcmk_output.c out->message(out, "node-attribute-list", scheduler, show_opts, false, scheduler 2046 lib/pacemaker/pcmk_output.c out->message(out, "node-summary", scheduler, unames, scheduler 2052 lib/pacemaker/pcmk_output.c && (scheduler->failed != NULL) scheduler 2053 lib/pacemaker/pcmk_output.c && (scheduler->failed->children != NULL)) { scheduler 2055 lib/pacemaker/pcmk_output.c out->message(out, "failed-action-list", scheduler, unames, resources, scheduler 2115 lib/pacemaker/pcmk_output.c out->message(out, "ticket-list", scheduler->tickets, false, false, false); scheduler 2120 lib/pacemaker/pcmk_output.c out->message(out, "ban-list", scheduler, prefix, resources, show_opts, scheduler 35 lib/pacemaker/pcmk_rule.c eval_rule(pcmk_scheduler_t *scheduler, const char *rule_id, const char **error) scheduler 47 lib/pacemaker/pcmk_rule.c cib_constraints = pcmk_find_cib_element(scheduler->input, scheduler 140 lib/pacemaker/pcmk_rule.c rc = pcmk__evaluate_date_expression(match, scheduler->now, NULL); scheduler 166 lib/pacemaker/pcmk_rule.c pcmk_scheduler_t *scheduler = NULL; scheduler 176 lib/pacemaker/pcmk_rule.c rc = pcmk__init_scheduler(out, input, date, &scheduler); scheduler 183 lib/pacemaker/pcmk_rule.c int last_rc = eval_rule(scheduler, *rule_id, &error); scheduler 192 lib/pacemaker/pcmk_rule.c pe_free_working_set(scheduler); scheduler 221 lib/pacemaker/pcmk_sched_actions.c pcmk_scheduler_t *scheduler) scheduler 224 lib/pacemaker/pcmk_sched_actions.c type, scheduler); scheduler 244 lib/pacemaker/pcmk_sched_actions.c pcmk_scheduler_t *scheduler) scheduler 277 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 295 lib/pacemaker/pcmk_sched_actions.c pcmk__ar_intermediate_stop, scheduler); scheduler 306 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 323 lib/pacemaker/pcmk_sched_actions.c pcmk__ar_promoted_then_implies_first, scheduler); scheduler 336 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 370 lib/pacemaker/pcmk_sched_actions.c pcmk__ar_unrunnable_first_blocks, scheduler); scheduler 382 lib/pacemaker/pcmk_sched_actions.c pcmk__ar_unrunnable_first_blocks, scheduler); scheduler 400 lib/pacemaker/pcmk_sched_actions.c pcmk__ar_unmigratable_then_blocks, scheduler); scheduler 413 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 425 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 436 lib/pacemaker/pcmk_sched_actions.c scheduler); scheduler 508 lib/pacemaker/pcmk_sched_actions.c pcmk_scheduler_t *scheduler) scheduler 625 lib/pacemaker/pcmk_sched_actions.c other, scheduler); scheduler 651 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(other->action, scheduler); scheduler 653 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(first, scheduler); scheduler 672 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(then, scheduler); scheduler 676 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(other->action, scheduler); scheduler 844 lib/pacemaker/pcmk_sched_actions.c pcmk_scheduler_t *scheduler) scheduler 850 lib/pacemaker/pcmk_sched_actions.c pcmk__assert((first != NULL) && (then != NULL) && (scheduler != NULL)); scheduler 940 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(then, scheduler); scheduler 1397 lib/pacemaker/pcmk_sched_actions.c pcmk__output_actions(pcmk_scheduler_t *scheduler) scheduler 1399 lib/pacemaker/pcmk_sched_actions.c pcmk__output_t *out = scheduler->priv; scheduler 1402 lib/pacemaker/pcmk_sched_actions.c for (GList *iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 1446 lib/pacemaker/pcmk_sched_actions.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 1496 lib/pacemaker/pcmk_sched_actions.c const pcmk_scheduler_t *scheduler) scheduler 1500 lib/pacemaker/pcmk_sched_actions.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_sanitized)) { scheduler 1902 lib/pacemaker/pcmk_sched_actions.c pcmk__handle_rsc_config_changes(pcmk_scheduler_t *scheduler) scheduler 1910 lib/pacemaker/pcmk_sched_actions.c for (GList *iter = scheduler->nodes; iter != NULL; iter = iter->next) { scheduler 1924 lib/pacemaker/pcmk_sched_actions.c history = get_xpath_object(xpath, scheduler->input, LOG_NEVER); scheduler 440 lib/pacemaker/pcmk_sched_colocation.c const char *influence_s, pcmk_scheduler_t *scheduler) scheduler 492 lib/pacemaker/pcmk_sched_colocation.c resource = pcmk__find_constraint_resource(scheduler->resources, scheduler 531 lib/pacemaker/pcmk_sched_colocation.c resource = pcmk__find_constraint_resource(scheduler->resources, scheduler 550 lib/pacemaker/pcmk_sched_colocation.c other = pcmk__find_constraint_resource(scheduler->resources, scheduler 575 lib/pacemaker/pcmk_sched_colocation.c pcmk_scheduler_t *scheduler) scheduler 602 lib/pacemaker/pcmk_sched_colocation.c rsc_1 = pcmk__find_constraint_resource(scheduler->resources, scheduler 624 lib/pacemaker/pcmk_sched_colocation.c rsc_2 = pcmk__find_constraint_resource(scheduler->resources, scheduler 647 lib/pacemaker/pcmk_sched_colocation.c rsc_2 = pcmk__find_constraint_resource(scheduler->resources, scheduler 667 lib/pacemaker/pcmk_sched_colocation.c rsc_1 = pcmk__find_constraint_resource(scheduler->resources, scheduler 691 lib/pacemaker/pcmk_sched_colocation.c rsc_1 = pcmk__find_constraint_resource(scheduler->resources, scheduler 709 lib/pacemaker/pcmk_sched_colocation.c rsc_2 = pcmk__find_constraint_resource(scheduler->resources, scheduler 729 lib/pacemaker/pcmk_sched_colocation.c const char *influence_s, pcmk_scheduler_t *scheduler) scheduler 747 lib/pacemaker/pcmk_sched_colocation.c primary = pcmk__find_constraint_resource(scheduler->resources, primary_id); scheduler 748 lib/pacemaker/pcmk_sched_colocation.c dependent = pcmk__find_constraint_resource(scheduler->resources, scheduler 826 lib/pacemaker/pcmk_sched_colocation.c pcmk_scheduler_t *scheduler) scheduler 856 lib/pacemaker/pcmk_sched_colocation.c *expanded_xml = pcmk__expand_tags_in_sets(xml_obj, scheduler); scheduler 868 lib/pacemaker/pcmk_sched_colocation.c if (!pcmk__valid_resource_or_tag(scheduler, dependent_id, &dependent, scheduler 875 lib/pacemaker/pcmk_sched_colocation.c if (!pcmk__valid_resource_or_tag(scheduler, primary_id, &primary, scheduler 903 lib/pacemaker/pcmk_sched_colocation.c scheduler)) { scheduler 924 lib/pacemaker/pcmk_sched_colocation.c scheduler)) { scheduler 959 lib/pacemaker/pcmk_sched_colocation.c pcmk__unpack_colocation(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 979 lib/pacemaker/pcmk_sched_colocation.c scheduler) != pcmk_rc_ok) { scheduler 996 lib/pacemaker/pcmk_sched_colocation.c set = expand_idref(set, scheduler->input); scheduler 1009 lib/pacemaker/pcmk_sched_colocation.c unpack_colocation_set(set, score_i, id, influence_s, scheduler); scheduler 1012 lib/pacemaker/pcmk_sched_colocation.c colocate_rsc_sets(id, last, set, score_i, influence_s, scheduler); scheduler 1023 lib/pacemaker/pcmk_sched_colocation.c unpack_simple_colocation(xml_obj, id, influence_s, scheduler); scheduler 30 lib/pacemaker/pcmk_sched_constraints.c evaluate_lifetime(xmlNode *lifetime, pcmk_scheduler_t *scheduler) scheduler 35 lib/pacemaker/pcmk_sched_constraints.c .now = scheduler->now, scheduler 44 lib/pacemaker/pcmk_sched_constraints.c pe__update_recheck_time(recheck, scheduler, "constraint lifetime"); scheduler 60 lib/pacemaker/pcmk_sched_constraints.c pcmk__unpack_constraints(pcmk_scheduler_t *scheduler) scheduler 62 lib/pacemaker/pcmk_sched_constraints.c xmlNode *xml_constraints = pcmk_find_cib_element(scheduler->input, scheduler 88 lib/pacemaker/pcmk_sched_constraints.c if ((lifetime != NULL) && !evaluate_lifetime(lifetime, scheduler)) { scheduler 92 lib/pacemaker/pcmk_sched_constraints.c pcmk__unpack_ordering(xml_obj, scheduler); scheduler 95 lib/pacemaker/pcmk_sched_constraints.c pcmk__unpack_colocation(xml_obj, scheduler); scheduler 98 lib/pacemaker/pcmk_sched_constraints.c pcmk__unpack_location(xml_obj, scheduler); scheduler 101 lib/pacemaker/pcmk_sched_constraints.c pcmk__unpack_rsc_ticket(xml_obj, scheduler); scheduler 145 lib/pacemaker/pcmk_sched_constraints.c find_constraint_tag(const pcmk_scheduler_t *scheduler, const char *id, scheduler 151 lib/pacemaker/pcmk_sched_constraints.c if (g_hash_table_lookup_extended(scheduler->template_rsc_sets, id, scheduler 161 lib/pacemaker/pcmk_sched_constraints.c if (g_hash_table_lookup_extended(scheduler->tags, id, scheduler 188 lib/pacemaker/pcmk_sched_constraints.c pcmk__valid_resource_or_tag(const pcmk_scheduler_t *scheduler, const char *id, scheduler 192 lib/pacemaker/pcmk_sched_constraints.c *rsc = pcmk__find_constraint_resource(scheduler->resources, id); scheduler 198 lib/pacemaker/pcmk_sched_constraints.c if ((tag != NULL) && find_constraint_tag(scheduler, id, tag)) { scheduler 222 lib/pacemaker/pcmk_sched_constraints.c pcmk__expand_tags_in_sets(xmlNode *xml_obj, const pcmk_scheduler_t *scheduler) scheduler 249 lib/pacemaker/pcmk_sched_constraints.c if (!pcmk__valid_resource_or_tag(scheduler, pcmk__xe_id(xml_rsc), scheduler 343 lib/pacemaker/pcmk_sched_constraints.c bool convert_rsc, const pcmk_scheduler_t *scheduler) scheduler 367 lib/pacemaker/pcmk_sched_constraints.c if (!pcmk__valid_resource_or_tag(scheduler, id, &rsc, &tag)) { scheduler 423 lib/pacemaker/pcmk_sched_constraints.c pcmk__create_internal_constraints(pcmk_scheduler_t *scheduler) scheduler 426 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 619 lib/pacemaker/pcmk_sched_group.c pcmk_scheduler_t *scheduler) scheduler 625 lib/pacemaker/pcmk_sched_group.c && (scheduler != NULL)); scheduler 629 lib/pacemaker/pcmk_sched_group.c type, scheduler); scheduler 642 lib/pacemaker/pcmk_sched_group.c scheduler); scheduler 1579 lib/pacemaker/pcmk_sched_instances.c pcmk_scheduler_t *scheduler) scheduler 1581 lib/pacemaker/pcmk_sched_instances.c pcmk__assert((first != NULL) && (then != NULL) && (scheduler != NULL)); scheduler 1595 lib/pacemaker/pcmk_sched_instances.c filter, type, scheduler); scheduler 343 lib/pacemaker/pcmk_sched_location.c unpack_simple_location(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 351 lib/pacemaker/pcmk_sched_location.c rsc = pcmk__find_constraint_resource(scheduler->resources, value); scheduler 372 lib/pacemaker/pcmk_sched_location.c for (GList *iter = scheduler->resources; iter != NULL; scheduler 413 lib/pacemaker/pcmk_sched_location.c pcmk_scheduler_t *scheduler) scheduler 434 lib/pacemaker/pcmk_sched_location.c *expanded_xml = pcmk__expand_tags_in_sets(xml_obj, scheduler); scheduler 445 lib/pacemaker/pcmk_sched_location.c if (!pcmk__valid_resource_or_tag(scheduler, rsc_id, &rsc, &tag)) { scheduler 463 lib/pacemaker/pcmk_sched_location.c false, scheduler)) { scheduler 491 lib/pacemaker/pcmk_sched_location.c pcmk_scheduler_t *scheduler) scheduler 515 lib/pacemaker/pcmk_sched_location.c resource = pcmk__find_constraint_resource(scheduler->resources, scheduler 531 lib/pacemaker/pcmk_sched_location.c pcmk__unpack_location(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 539 lib/pacemaker/pcmk_sched_location.c if (unpack_location_tags(xml_obj, &expanded_xml, scheduler) != pcmk_rc_ok) { scheduler 552 lib/pacemaker/pcmk_sched_location.c set = expand_idref(set, scheduler->input); scheduler 554 lib/pacemaker/pcmk_sched_location.c || (unpack_location_set(xml_obj, set, scheduler) != pcmk_rc_ok)) { scheduler 569 lib/pacemaker/pcmk_sched_location.c unpack_simple_location(xml_obj, scheduler); scheduler 650 lib/pacemaker/pcmk_sched_location.c pcmk__apply_locations(pcmk_scheduler_t *scheduler) scheduler 652 lib/pacemaker/pcmk_sched_location.c for (GList *iter = scheduler->placement_constraints; scheduler 361 lib/pacemaker/pcmk_sched_nodes.c pcmk__apply_node_health(pcmk_scheduler_t *scheduler) scheduler 366 lib/pacemaker/pcmk_sched_nodes.c pcmk__cluster_option(scheduler->config_hash, scheduler 377 lib/pacemaker/pcmk_sched_nodes.c base_health = pcmk__health_score(PCMK_OPT_NODE_HEALTH_BASE, scheduler); scheduler 380 lib/pacemaker/pcmk_sched_nodes.c for (GList *iter = scheduler->nodes; iter != NULL; iter = iter->next) { scheduler 392 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 243 lib/pacemaker/pcmk_sched_ordering.c const pcmk_scheduler_t *scheduler) scheduler 256 lib/pacemaker/pcmk_sched_ordering.c rsc = pcmk__find_constraint_resource(scheduler->resources, rsc_id); scheduler 432 lib/pacemaker/pcmk_sched_ordering.c unpack_simple_rsc_order(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 455 lib/pacemaker/pcmk_sched_ordering.c PCMK__XA_FIRST_INSTANCE, scheduler); scheduler 461 lib/pacemaker/pcmk_sched_ordering.c PCMK__XA_THEN_INSTANCE, scheduler); scheduler 602 lib/pacemaker/pcmk_sched_ordering.c const char *parent_symmetrical_s, pcmk_scheduler_t *scheduler) scheduler 666 lib/pacemaker/pcmk_sched_ordering.c then_key, NULL, flags, scheduler); scheduler 722 lib/pacemaker/pcmk_sched_ordering.c enum pe_order_kind kind, pcmk_scheduler_t *scheduler, scheduler 772 lib/pacemaker/pcmk_sched_ordering.c pcmk_action_t *unordered_action = get_pseudo_op(task, scheduler); scheduler 791 lib/pacemaker/pcmk_sched_ordering.c scheduler); scheduler 806 lib/pacemaker/pcmk_sched_ordering.c scheduler); scheduler 916 lib/pacemaker/pcmk_sched_ordering.c const pcmk_scheduler_t *scheduler) scheduler 933 lib/pacemaker/pcmk_sched_ordering.c *expanded_xml = pcmk__expand_tags_in_sets(xml_obj, scheduler); scheduler 945 lib/pacemaker/pcmk_sched_ordering.c if (!pcmk__valid_resource_or_tag(scheduler, id_first, &rsc_first, scheduler 953 lib/pacemaker/pcmk_sched_ordering.c if (!pcmk__valid_resource_or_tag(scheduler, id_then, &rsc_then, scheduler 975 lib/pacemaker/pcmk_sched_ordering.c scheduler)) { scheduler 996 lib/pacemaker/pcmk_sched_ordering.c scheduler)) { scheduler 1031 lib/pacemaker/pcmk_sched_ordering.c pcmk__unpack_ordering(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 1047 lib/pacemaker/pcmk_sched_ordering.c if (unpack_order_tags(xml_obj, &expanded_xml, scheduler) != pcmk_rc_ok) { scheduler 1059 lib/pacemaker/pcmk_sched_ordering.c set = expand_idref(set, scheduler->input); scheduler 1061 lib/pacemaker/pcmk_sched_ordering.c || (unpack_order_set(set, kind, invert, scheduler) != pcmk_rc_ok)) { scheduler 1071 lib/pacemaker/pcmk_sched_ordering.c if (order_rsc_sets(id, last, set, kind, scheduler, scheduler 1080 lib/pacemaker/pcmk_sched_ordering.c && (order_rsc_sets(id, set, last, kind, scheduler, scheduler 1099 lib/pacemaker/pcmk_sched_ordering.c return unpack_simple_rsc_order(xml_obj, scheduler); scheduler 1136 lib/pacemaker/pcmk_sched_ordering.c pcmk__disable_invalid_orderings(pcmk_scheduler_t *scheduler) scheduler 1138 lib/pacemaker/pcmk_sched_ordering.c for (GList *iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 340 lib/pacemaker/pcmk_sched_probes.c add_probe_orderings_for_stops(pcmk_scheduler_t *scheduler) scheduler 342 lib/pacemaker/pcmk_sched_probes.c for (GList *iter = scheduler->ordering_constraints; iter != NULL; scheduler 668 lib/pacemaker/pcmk_sched_probes.c clear_actions_tracking_flag(pcmk_scheduler_t *scheduler) scheduler 670 lib/pacemaker/pcmk_sched_probes.c for (GList *iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 727 lib/pacemaker/pcmk_sched_probes.c order_then_probes(pcmk_scheduler_t *scheduler) scheduler 759 lib/pacemaker/pcmk_sched_probes.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 839 lib/pacemaker/pcmk_sched_probes.c pcmk__order_probes(pcmk_scheduler_t *scheduler) scheduler 842 lib/pacemaker/pcmk_sched_probes.c g_list_foreach(scheduler->resources, add_start_restart_orderings_for_rsc, scheduler 844 lib/pacemaker/pcmk_sched_probes.c add_probe_orderings_for_stops(scheduler); scheduler 846 lib/pacemaker/pcmk_sched_probes.c order_then_probes(scheduler); scheduler 858 lib/pacemaker/pcmk_sched_probes.c pcmk__schedule_probes(pcmk_scheduler_t *scheduler) scheduler 861 lib/pacemaker/pcmk_sched_probes.c for (GList *iter = scheduler->nodes; iter != NULL; iter = iter->next) { scheduler 867 lib/pacemaker/pcmk_sched_probes.c pe_fence_node(scheduler, node, scheduler 893 lib/pacemaker/pcmk_sched_probes.c CRM_OP_REPROBE, node, FALSE, scheduler); scheduler 899 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 766 lib/pacemaker/pcmk_sched_resource.c pcmk__sort_resources(pcmk_scheduler_t *scheduler) scheduler 768 lib/pacemaker/pcmk_sched_resource.c GList *nodes = g_list_copy(scheduler->nodes); scheduler 771 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 261 lib/pacemaker/pcmk_sched_tickets.c resource = pcmk__find_constraint_resource(scheduler->resources, scheduler 277 lib/pacemaker/pcmk_sched_tickets.c unpack_simple_rsc_ticket(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 313 lib/pacemaker/pcmk_sched_tickets.c ticket = g_hash_table_lookup(scheduler->tickets, ticket_str); scheduler 326 lib/pacemaker/pcmk_sched_tickets.c rsc = pcmk__find_constraint_resource(scheduler->resources, rsc_id); scheduler 357 lib/pacemaker/pcmk_sched_tickets.c pcmk_scheduler_t *scheduler) scheduler 380 lib/pacemaker/pcmk_sched_tickets.c *expanded_xml = pcmk__expand_tags_in_sets(xml_obj, scheduler); scheduler 391 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 scheduler)) { scheduler 433 lib/pacemaker/pcmk_sched_tickets.c pcmk__unpack_rsc_ticket(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 455 lib/pacemaker/pcmk_sched_tickets.c if (scheduler->tickets == NULL) { scheduler 456 lib/pacemaker/pcmk_sched_tickets.c scheduler->tickets = pcmk__strkey_table(free, destroy_ticket); scheduler 464 lib/pacemaker/pcmk_sched_tickets.c ticket = g_hash_table_lookup(scheduler->tickets, ticket_str); scheduler 468 lib/pacemaker/pcmk_sched_tickets.c ticket = ticket_new(ticket_str, scheduler); scheduler 475 lib/pacemaker/pcmk_sched_tickets.c scheduler) != pcmk_rc_ok) { scheduler 489 lib/pacemaker/pcmk_sched_tickets.c set = expand_idref(set, scheduler->input); scheduler 494 lib/pacemaker/pcmk_sched_tickets.c scheduler) != pcmk_rc_ok)) { scheduler 508 lib/pacemaker/pcmk_sched_tickets.c unpack_simple_rsc_ticket(xml_obj, scheduler); scheduler 460 lib/pacemaker/pcmk_sched_utilization.c pcmk__show_node_capacities(const char *desc, pcmk_scheduler_t *scheduler) scheduler 462 lib/pacemaker/pcmk_sched_utilization.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_show_utilization)) { scheduler 465 lib/pacemaker/pcmk_sched_utilization.c for (const GList *iter = scheduler->nodes; scheduler 468 lib/pacemaker/pcmk_sched_utilization.c pcmk__output_t *out = scheduler->priv; scheduler 233 lib/pacemaker/pcmk_scheduler.c apply_shutdown_locks(pcmk_scheduler_t *scheduler) scheduler 235 lib/pacemaker/pcmk_scheduler.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_shutdown_lock)) { scheduler 238 lib/pacemaker/pcmk_scheduler.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 252 lib/pacemaker/pcmk_scheduler.c count_available_nodes(pcmk_scheduler_t *scheduler) scheduler 254 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_no_compat)) { scheduler 259 lib/pacemaker/pcmk_scheduler.c for (GList *iter = scheduler->nodes; iter != NULL; iter = iter->next) { scheduler 264 lib/pacemaker/pcmk_scheduler.c scheduler->max_valid_nodes++; scheduler 267 lib/pacemaker/pcmk_scheduler.c crm_trace("Online node count: %d", scheduler->max_valid_nodes); scheduler 279 lib/pacemaker/pcmk_scheduler.c apply_node_criteria(pcmk_scheduler_t *scheduler) scheduler 282 lib/pacemaker/pcmk_scheduler.c apply_shutdown_locks(scheduler); scheduler 283 lib/pacemaker/pcmk_scheduler.c count_available_nodes(scheduler); scheduler 284 lib/pacemaker/pcmk_scheduler.c pcmk__apply_locations(scheduler); scheduler 285 lib/pacemaker/pcmk_scheduler.c g_list_foreach(scheduler->resources, apply_stickiness, NULL); scheduler 287 lib/pacemaker/pcmk_scheduler.c for (GList *node_iter = scheduler->nodes; node_iter != NULL; scheduler 289 lib/pacemaker/pcmk_scheduler.c for (GList *rsc_iter = scheduler->resources; rsc_iter != NULL; scheduler 304 lib/pacemaker/pcmk_scheduler.c assign_resources(pcmk_scheduler_t *scheduler) scheduler 310 lib/pacemaker/pcmk_scheduler.c if (!pcmk__str_eq(scheduler->placement_strategy, PCMK_VALUE_DEFAULT, scheduler 312 lib/pacemaker/pcmk_scheduler.c pcmk__sort_resources(scheduler); scheduler 314 lib/pacemaker/pcmk_scheduler.c pcmk__show_node_capacities("Original", scheduler); scheduler 316 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_have_remote_nodes)) { scheduler 321 lib/pacemaker/pcmk_scheduler.c for (iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 333 lib/pacemaker/pcmk_scheduler.c for (iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 343 lib/pacemaker/pcmk_scheduler.c pcmk__show_node_capacities("Remaining", scheduler); scheduler 396 lib/pacemaker/pcmk_scheduler.c schedule_resource_actions(pcmk_scheduler_t *scheduler) scheduler 399 lib/pacemaker/pcmk_scheduler.c pe__foreach_param_check(scheduler, check_params); scheduler 400 lib/pacemaker/pcmk_scheduler.c pe__free_param_checks(scheduler); scheduler 402 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_probe_resources)) { scheduler 404 lib/pacemaker/pcmk_scheduler.c pcmk__schedule_probes(scheduler); scheduler 407 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_stop_removed_resources)) { scheduler 408 lib/pacemaker/pcmk_scheduler.c g_list_foreach(scheduler->resources, clear_failcounts_if_orphaned, scheduler 413 lib/pacemaker/pcmk_scheduler.c for (GList *iter = scheduler->resources; iter != NULL; iter = iter->next) { scheduler 451 lib/pacemaker/pcmk_scheduler.c any_managed_resources(const pcmk_scheduler_t *scheduler) scheduler 453 lib/pacemaker/pcmk_scheduler.c for (const GList *iter = scheduler->resources; scheduler 510 lib/pacemaker/pcmk_scheduler.c const pcmk_scheduler_t *scheduler) scheduler 512 lib/pacemaker/pcmk_scheduler.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_concurrent_fencing) scheduler 548 lib/pacemaker/pcmk_scheduler.c schedule_fencing_and_shutdowns(pcmk_scheduler_t *scheduler) scheduler 552 lib/pacemaker/pcmk_scheduler.c bool have_managed = any_managed_resources(scheduler); scheduler 563 lib/pacemaker/pcmk_scheduler.c for (GList *iter = scheduler->nodes; iter != NULL; iter = iter->next) { scheduler 572 lib/pacemaker/pcmk_scheduler.c && pe_can_fence(scheduler, node)) { scheduler 586 lib/pacemaker/pcmk_scheduler.c scheduler); scheduler 608 lib/pacemaker/pcmk_scheduler.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 613 lib/pacemaker/pcmk_scheduler.c } else if (!pcmk_is_set(scheduler->flags, pcmk_sched_quorate)) { scheduler 635 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_concurrent_fencing)) { scheduler 655 lib/pacemaker/pcmk_scheduler.c log_resource_details(pcmk_scheduler_t *scheduler) scheduler 657 lib/pacemaker/pcmk_scheduler.c pcmk__output_t *out = scheduler->priv; scheduler 666 lib/pacemaker/pcmk_scheduler.c for (GList *item = scheduler->resources; item != NULL; item = item->next) { scheduler 681 lib/pacemaker/pcmk_scheduler.c log_all_actions(pcmk_scheduler_t *scheduler) scheduler 686 lib/pacemaker/pcmk_scheduler.c pcmk__output_t *prev_out = scheduler->priv; scheduler 696 lib/pacemaker/pcmk_scheduler.c scheduler->priv = out; scheduler 699 lib/pacemaker/pcmk_scheduler.c pcmk__output_actions(scheduler); scheduler 704 lib/pacemaker/pcmk_scheduler.c scheduler->priv = prev_out; scheduler 714 lib/pacemaker/pcmk_scheduler.c log_unrunnable_actions(const pcmk_scheduler_t *scheduler) scheduler 721 lib/pacemaker/pcmk_scheduler.c for (const GList *iter = scheduler->actions; scheduler 741 lib/pacemaker/pcmk_scheduler.c unpack_cib(xmlNode *cib, unsigned long long flags, pcmk_scheduler_t *scheduler) scheduler 745 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_have_status)) { scheduler 747 lib/pacemaker/pcmk_scheduler.c pcmk__set_scheduler_flags(scheduler, flags); scheduler 751 lib/pacemaker/pcmk_scheduler.c if (scheduler->localhost) { scheduler 752 lib/pacemaker/pcmk_scheduler.c localhost_save = scheduler->localhost; scheduler 763 lib/pacemaker/pcmk_scheduler.c set_working_set_defaults(scheduler); scheduler 766 lib/pacemaker/pcmk_scheduler.c scheduler->localhost = localhost_save; scheduler 769 lib/pacemaker/pcmk_scheduler.c pcmk__set_scheduler_flags(scheduler, flags); scheduler 770 lib/pacemaker/pcmk_scheduler.c scheduler->input = cib; scheduler 771 lib/pacemaker/pcmk_scheduler.c cluster_status(scheduler); // Sets pcmk_sched_have_status scheduler 784 lib/pacemaker/pcmk_scheduler.c pcmk_scheduler_t *scheduler) scheduler 786 lib/pacemaker/pcmk_scheduler.c unpack_cib(cib, flags, scheduler); scheduler 787 lib/pacemaker/pcmk_scheduler.c pcmk__set_assignment_methods(scheduler); scheduler 788 lib/pacemaker/pcmk_scheduler.c pcmk__apply_node_health(scheduler); scheduler 789 lib/pacemaker/pcmk_scheduler.c pcmk__unpack_constraints(scheduler); scheduler 790 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_validate_only)) { scheduler 794 lib/pacemaker/pcmk_scheduler.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_location_only) scheduler 796 lib/pacemaker/pcmk_scheduler.c log_resource_details(scheduler); scheduler 799 lib/pacemaker/pcmk_scheduler.c apply_node_criteria(scheduler); scheduler 801 lib/pacemaker/pcmk_scheduler.c if (pcmk_is_set(scheduler->flags, pcmk_sched_location_only)) { scheduler 805 lib/pacemaker/pcmk_scheduler.c pcmk__create_internal_constraints(scheduler); scheduler 806 lib/pacemaker/pcmk_scheduler.c pcmk__handle_rsc_config_changes(scheduler); scheduler 807 lib/pacemaker/pcmk_scheduler.c assign_resources(scheduler); scheduler 808 lib/pacemaker/pcmk_scheduler.c schedule_resource_actions(scheduler); scheduler 813 lib/pacemaker/pcmk_scheduler.c pcmk__order_remote_connection_actions(scheduler); scheduler 815 lib/pacemaker/pcmk_scheduler.c schedule_fencing_and_shutdowns(scheduler); scheduler 816 lib/pacemaker/pcmk_scheduler.c pcmk__apply_orderings(scheduler); scheduler 817 lib/pacemaker/pcmk_scheduler.c log_all_actions(scheduler); scheduler 818 lib/pacemaker/pcmk_scheduler.c pcmk__create_graph(scheduler); scheduler 821 lib/pacemaker/pcmk_scheduler.c log_unrunnable_actions(scheduler); scheduler 848 lib/pacemaker/pcmk_scheduler.c pcmk_scheduler_t **scheduler) scheduler 890 lib/pacemaker/pcmk_scheduler.c *scheduler = new_scheduler; scheduler 42 lib/pacemaker/pcmk_setup.c pcmk_scheduler_t **scheduler, xmlNode **xml) scheduler 66 lib/pacemaker/pcmk_setup.c if (scheduler != NULL) { scheduler 67 lib/pacemaker/pcmk_setup.c rc = pcmk__init_scheduler(*out, NULL, NULL, scheduler); scheduler 73 lib/pacemaker/pcmk_setup.c pcmk__unpack_constraints(*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 171 lib/pacemaker/pcmk_simulate.c print_transition_summary(pcmk_scheduler_t *scheduler, bool print_spacer) scheduler 173 lib/pacemaker/pcmk_simulate.c pcmk__output_t *out = scheduler->priv; scheduler 177 lib/pacemaker/pcmk_simulate.c pcmk__output_actions(scheduler); scheduler 192 lib/pacemaker/pcmk_simulate.c reset(pcmk_scheduler_t *scheduler, xmlNodePtr input, pcmk__output_t *out, scheduler 195 lib/pacemaker/pcmk_simulate.c scheduler->input = input; scheduler 196 lib/pacemaker/pcmk_simulate.c scheduler->priv = out; scheduler 197 lib/pacemaker/pcmk_simulate.c set_effective_date(scheduler, true, use_date); scheduler 199 lib/pacemaker/pcmk_simulate.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_sanitized); scheduler 202 lib/pacemaker/pcmk_simulate.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_output_scores); scheduler 205 lib/pacemaker/pcmk_simulate.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_show_utilization); scheduler 223 lib/pacemaker/pcmk_simulate.c write_sim_dotfile(pcmk_scheduler_t *scheduler, const char *dot_file, scheduler 234 lib/pacemaker/pcmk_simulate.c for (iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 275 lib/pacemaker/pcmk_simulate.c for (iter = scheduler->actions; iter != NULL; iter = iter->next) { scheduler 331 lib/pacemaker/pcmk_simulate.c pcmk_scheduler_t *scheduler, const char *use_date) scheduler 333 lib/pacemaker/pcmk_simulate.c pcmk__output_t *out = scheduler->priv; scheduler 358 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(scheduler->flags, pcmk_sched_output_scores)) { scheduler 361 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(scheduler->flags, pcmk_sched_show_utilization)) { scheduler 371 lib/pacemaker/pcmk_simulate.c scheduler->input = input; scheduler 372 lib/pacemaker/pcmk_simulate.c set_effective_date(scheduler, false, use_date); scheduler 373 lib/pacemaker/pcmk_simulate.c pcmk__schedule_actions(input, scheduler_flags, scheduler); scheduler 374 lib/pacemaker/pcmk_simulate.c pe_reset_working_set(scheduler); scheduler 383 lib/pacemaker/pcmk_simulate.c pcmk_scheduler_t *scheduler, const char *use_date) scheduler 385 lib/pacemaker/pcmk_simulate.c pcmk__output_t *out = scheduler->priv; scheduler 411 lib/pacemaker/pcmk_simulate.c profile_file(buffer, repeat, scheduler, use_date); scheduler 435 lib/pacemaker/pcmk_simulate.c set_effective_date(pcmk_scheduler_t *scheduler, bool print_original, scheduler 438 lib/pacemaker/pcmk_simulate.c pcmk__output_t *out = scheduler->priv; scheduler 443 lib/pacemaker/pcmk_simulate.c crm_element_value_epoch(scheduler->input, PCMK_XA_EXECUTION_DATE, scheduler 447 lib/pacemaker/pcmk_simulate.c scheduler->now = crm_time_new(use_date); scheduler 449 lib/pacemaker/pcmk_simulate.c crm_time_log(LOG_NOTICE, "Pretending 'now' is", scheduler->now, scheduler 453 lib/pacemaker/pcmk_simulate.c scheduler->now = pcmk__copy_timet(original_date); scheduler 456 lib/pacemaker/pcmk_simulate.c char *when = crm_time_as_string(scheduler->now, scheduler 740 lib/pacemaker/pcmk_simulate.c pcmk__simulate_transition(pcmk_scheduler_t *scheduler, cib_t *cib, scheduler 753 lib/pacemaker/pcmk_simulate.c out = scheduler->priv; scheduler 763 lib/pacemaker/pcmk_simulate.c transition = pcmk__unpack_graph(scheduler->graph, crm_system_name); scheduler 766 lib/pacemaker/pcmk_simulate.c fake_resource_list = scheduler->resources; scheduler 787 lib/pacemaker/pcmk_simulate.c pe_reset_working_set(scheduler); scheduler 788 lib/pacemaker/pcmk_simulate.c scheduler->input = cib_object; scheduler 795 lib/pacemaker/pcmk_simulate.c pcmk__simulate(pcmk_scheduler_t *scheduler, pcmk__output_t *out, scheduler 811 lib/pacemaker/pcmk_simulate.c reset(scheduler, input, out, use_date, flags); scheduler 812 lib/pacemaker/pcmk_simulate.c cluster_status(scheduler); scheduler 820 lib/pacemaker/pcmk_simulate.c scheduler->localhost = pcmk__our_nodename; scheduler 826 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(scheduler->flags, pcmk_sched_in_maintenance)) { scheduler 827 lib/pacemaker/pcmk_simulate.c printed = out->message(out, "maint-mode", scheduler->flags); scheduler 830 lib/pacemaker/pcmk_simulate.c if (scheduler->disabled_resources || scheduler->blocked_resources) { scheduler 835 lib/pacemaker/pcmk_simulate.c scheduler->disabled_resources, scheduler 836 lib/pacemaker/pcmk_simulate.c scheduler->ninstances, scheduler 837 lib/pacemaker/pcmk_simulate.c scheduler->blocked_resources); scheduler 843 lib/pacemaker/pcmk_simulate.c print_cluster_status(scheduler, (show_pending? pcmk_show_pending : 0), scheduler 861 lib/pacemaker/pcmk_simulate.c pcmk__inject_scheduler_input(scheduler, cib, injections); scheduler 870 lib/pacemaker/pcmk_simulate.c cleanup_calculations(scheduler); scheduler 871 lib/pacemaker/pcmk_simulate.c reset(scheduler, input, out, use_date, flags); scheduler 872 lib/pacemaker/pcmk_simulate.c cluster_status(scheduler); scheduler 886 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(scheduler->flags, pcmk_sched_output_scores)) { scheduler 889 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(scheduler->flags, pcmk_sched_show_utilization)) { scheduler 893 lib/pacemaker/pcmk_simulate.c if (pcmk_all_flags_set(scheduler->flags, scheduler 901 lib/pacemaker/pcmk_simulate.c } else if (pcmk_is_set(scheduler->flags, pcmk_sched_output_scores)) { scheduler 906 lib/pacemaker/pcmk_simulate.c } else if (pcmk_is_set(scheduler->flags, pcmk_sched_show_utilization)) { scheduler 918 lib/pacemaker/pcmk_simulate.c scheduler->priv = logger_out; scheduler 921 lib/pacemaker/pcmk_simulate.c pcmk__schedule_actions(input, scheduler_flags, scheduler); scheduler 928 lib/pacemaker/pcmk_simulate.c scheduler->priv = out; scheduler 934 lib/pacemaker/pcmk_simulate.c rc = pcmk__xml_write_file(scheduler->graph, graph_file, false, scheduler 943 lib/pacemaker/pcmk_simulate.c rc = write_sim_dotfile(scheduler, dot_file, scheduler 953 lib/pacemaker/pcmk_simulate.c print_transition_summary(scheduler, printed == pcmk_rc_ok); scheduler 964 lib/pacemaker/pcmk_simulate.c if (pcmk__simulate_transition(scheduler, cib, injections->op_fail) scheduler 973 lib/pacemaker/pcmk_simulate.c set_effective_date(scheduler, true, use_date); scheduler 976 lib/pacemaker/pcmk_simulate.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_output_scores); scheduler 979 lib/pacemaker/pcmk_simulate.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_show_utilization); scheduler 982 lib/pacemaker/pcmk_simulate.c cluster_status(scheduler); scheduler 983 lib/pacemaker/pcmk_simulate.c print_cluster_status(scheduler, 0, section_opts, "Revised Cluster Status", scheduler 992 lib/pacemaker/pcmk_simulate.c pcmk_simulate(xmlNodePtr *xml, pcmk_scheduler_t *scheduler, scheduler 1009 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 pcmk__mem_assert(scheduler); scheduler 105 lib/pacemaker/pcmk_status.c pcmk__set_scheduler_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 50 lib/pacemaker/pcmk_ticket.c add_attribute_xml(pcmk_scheduler_t *scheduler, const char *ticket_id, scheduler 57 lib/pacemaker/pcmk_ticket.c pcmk_ticket_t *ticket = g_hash_table_lookup(scheduler->tickets, ticket_id); scheduler 180 lib/pacemaker/pcmk_ticket.c pcmk__ticket_delete(pcmk__output_t *out, cib_t *cib, pcmk_scheduler_t *scheduler, scheduler 186 lib/pacemaker/pcmk_ticket.c pcmk__assert((cib != NULL) && (scheduler != NULL)); scheduler 193 lib/pacemaker/pcmk_ticket.c pcmk_ticket_t *ticket = g_hash_table_lookup(scheduler->tickets, ticket_id); scheduler 236 lib/pacemaker/pcmk_ticket.c pcmk_scheduler_t *scheduler = NULL; scheduler 241 lib/pacemaker/pcmk_ticket.c rc = pcmk__setup_output_cib_sched(&out, &cib, &scheduler, xml); scheduler 246 lib/pacemaker/pcmk_ticket.c rc = pcmk__ticket_delete(out, cib, scheduler, ticket_id, force); scheduler 254 lib/pacemaker/pcmk_ticket.c pe_free_working_set(scheduler); scheduler 259 lib/pacemaker/pcmk_ticket.c pcmk__ticket_get_attr(pcmk__output_t *out, pcmk_scheduler_t *scheduler, scheduler 267 lib/pacemaker/pcmk_ticket.c pcmk__assert(out != NULL && scheduler != NULL); scheduler 273 lib/pacemaker/pcmk_ticket.c ticket = g_hash_table_lookup(scheduler->tickets, ticket_id); scheduler 294 lib/pacemaker/pcmk_ticket.c pcmk_scheduler_t *scheduler = NULL; scheduler 298 lib/pacemaker/pcmk_ticket.c rc = pcmk__setup_output_cib_sched(&out, NULL, &scheduler, xml); scheduler 303 lib/pacemaker/pcmk_ticket.c rc = pcmk__ticket_get_attr(out, scheduler, ticket_id, attr_name, attr_default); scheduler 307 lib/pacemaker/pcmk_ticket.c pe_free_working_set(scheduler); scheduler 312 lib/pacemaker/pcmk_ticket.c pcmk__ticket_info(pcmk__output_t *out, pcmk_scheduler_t *scheduler, scheduler 317 lib/pacemaker/pcmk_ticket.c pcmk__assert((out != NULL) && (scheduler != NULL)); scheduler 321 lib/pacemaker/pcmk_ticket.c pcmk_ticket_t *ticket = g_hash_table_lookup(scheduler->tickets, ticket_id); scheduler 336 lib/pacemaker/pcmk_ticket.c out->message(out, "ticket-list", scheduler->tickets, false, raw, details); scheduler 345 lib/pacemaker/pcmk_ticket.c pcmk_scheduler_t *scheduler = NULL; scheduler 349 lib/pacemaker/pcmk_ticket.c rc = pcmk__setup_output_cib_sched(&out, NULL, &scheduler, xml); scheduler 360 lib/pacemaker/pcmk_ticket.c rc = pcmk__ticket_info(out, scheduler, ticket_id, false, false); scheduler 364 lib/pacemaker/pcmk_ticket.c pe_free_working_set(scheduler); scheduler 369 lib/pacemaker/pcmk_ticket.c pcmk__ticket_remove_attr(pcmk__output_t *out, cib_t *cib, pcmk_scheduler_t *scheduler, scheduler 376 lib/pacemaker/pcmk_ticket.c pcmk__assert((out != NULL) && (cib != NULL) && (scheduler != NULL)); scheduler 418 lib/pacemaker/pcmk_ticket.c pcmk_scheduler_t *scheduler = NULL; scheduler 423 lib/pacemaker/pcmk_ticket.c rc = pcmk__setup_output_cib_sched(&out, &cib, &scheduler, xml); scheduler 428 lib/pacemaker/pcmk_ticket.c rc = pcmk__ticket_remove_attr(out, cib, scheduler, ticket_id, attr_delete, force); scheduler 436 lib/pacemaker/pcmk_ticket.c pe_free_working_set(scheduler); scheduler 441 lib/pacemaker/pcmk_ticket.c pcmk__ticket_set_attr(pcmk__output_t *out, cib_t *cib, pcmk_scheduler_t *scheduler, scheduler 448 lib/pacemaker/pcmk_ticket.c pcmk__assert((out != NULL) && (cib != NULL) && (scheduler != NULL)); scheduler 473 lib/pacemaker/pcmk_ticket.c add_attribute_xml(scheduler, ticket_id, attr_set, &ticket_state_xml); scheduler 487 lib/pacemaker/pcmk_ticket.c pcmk_scheduler_t *scheduler = NULL; scheduler 492 lib/pacemaker/pcmk_ticket.c rc = pcmk__setup_output_cib_sched(&out, &cib, &scheduler, xml); scheduler 497 lib/pacemaker/pcmk_ticket.c rc = pcmk__ticket_set_attr(out, cib, scheduler, ticket_id, attr_set, force); scheduler 505 lib/pacemaker/pcmk_ticket.c pe_free_working_set(scheduler); scheduler 50 lib/pacemaker/pcmk_verify.c pcmk__verify(pcmk_scheduler_t *scheduler, pcmk__output_t *out, scheduler 105 lib/pacemaker/pcmk_verify.c pcmk__schedule_actions(cib_object_copy, flags, scheduler); scheduler 121 lib/pacemaker/pcmk_verify.c pcmk_scheduler_t *scheduler = NULL; scheduler 141 lib/pacemaker/pcmk_verify.c scheduler = pe_new_working_set(); scheduler 142 lib/pacemaker/pcmk_verify.c if (scheduler == NULL) { scheduler 148 lib/pacemaker/pcmk_verify.c scheduler->priv = out; scheduler 149 lib/pacemaker/pcmk_verify.c rc = pcmk__verify(scheduler, out, &cib_object); scheduler 152 lib/pacemaker/pcmk_verify.c pe_free_working_set(scheduler); scheduler 984 lib/pengine/bundle.c pe__unpack_bundle(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 1198 lib/pengine/bundle.c scheduler) != pcmk_rc_ok) { scheduler 213 lib/pengine/clone.c pcmk_scheduler_t *scheduler) scheduler 224 lib/pengine/clone.c g_list_length(scheduler->nodes)); scheduler 247 lib/pengine/clone.c pe__create_clone_child(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 274 lib/pengine/clone.c scheduler) != pcmk_rc_ok) { scheduler 348 lib/pengine/clone.c clone_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 382 lib/pengine/clone.c QB_MAX(1, g_list_length(scheduler->nodes))); scheduler 446 lib/pengine/clone.c if (pe__create_clone_child(rsc, scheduler) == NULL) { scheduler 453 lib/pengine/clone.c if (pe__create_clone_child(rsc, scheduler) == NULL) { scheduler 1284 lib/pengine/clone.c const pcmk_scheduler_t *scheduler) scheduler 1289 lib/pengine/clone.c if (clone_data->clone_max == g_list_length(scheduler->nodes)) { scheduler 140 lib/pengine/complex.c GHashTable *meta_hash, pcmk_scheduler_t *scheduler) scheduler 157 lib/pengine/complex.c parent_orig_meta, NULL, FALSE, scheduler); scheduler 175 lib/pengine/complex.c pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 185 lib/pengine/complex.c .now = scheduler->now, scheduler 207 lib/pengine/complex.c meta_hash, NULL, FALSE, scheduler); scheduler 214 lib/pengine/complex.c expand_parents_fixed_nvpairs(rsc, &rule_data, meta_hash, scheduler); scheduler 218 lib/pengine/complex.c pe__unpack_dataset_nvpairs(scheduler->rsc_defaults, PCMK_XE_META_ATTRIBUTES, scheduler 219 lib/pengine/complex.c &rule_data, meta_hash, NULL, FALSE, scheduler); scheduler 232 lib/pengine/complex.c const pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 236 lib/pengine/complex.c .now = scheduler->now, scheduler 247 lib/pengine/complex.c &rule_data, meta_hash, NULL, FALSE, scheduler); scheduler 251 lib/pengine/complex.c get_rsc_attributes(meta_hash, rsc->parent, node, scheduler); scheduler 254 lib/pengine/complex.c if (pcmk__xe_first_child(scheduler->rsc_defaults, scheduler 269 lib/pengine/complex.c pe__unpack_dataset_nvpairs(scheduler->rsc_defaults, scheduler 271 lib/pengine/complex.c meta_hash, NULL, FALSE, scheduler); scheduler 294 lib/pengine/complex.c pcmk_scheduler_t *scheduler) scheduler 327 lib/pengine/complex.c cib_resources = get_xpath_object("//" PCMK_XE_RESOURCES, scheduler->input, scheduler 395 lib/pengine/complex.c if (!unpack_template(new_xml, expanded_xml, scheduler)) { scheduler 406 lib/pengine/complex.c add_template_rsc(xmlNode *xml_obj, pcmk_scheduler_t *scheduler) scheduler 434 lib/pengine/complex.c if (add_tag_ref(scheduler->template_rsc_sets, template_ref, id) == FALSE) { scheduler 485 lib/pengine/complex.c pcmk_scheduler_t *scheduler) scheduler 496 lib/pengine/complex.c if ((rsc == NULL) || (scheduler == NULL)) { scheduler 513 lib/pengine/complex.c get_rsc_attributes(params_on_node, rsc, node, scheduler); scheduler 692 lib/pengine/complex.c pcmk_resource_t *parent, pcmk_scheduler_t *scheduler) scheduler 710 lib/pengine/complex.c CRM_CHECK((xml_obj != NULL) && (scheduler != NULL), scheduler 714 lib/pengine/complex.c rule_data.now = scheduler->now; scheduler 725 lib/pengine/complex.c if (unpack_template(xml_obj, &expanded_xml, scheduler) == FALSE) { scheduler 734 lib/pengine/complex.c (*rsc)->cluster = scheduler; scheduler 751 lib/pengine/complex.c (*rsc)->ops_xml = expand_idref(ops, scheduler->input); scheduler 779 lib/pengine/complex.c get_meta_attributes((*rsc)->meta, *rsc, NULL, scheduler); scheduler 780 lib/pengine/complex.c (*rsc)->parameters = pe_rsc_params(*rsc, NULL, scheduler); // \deprecated scheduler 785 lib/pengine/complex.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_in_maintenance)) { scheduler 855 lib/pengine/complex.c if (pcmk_is_set(scheduler->flags, pcmk_sched_in_maintenance)) { scheduler 950 lib/pengine/complex.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_have_fencing); scheduler 967 lib/pengine/complex.c GHashTable *params = pe_rsc_params(*rsc, NULL, scheduler); scheduler 993 lib/pengine/complex.c if ((*rsc)->fns->unpack(*rsc, scheduler) == FALSE) { scheduler 999 lib/pengine/complex.c if (pcmk_is_set(scheduler->flags, pcmk_sched_symmetric_cluster)) { scheduler 1001 lib/pengine/complex.c resource_location(*rsc, NULL, 0, "symmetric_default", scheduler); scheduler 1007 lib/pengine/complex.c scheduler); scheduler 1016 lib/pengine/complex.c (*rsc)->utilization, NULL, FALSE, scheduler); scheduler 1019 lib/pengine/complex.c if (add_template_rsc(xml_obj, scheduler) == FALSE) { scheduler 471 lib/pengine/failcounts.c const char *reason, pcmk_scheduler_t *scheduler) scheduler 476 lib/pengine/failcounts.c CRM_CHECK(rsc && node && reason && scheduler, return NULL); scheduler 480 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 92 lib/pengine/native.c pcmk_scheduler_t *scheduler, gboolean failed) scheduler 124 lib/pengine/native.c "not_managed_default", scheduler); scheduler 145 lib/pengine/native.c rsc->allowed_nodes = pe__node_list2table(scheduler->nodes); scheduler 191 lib/pengine/native.c native_add_running(rsc->parent, node, scheduler, FALSE); scheduler 204 lib/pengine/native.c native_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 222 lib/pengine/native.c pe__force_anon(standard, parent, rsc->id, scheduler); scheduler 326 lib/pengine/native.c const char *name, pcmk_scheduler_t *scheduler) scheduler 335 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 170 lib/pengine/pe_actions.c const pcmk_node_t *node, bool optional, pcmk_scheduler_t *scheduler) scheduler 216 lib/pengine/pe_actions.c scheduler->action_id, key, task, scheduler 219 lib/pengine/pe_actions.c action->id = scheduler->action_id++; scheduler 221 lib/pengine/pe_actions.c scheduler->actions = g_list_prepend(scheduler->actions, action); scheduler 223 lib/pengine/pe_actions.c add_singleton(scheduler, action); scheduler 243 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 379 lib/pengine/pe_actions.c switch (effective_quorum_policy(action->rsc, scheduler)) { scheduler 1131 lib/pengine/pe_actions.c pcmk_scheduler_t *scheduler) scheduler 1135 lib/pengine/pe_actions.c pcmk__assert((key != NULL) && (task != NULL) && (scheduler != NULL)); scheduler 1137 lib/pengine/pe_actions.c action = find_existing_action(key, rsc, on_node, scheduler); scheduler 1139 lib/pengine/pe_actions.c action = new_action(key, task, rsc, on_node, optional, scheduler); scheduler 1161 lib/pengine/pe_actions.c attrs, scheduler); scheduler 1165 lib/pengine/pe_actions.c update_resource_action_runnable(action, scheduler); scheduler 1177 lib/pengine/pe_actions.c get_pseudo_op(const char *name, pcmk_scheduler_t *scheduler) scheduler 1179 lib/pengine/pe_actions.c pcmk_action_t *op = lookup_singleton(scheduler, name); scheduler 1182 lib/pengine/pe_actions.c op = custom_action(NULL, strdup(name), name, NULL, TRUE, scheduler); scheduler 1214 lib/pengine/pe_actions.c const pcmk_scheduler_t *scheduler) scheduler 1223 lib/pengine/pe_actions.c if (scheduler->priority_fencing_delay <= 0) { scheduler 1238 lib/pengine/pe_actions.c for (gIter = scheduler->nodes; gIter != NULL; gIter = gIter->next) { scheduler 1277 lib/pengine/pe_actions.c return scheduler->priority_fencing_delay; scheduler 1283 lib/pengine/pe_actions.c pcmk_scheduler_t *scheduler) scheduler 1289 lib/pengine/pe_actions.c op = scheduler->stonith_action; scheduler 1295 lib/pengine/pe_actions.c stonith_op = lookup_singleton(scheduler, op_key); scheduler 1298 lib/pengine/pe_actions.c TRUE, scheduler); scheduler 1305 lib/pengine/pe_actions.c if (pcmk_is_set(scheduler->flags, pcmk_sched_enable_unfencing)) { scheduler 1311 lib/pengine/pe_actions.c GList *matches = find_unfencing_devices(scheduler->resources, NULL); scheduler 1320 lib/pengine/pe_actions.c scheduler); scheduler 1325 lib/pengine/pe_actions.c if (!pcmk__is_daemon && scheduler->priv != NULL) { scheduler 1326 lib/pengine/pe_actions.c pcmk__output_t *out = scheduler->priv; scheduler 1357 lib/pengine/pe_actions.c if (scheduler->priority_fencing_delay > 0 scheduler 1377 lib/pengine/pe_actions.c scheduler)); scheduler 1384 lib/pengine/pe_actions.c if(optional == FALSE && pe_can_fence(scheduler, node)) { scheduler 102 lib/pengine/pe_digest.c GHashTable *overrides, pcmk_scheduler_t *scheduler) scheduler 149 lib/pengine/pe_digest.c scheduler); scheduler 309 lib/pengine/pe_digest.c bool calc_secure, pcmk_scheduler_t *scheduler) scheduler 315 lib/pengine/pe_digest.c CRM_CHECK(scheduler != NULL, return NULL); scheduler 329 lib/pengine/pe_digest.c if ((op_version == NULL) && (scheduler->input != NULL)) { scheduler 330 lib/pengine/pe_digest.c op_version = crm_element_value(scheduler->input, scheduler 338 lib/pengine/pe_digest.c params = pe_rsc_params(rsc, node, scheduler); scheduler 340 lib/pengine/pe_digest.c op_version, overrides, scheduler); scheduler 366 lib/pengine/pe_digest.c bool calc_secure, pcmk_scheduler_t *scheduler) scheduler 374 lib/pengine/pe_digest.c NULL, calc_secure, scheduler); scheduler 395 lib/pengine/pe_digest.c pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 413 lib/pengine/pe_digest.c pcmk_is_set(scheduler->flags, scheduler 415 lib/pengine/pe_digest.c scheduler); scheduler 552 lib/pengine/pe_digest.c pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 558 lib/pengine/pe_digest.c node, NULL, TRUE, scheduler); scheduler 581 lib/pengine/pe_digest.c if (!pcmk__is_daemon && scheduler->priv != NULL) { scheduler 582 lib/pengine/pe_digest.c pcmk__output_t *out = scheduler->priv; scheduler 592 lib/pengine/pe_digest.c if (pcmk_is_set(scheduler->flags, pcmk_sched_sanitized) scheduler 595 lib/pengine/pe_digest.c if (scheduler->priv != NULL) { scheduler 596 lib/pengine/pe_digest.c pcmk__output_t *out = scheduler->priv; scheduler 24 lib/pengine/pe_health.c pe__unpack_node_health_scores(pcmk_scheduler_t *scheduler) scheduler 26 lib/pengine/pe_health.c switch (pe__health_strategy(scheduler)) { scheduler 47 lib/pengine/pe_health.c scheduler); scheduler 49 lib/pengine/pe_health.c scheduler); scheduler 51 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 204 lib/pengine/pe_output.c get_cluster_stack(pcmk_scheduler_t *scheduler) scheduler 206 lib/pengine/pe_output.c xmlNode *stack = get_xpath_object(XPATH_STACK, scheduler->input, LOG_DEBUG); scheduler 373 lib/pengine/pe_output.c is_mixed_version(pcmk_scheduler_t *scheduler) scheduler 376 lib/pengine/pe_output.c for (GList *gIter = scheduler->nodes; gIter != NULL; gIter = gIter->next) { scheduler 407 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 414 lib/pengine/pe_output.c const char *stack_s = get_cluster_stack(scheduler); scheduler 423 lib/pengine/pe_output.c scheduler->input, LOG_DEBUG); scheduler 427 lib/pengine/pe_output.c const char *quorum = crm_element_value(scheduler->input, scheduler 429 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 430 lib/pengine/pe_output.c bool mixed_version = is_mixed_version(scheduler); scheduler 433 lib/pengine/pe_output.c out->message(out, "cluster-dc", scheduler->dc_node, quorum, scheduler 439 lib/pengine/pe_output.c const char *last_written = crm_element_value(scheduler->input, scheduler 441 lib/pengine/pe_output.c const char *user = crm_element_value(scheduler->input, scheduler 443 lib/pengine/pe_output.c const char *client = crm_element_value(scheduler->input, scheduler 445 lib/pengine/pe_output.c const char *origin = crm_element_value(scheduler->input, scheduler 450 lib/pengine/pe_output.c scheduler->localhost, last_written, user, client, origin); scheduler 455 lib/pengine/pe_output.c out->message(out, "cluster-counts", g_list_length(scheduler->nodes), scheduler 456 lib/pengine/pe_output.c scheduler->ninstances, scheduler->disabled_resources, scheduler 457 lib/pengine/pe_output.c scheduler->blocked_resources); scheduler 462 lib/pengine/pe_output.c out->message(out, "cluster-options", scheduler); scheduler 468 lib/pengine/pe_output.c if (out->message(out, "maint-mode", scheduler->flags) == pcmk_rc_ok) { scheduler 480 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 487 lib/pengine/pe_output.c const char *stack_s = get_cluster_stack(scheduler); scheduler 495 lib/pengine/pe_output.c if ((scheduler->dc_node == NULL) scheduler 498 lib/pengine/pe_output.c scheduler->input, LOG_DEBUG); scheduler 502 lib/pengine/pe_output.c const char *quorum = crm_element_value(scheduler->input, scheduler 504 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 505 lib/pengine/pe_output.c bool mixed_version = is_mixed_version(scheduler); scheduler 508 lib/pengine/pe_output.c out->message(out, "cluster-dc", scheduler->dc_node, quorum, scheduler 514 lib/pengine/pe_output.c const char *last_written = crm_element_value(scheduler->input, scheduler 516 lib/pengine/pe_output.c const char *user = crm_element_value(scheduler->input, scheduler 518 lib/pengine/pe_output.c const char *client = crm_element_value(scheduler->input, scheduler 520 lib/pengine/pe_output.c const char *origin = crm_element_value(scheduler->input, scheduler 525 lib/pengine/pe_output.c scheduler->localhost, last_written, user, client, origin); scheduler 530 lib/pengine/pe_output.c out->message(out, "cluster-counts", g_list_length(scheduler->nodes), scheduler 531 lib/pengine/pe_output.c scheduler->ninstances, scheduler->disabled_resources, scheduler 532 lib/pengine/pe_output.c scheduler->blocked_resources); scheduler 543 lib/pengine/pe_output.c out->message(out, "cluster-options", scheduler); scheduler 549 lib/pengine/pe_output.c if (out->message(out, "maint-mode", scheduler->flags) == pcmk_rc_ok) { scheduler 716 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 726 lib/pengine/pe_output.c for (gIter = scheduler->placement_constraints; scheduler 1024 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1026 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 1032 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_symmetric_cluster)) { scheduler 1038 lib/pengine/pe_output.c switch (scheduler->no_quorum_policy) { scheduler 1061 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_in_maintenance)) { scheduler 1076 lib/pengine/pe_output.c } else if (pcmk_is_set(scheduler->flags, pcmk_sched_stop_all)) { scheduler 1100 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1102 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_in_maintenance)) { scheduler 1104 lib/pengine/pe_output.c } else if (pcmk_is_set(scheduler->flags, pcmk_sched_stop_all)) { scheduler 1114 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1116 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 1122 lib/pengine/pe_output.c if (pcmk_is_set(scheduler->flags, pcmk_sched_symmetric_cluster)) { scheduler 1128 lib/pengine/pe_output.c switch (scheduler->no_quorum_policy) { scheduler 1189 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1191 lib/pengine/pe_output.c const char *stonith_enabled = pcmk__flag_text(scheduler->flags, scheduler 1194 lib/pengine/pe_output.c pcmk__flag_text(scheduler->flags, pcmk_sched_symmetric_cluster); scheduler 1196 lib/pengine/pe_output.c no_quorum_policy_text(scheduler->no_quorum_policy); scheduler 1197 lib/pengine/pe_output.c const char *maintenance_mode = pcmk__flag_text(scheduler->flags, scheduler 1199 lib/pengine/pe_output.c const char *stop_all_resources = pcmk__flag_text(scheduler->flags, scheduler 1201 lib/pengine/pe_output.c char *stonith_timeout_ms_s = pcmk__itoa(scheduler->stonith_timeout); scheduler 1203 lib/pengine/pe_output.c pcmk__itoa(scheduler->priority_fencing_delay * 1000); scheduler 1658 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 1667 lib/pengine/pe_output.c if (xmlChildElementCount(scheduler->failed) == 0) { scheduler 1671 lib/pengine/pe_output.c for (xml_op = pcmk__xe_first_child(scheduler->failed, NULL, NULL, NULL); scheduler 2188 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2202 lib/pengine/pe_output.c rsc = pe_find_resource(scheduler->resources, op_rsc); scheduler 2246 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2271 lib/pengine/pe_output.c rsc = pe_find_resource(scheduler->resources, op_rsc); scheduler 2332 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2341 lib/pengine/pe_output.c for (GList *gIter = scheduler->nodes; gIter != NULL; gIter = gIter->next) { scheduler 2379 lib/pengine/pe_output.c scheduler, name, &expected_score); scheduler 2432 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2460 lib/pengine/pe_output.c rsc = pe_find_resource(scheduler->resources, rsc_id); scheduler 2512 lib/pengine/pe_output.c rsc = pe_find_resource(scheduler->resources, scheduler 2521 lib/pengine/pe_output.c out->message(out, "resource-operation-list", scheduler, rsc, node, scheduler 2695 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 2703 lib/pengine/pe_output.c xmlNode *cib_status = pcmk_find_cib_element(scheduler->input, scheduler 2715 lib/pengine/pe_output.c pcmk_node_t *node = pe_find_node_id(scheduler->nodes, scheduler 2730 lib/pengine/pe_output.c out->message(out, "node-history-list", scheduler, node, node_state, scheduler 3008 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler = va_arg(args, pcmk_scheduler_t *); scheduler 3031 lib/pengine/pe_output.c GList *rscs = pe__filter_rsc_list(scheduler->resources, only_rsc); scheduler 3042 lib/pengine/pe_output.c for (rsc_iter = scheduler->resources; rsc_iter != NULL; rsc_iter = rsc_iter->next) { scheduler 3117 lib/pengine/pe_output.c pcmk_scheduler_t *scheduler G_GNUC_UNUSED = va_arg(args, 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 106 lib/pengine/pe_status_private.h pcmk_scheduler_t *scheduler); scheduler 109 lib/pengine/pe_status_private.h gboolean unpack_config(xmlNode *config, pcmk_scheduler_t *scheduler); scheduler 112 lib/pengine/pe_status_private.h gboolean unpack_nodes(xmlNode *xml_nodes, pcmk_scheduler_t *scheduler); scheduler 115 lib/pengine/pe_status_private.h gboolean unpack_tags(xmlNode *xml_tags, pcmk_scheduler_t *scheduler); scheduler 118 lib/pengine/pe_status_private.h gboolean unpack_status(xmlNode *status, pcmk_scheduler_t *scheduler); scheduler 124 lib/pengine/pe_status_private.h pcmk_scheduler_t *scheduler); scheduler 127 lib/pengine/pe_status_private.h void pe__unpack_node_health_scores(pcmk_scheduler_t *scheduler); scheduler 29 lib/pengine/remote.c pe__resource_contains_guest_node(const pcmk_scheduler_t *scheduler, scheduler 32 lib/pengine/remote.c if ((rsc != NULL) && (scheduler != NULL) scheduler 33 lib/pengine/remote.c && pcmk_is_set(scheduler->flags, pcmk_sched_have_remote_nodes)) { scheduler 83 lib/pengine/remote.c pe_foreach_guest_node(const pcmk_scheduler_t *scheduler, scheduler 90 lib/pengine/remote.c CRM_CHECK(scheduler && host && host->details && helper, return); scheduler 91 lib/pengine/remote.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_have_remote_nodes)) { scheduler 98 lib/pengine/remote.c pcmk_node_t *guest_node = pcmk_find_node(scheduler, rsc->id); scheduler 191 lib/pengine/remote.c pcmk_scheduler_t *scheduler) scheduler 195 lib/pengine/remote.c CRM_CHECK(scheduler && rsc_op && rsc && node, return); scheduler 205 lib/pengine/remote.c scheduler->param_check = g_list_prepend(scheduler->param_check, check_op); scheduler 216 lib/pengine/remote.c pe__foreach_param_check(pcmk_scheduler_t *scheduler, scheduler 220 lib/pengine/remote.c CRM_CHECK(scheduler && cb, return); scheduler 222 lib/pengine/remote.c for (GList *item = scheduler->param_check; scheduler 232 lib/pengine/remote.c pe__free_param_checks(pcmk_scheduler_t *scheduler) scheduler 234 lib/pengine/remote.c if (scheduler && scheduler->param_check) { scheduler 235 lib/pengine/remote.c g_list_free_full(scheduler->param_check, free); scheduler 236 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 70 lib/pengine/status.c check_for_deprecated_rules(pcmk_scheduler_t *scheduler) scheduler 74 lib/pengine/status.c scheduler->input, LOG_NEVER); scheduler 96 lib/pengine/status.c cluster_status(pcmk_scheduler_t * scheduler) scheduler 101 lib/pengine/status.c if ((scheduler == NULL) || (scheduler->input == NULL)) { scheduler 105 lib/pengine/status.c new_version = crm_element_value(scheduler->input, PCMK_XA_CRM_FEATURE_SET); scheduler 115 lib/pengine/status.c if (scheduler->failed != NULL) { scheduler 116 lib/pengine/status.c free_xml(scheduler->failed); scheduler 118 lib/pengine/status.c scheduler->failed = pcmk__xe_create(NULL, "failed-ops"); scheduler 120 lib/pengine/status.c if (scheduler->now == NULL) { scheduler 121 lib/pengine/status.c scheduler->now = crm_time_new(NULL); scheduler 124 lib/pengine/status.c if (scheduler->dc_uuid == NULL) { scheduler 125 lib/pengine/status.c scheduler->dc_uuid = crm_element_value_copy(scheduler->input, scheduler 129 lib/pengine/status.c if (pcmk__xe_attr_is_true(scheduler->input, PCMK_XA_HAVE_QUORUM)) { scheduler 130 lib/pengine/status.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_quorate); scheduler 132 lib/pengine/status.c pcmk__clear_scheduler_flags(scheduler, pcmk_sched_quorate); scheduler 135 lib/pengine/status.c scheduler->op_defaults = get_xpath_object("//" PCMK_XE_OP_DEFAULTS, scheduler 136 lib/pengine/status.c scheduler->input, LOG_NEVER); scheduler 137 lib/pengine/status.c check_for_deprecated_rules(scheduler); scheduler 139 lib/pengine/status.c scheduler->rsc_defaults = get_xpath_object("//" PCMK_XE_RSC_DEFAULTS, scheduler 140 lib/pengine/status.c scheduler->input, LOG_NEVER); scheduler 142 lib/pengine/status.c section = get_xpath_object("//" PCMK_XE_CRM_CONFIG, scheduler->input, scheduler 144 lib/pengine/status.c unpack_config(section, scheduler); scheduler 146 lib/pengine/status.c if (!pcmk_any_flags_set(scheduler->flags, scheduler 148 lib/pengine/status.c && (scheduler->no_quorum_policy != pcmk_no_quorum_ignore)) { scheduler 153 lib/pengine/status.c section = get_xpath_object("//" PCMK_XE_NODES, scheduler->input, LOG_TRACE); scheduler 154 lib/pengine/status.c unpack_nodes(section, scheduler); scheduler 156 lib/pengine/status.c section = get_xpath_object("//" PCMK_XE_RESOURCES, scheduler->input, scheduler 158 lib/pengine/status.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_location_only)) { scheduler 159 lib/pengine/status.c unpack_remote_nodes(section, scheduler); scheduler 161 lib/pengine/status.c unpack_resources(section, scheduler); scheduler 163 lib/pengine/status.c section = get_xpath_object("//" PCMK_XE_FENCING_TOPOLOGY, scheduler->input, scheduler 165 lib/pengine/status.c pcmk__unpack_fencing_topology(section, scheduler); scheduler 167 lib/pengine/status.c section = get_xpath_object("//" PCMK_XE_TAGS, scheduler->input, LOG_NEVER); scheduler 168 lib/pengine/status.c unpack_tags(section, scheduler); scheduler 170 lib/pengine/status.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_location_only)) { scheduler 171 lib/pengine/status.c section = get_xpath_object("//" PCMK_XE_STATUS, scheduler->input, scheduler 173 lib/pengine/status.c unpack_status(section, scheduler); scheduler 176 lib/pengine/status.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_no_counts)) { scheduler 177 lib/pengine/status.c for (GList *item = scheduler->resources; item != NULL; scheduler 182 lib/pengine/status.c scheduler->ninstances, scheduler->disabled_resources, scheduler 183 lib/pengine/status.c scheduler->blocked_resources); scheduler 186 lib/pengine/status.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_have_status); scheduler 318 lib/pengine/status.c cleanup_calculations(pcmk_scheduler_t *scheduler) scheduler 320 lib/pengine/status.c if (scheduler == NULL) { scheduler 324 lib/pengine/status.c pcmk__clear_scheduler_flags(scheduler, pcmk_sched_have_status); scheduler 325 lib/pengine/status.c if (scheduler->config_hash != NULL) { scheduler 326 lib/pengine/status.c g_hash_table_destroy(scheduler->config_hash); scheduler 329 lib/pengine/status.c if (scheduler->singletons != NULL) { scheduler 330 lib/pengine/status.c g_hash_table_destroy(scheduler->singletons); scheduler 333 lib/pengine/status.c if (scheduler->tickets) { scheduler 334 lib/pengine/status.c g_hash_table_destroy(scheduler->tickets); scheduler 337 lib/pengine/status.c if (scheduler->template_rsc_sets) { scheduler 338 lib/pengine/status.c g_hash_table_destroy(scheduler->template_rsc_sets); scheduler 341 lib/pengine/status.c if (scheduler->tags) { scheduler 342 lib/pengine/status.c g_hash_table_destroy(scheduler->tags); scheduler 345 lib/pengine/status.c free(scheduler->dc_uuid); scheduler 348 lib/pengine/status.c pe_free_resources(scheduler->resources); scheduler 351 lib/pengine/status.c pe_free_actions(scheduler->actions); scheduler 354 lib/pengine/status.c pe_free_nodes(scheduler->nodes); scheduler 356 lib/pengine/status.c pe__free_param_checks(scheduler); scheduler 357 lib/pengine/status.c g_list_free(scheduler->stop_needed); scheduler 358 lib/pengine/status.c free_xml(scheduler->graph); scheduler 359 lib/pengine/status.c crm_time_free(scheduler->now); scheduler 360 lib/pengine/status.c free_xml(scheduler->input); scheduler 361 lib/pengine/status.c free_xml(scheduler->failed); scheduler 363 lib/pengine/status.c set_working_set_defaults(scheduler); scheduler 365 lib/pengine/status.c CRM_CHECK(scheduler->ordering_constraints == NULL,; scheduler 367 lib/pengine/status.c CRM_CHECK(scheduler->placement_constraints == NULL,; scheduler 377 lib/pengine/status.c pe_reset_working_set(pcmk_scheduler_t *scheduler) scheduler 379 lib/pengine/status.c if (scheduler == NULL) { scheduler 384 lib/pengine/status.c g_list_length(scheduler->ordering_constraints)); scheduler 385 lib/pengine/status.c pe__free_ordering(scheduler->ordering_constraints); scheduler 386 lib/pengine/status.c scheduler->ordering_constraints = NULL; scheduler 389 lib/pengine/status.c g_list_length(scheduler->placement_constraints)); scheduler 390 lib/pengine/status.c pe__free_location(scheduler->placement_constraints); scheduler 391 lib/pengine/status.c scheduler->placement_constraints = NULL; scheduler 394 lib/pengine/status.c g_list_length(scheduler->colocation_constraints)); scheduler 395 lib/pengine/status.c g_list_free_full(scheduler->colocation_constraints, free); scheduler 396 lib/pengine/status.c scheduler->colocation_constraints = NULL; scheduler 399 lib/pengine/status.c g_list_length(scheduler->ticket_constraints)); scheduler 400 lib/pengine/status.c g_list_free_full(scheduler->ticket_constraints, free); scheduler 401 lib/pengine/status.c scheduler->ticket_constraints = NULL; scheduler 403 lib/pengine/status.c cleanup_calculations(scheduler); scheduler 407 lib/pengine/status.c set_working_set_defaults(pcmk_scheduler_t *scheduler) scheduler 409 lib/pengine/status.c void *priv = scheduler->priv; scheduler 411 lib/pengine/status.c memset(scheduler, 0, sizeof(pcmk_scheduler_t)); scheduler 413 lib/pengine/status.c scheduler->priv = priv; scheduler 414 lib/pengine/status.c scheduler->order_id = 1; scheduler 415 lib/pengine/status.c scheduler->action_id = 1; scheduler 416 lib/pengine/status.c scheduler->no_quorum_policy = pcmk_no_quorum_stop; scheduler 418 lib/pengine/status.c scheduler->flags = 0x0ULL; scheduler 421 lib/pengine/status.c pcmk__set_scheduler_flags(scheduler, scheduler 427 lib/pengine/status.c pcmk__set_scheduler_flags(scheduler, 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 pcmk__set_scheduler_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 = pcmk_find_node(scheduler, "cluster01"); scheduler 54 lib/pengine/tests/native/native_find_rsc_test.c cluster02 = pcmk_find_node(scheduler, "cluster02"); scheduler 55 lib/pengine/tests/native/native_find_rsc_test.c httpd_bundle_0 = pcmk_find_node(scheduler, "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 pcmk__set_scheduler_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 = pcmk__assert_alloc(1, scheduler 26 lib/pengine/tests/status/set_working_set_defaults_test.c set_working_set_defaults(scheduler); scheduler 35 lib/pengine/tests/status/set_working_set_defaults_test.c assert_null(scheduler->priv); scheduler 36 lib/pengine/tests/status/set_working_set_defaults_test.c assert_int_equal(scheduler->order_id, 1); scheduler 37 lib/pengine/tests/status/set_working_set_defaults_test.c assert_int_equal(scheduler->action_id, 1); scheduler 38 lib/pengine/tests/status/set_working_set_defaults_test.c assert_int_equal(scheduler->no_quorum_policy, pcmk_no_quorum_stop); scheduler 39 lib/pengine/tests/status/set_working_set_defaults_test.c assert_int_equal(scheduler->flags, flags); scheduler 44 lib/pengine/tests/status/set_working_set_defaults_test.c free(scheduler); scheduler 51 lib/pengine/unpack.c #define set_config_flag(scheduler, option, flag) do { \ scheduler 52 lib/pengine/unpack.c GHashTable *config_hash = (scheduler)->config_hash; \ scheduler 57 lib/pengine/unpack.c (scheduler)->flags = pcmk__set_flags_as(__func__, __LINE__, \ scheduler 59 lib/pengine/unpack.c crm_system_name, (scheduler)->flags, \ scheduler 62 lib/pengine/unpack.c (scheduler)->flags = pcmk__clear_flags_as(__func__, __LINE__, \ scheduler 64 lib/pengine/unpack.c crm_system_name, (scheduler)->flags, \ scheduler 73 lib/pengine/unpack.c static void determine_remote_online_status(pcmk_scheduler_t *scheduler, scheduler 76 lib/pengine/unpack.c bool overwrite, pcmk_scheduler_t *scheduler); scheduler 79 lib/pengine/unpack.c pcmk_scheduler_t *scheduler); scheduler 82 lib/pengine/unpack.c pcmk_scheduler_t *scheduler); scheduler 112 lib/pengine/unpack.c pe_fence_node(pcmk_scheduler_t *scheduler, pcmk_node_t *node, scheduler 161 lib/pengine/unpack.c pe_can_fence(scheduler, node)? "will be fenced" : "is unclean", scheduler 166 lib/pengine/unpack.c pe_fence_op(node, NULL, TRUE, reason, FALSE, scheduler); scheduler 171 lib/pengine/unpack.c pe_can_fence(scheduler, node)? "would also be fenced" : "also is unclean", scheduler 177 lib/pengine/unpack.c pe_can_fence(scheduler, node)? "will be fenced" : "is unclean", scheduler 180 lib/pengine/unpack.c pe_fence_op(node, NULL, TRUE, reason, priority_delay, scheduler); scheduler 200 lib/pengine/unpack.c set_if_xpath(uint64_t flag, const char *xpath, pcmk_scheduler_t *scheduler) scheduler 204 lib/pengine/unpack.c if (!pcmk_is_set(scheduler->flags, flag)) { scheduler 205 lib/pengine/unpack.c result = xpath_search(scheduler->input, xpath); scheduler 207 lib/pengine/unpack.c pcmk__set_scheduler_flags(scheduler, flag); scheduler 214 lib/pengine/unpack.c unpack_config(xmlNode *config, pcmk_scheduler_t *scheduler) scheduler 222 lib/pengine/unpack.c .now = scheduler->now, scheduler 228 lib/pengine/unpack.c scheduler->config_hash = config_hash; scheduler 232 lib/pengine/unpack.c FALSE, scheduler); scheduler 236 lib/pengine/unpack.c set_config_flag(scheduler, PCMK_OPT_ENABLE_STARTUP_PROBES, scheduler 238 lib/pengine/unpack.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_probe_resources)) { scheduler 247 lib/pengine/unpack.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_have_fencing); scheduler 254 lib/pengine/unpack.c scheduler); scheduler 260 lib/pengine/unpack.c scheduler->stonith_timeout = INT_MAX; scheduler 262 lib/pengine/unpack.c scheduler->stonith_timeout = (int) interval_ms; scheduler 264 lib/pengine/unpack.c crm_debug("STONITH timeout: %d", scheduler->stonith_timeout); scheduler 266 lib/pengine/unpack.c set_config_flag(scheduler, PCMK_OPT_STONITH_ENABLED, scheduler 268 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 274 lib/pengine/unpack.c scheduler->stonith_action = pcmk__cluster_option(config_hash, scheduler 276 lib/pengine/unpack.c if (!strcmp(scheduler->stonith_action, PCMK__ACTION_POWEROFF)) { scheduler 282 lib/pengine/unpack.c scheduler->stonith_action = PCMK_ACTION_OFF; scheduler 284 lib/pengine/unpack.c crm_trace("STONITH will %s nodes", scheduler->stonith_action); scheduler 286 lib/pengine/unpack.c set_config_flag(scheduler, PCMK_OPT_CONCURRENT_FENCING, scheduler 288 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_concurrent_fencing)) { scheduler 297 lib/pengine/unpack.c scheduler->priority_fencing_delay = (int) (interval_ms / 1000); scheduler 299 lib/pengine/unpack.c scheduler->priority_fencing_delay); scheduler 302 lib/pengine/unpack.c set_config_flag(scheduler, PCMK_OPT_STOP_ALL_RESOURCES, scheduler 305 lib/pengine/unpack.c pcmk__flag_text(scheduler->flags, pcmk_sched_stop_all)); scheduler 307 lib/pengine/unpack.c set_config_flag(scheduler, PCMK_OPT_SYMMETRIC_CLUSTER, scheduler 309 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_symmetric_cluster)) { scheduler 316 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_ignore; scheduler 319 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_freeze; scheduler 322 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_demote; scheduler 326 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 329 lib/pengine/unpack.c crm_element_value_int(scheduler->input, PCMK_XA_NO_QUORUM_PANIC, scheduler 331 lib/pengine/unpack.c if (do_panic || pcmk_is_set(scheduler->flags, pcmk_sched_quorate)) { scheduler 332 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_fence; scheduler 336 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_stop; scheduler 341 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_stop; scheduler 345 lib/pengine/unpack.c scheduler->no_quorum_policy = pcmk_no_quorum_stop; scheduler 348 lib/pengine/unpack.c switch (scheduler->no_quorum_policy) { scheduler 367 lib/pengine/unpack.c set_config_flag(scheduler, PCMK_OPT_STOP_ORPHAN_RESOURCES, scheduler 369 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_stop_removed_resources)) { scheduler 375 lib/pengine/unpack.c set_config_flag(scheduler, PCMK_OPT_STOP_ORPHAN_ACTIONS, scheduler 377 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_cancel_removed_actions)) { scheduler 386 lib/pengine/unpack.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_remove_after_stop); scheduler 392 lib/pengine/unpack.c pcmk__clear_scheduler_flags(scheduler, scheduler 397 lib/pengine/unpack.c set_config_flag(scheduler, PCMK_OPT_MAINTENANCE_MODE, scheduler 400 lib/pengine/unpack.c pcmk__flag_text(scheduler->flags, pcmk_sched_in_maintenance)); scheduler 402 lib/pengine/unpack.c set_config_flag(scheduler, PCMK_OPT_START_FAILURE_IS_FATAL, scheduler 404 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_start_failure_fatal)) { scheduler 410 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 411 lib/pengine/unpack.c set_config_flag(scheduler, PCMK_OPT_STARTUP_FENCING, scheduler 414 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_startup_fencing)) { scheduler 421 lib/pengine/unpack.c pe__unpack_node_health_scores(scheduler); scheduler 423 lib/pengine/unpack.c scheduler->placement_strategy = scheduler 425 lib/pengine/unpack.c crm_trace("Placement strategy: %s", scheduler->placement_strategy); scheduler 427 lib/pengine/unpack.c set_config_flag(scheduler, PCMK_OPT_SHUTDOWN_LOCK, scheduler 429 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_shutdown_lock)) { scheduler 431 lib/pengine/unpack.c pcmk_parse_interval_spec(value, &(scheduler->shutdown_lock)); scheduler 432 lib/pengine/unpack.c scheduler->shutdown_lock /= 1000; scheduler 435 lib/pengine/unpack.c pcmk__readable_interval(scheduler->shutdown_lock)); scheduler 442 lib/pengine/unpack.c pcmk_parse_interval_spec(value, &(scheduler->node_pending_timeout)); scheduler 443 lib/pengine/unpack.c scheduler->node_pending_timeout /= 1000; scheduler 444 lib/pengine/unpack.c if (scheduler->node_pending_timeout == 0) { scheduler 448 lib/pengine/unpack.c pcmk__readable_interval(scheduler->node_pending_timeout scheduler 471 lib/pengine/unpack.c int score, pcmk_scheduler_t *scheduler) scheduler 475 lib/pengine/unpack.c if (pcmk_find_node(scheduler, uname) != NULL) { scheduler 501 lib/pengine/unpack.c new_node->details->data_set = scheduler; scheduler 509 lib/pengine/unpack.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_have_remote_nodes); scheduler 540 lib/pengine/unpack.c scheduler->nodes = g_list_insert_sorted(scheduler->nodes, new_node, scheduler 612 lib/pengine/unpack.c handle_startup_fencing(pcmk_scheduler_t *scheduler, pcmk_node_t *new_node) scheduler 623 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_startup_fencing)) { scheduler 638 lib/pengine/unpack.c unpack_nodes(xmlNode *xml_nodes, pcmk_scheduler_t *scheduler) scheduler 673 lib/pengine/unpack.c new_node = pe_create_node(id, uname, type, score, scheduler); scheduler 679 lib/pengine/unpack.c handle_startup_fencing(scheduler, new_node); scheduler 681 lib/pengine/unpack.c add_node_attrs(xml_obj, new_node, FALSE, scheduler); scheduler 688 lib/pengine/unpack.c if (scheduler->localhost scheduler 689 lib/pengine/unpack.c && (pcmk_find_node(scheduler, scheduler->localhost) == NULL)) { scheduler 691 lib/pengine/unpack.c pe_create_node(scheduler->localhost, scheduler->localhost, NULL, 0, scheduler 692 lib/pengine/unpack.c scheduler); scheduler 699 lib/pengine/unpack.c setup_container(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler) scheduler 704 lib/pengine/unpack.c g_list_foreach(rsc->children, (GFunc) setup_container, scheduler); scheduler 710 lib/pengine/unpack.c pcmk_resource_t *container = pe_find_resource(scheduler->resources, scheduler 727 lib/pengine/unpack.c unpack_remote_nodes(xmlNode *xml_resources, pcmk_scheduler_t *scheduler) scheduler 748 lib/pengine/unpack.c && (pcmk_find_node(scheduler, new_node_id) == NULL)) { scheduler 752 lib/pengine/unpack.c 0, scheduler); scheduler 766 lib/pengine/unpack.c scheduler); scheduler 768 lib/pengine/unpack.c && (pcmk_find_node(scheduler, new_node_id) == NULL)) { scheduler 772 lib/pengine/unpack.c 0, scheduler); scheduler 786 lib/pengine/unpack.c scheduler); scheduler 789 lib/pengine/unpack.c && (pcmk_find_node(scheduler, new_node_id) == NULL)) { scheduler 794 lib/pengine/unpack.c 0, scheduler); scheduler 811 lib/pengine/unpack.c link_rsc2remotenode(pcmk_scheduler_t *scheduler, pcmk_resource_t *new_rsc) scheduler 819 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_location_only)) { scheduler 824 lib/pengine/unpack.c remote_node = pcmk_find_node(scheduler, new_rsc->id); scheduler 835 lib/pengine/unpack.c handle_startup_fencing(scheduler, remote_node); scheduler 871 lib/pengine/unpack.c unpack_resources(const xmlNode *xml_resources, pcmk_scheduler_t *scheduler) scheduler 876 lib/pengine/unpack.c scheduler->template_rsc_sets = pcmk__strkey_table(free, destroy_tag); scheduler 891 lib/pengine/unpack.c if (g_hash_table_lookup_extended(scheduler->template_rsc_sets, id, scheduler 894 lib/pengine/unpack.c pcmk__insert_dup(scheduler->template_rsc_sets, id, NULL); scheduler 901 lib/pengine/unpack.c scheduler) == pcmk_rc_ok) { scheduler 902 lib/pengine/unpack.c scheduler->resources = g_list_append(scheduler->resources, new_rsc); scheduler 912 lib/pengine/unpack.c for (gIter = scheduler->resources; gIter != NULL; gIter = gIter->next) { scheduler 915 lib/pengine/unpack.c setup_container(rsc, scheduler); scheduler 916 lib/pengine/unpack.c link_rsc2remotenode(scheduler, rsc); scheduler 919 lib/pengine/unpack.c scheduler->resources = g_list_sort(scheduler->resources, scheduler 921 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_location_only)) { scheduler 924 lib/pengine/unpack.c } else if (pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled) scheduler 925 lib/pengine/unpack.c && !pcmk_is_set(scheduler->flags, pcmk_sched_have_fencing)) { scheduler 946 lib/pengine/unpack.c pcmk__unpack_fencing_topology(const xmlNode *xml_fencing_topology, pcmk_scheduler_t *scheduler) scheduler 973 lib/pengine/unpack.c unpack_tags(xmlNode *xml_tags, pcmk_scheduler_t *scheduler) scheduler 977 lib/pengine/unpack.c scheduler->tags = pcmk__strkey_table(free, destroy_tag); scheduler 1010 lib/pengine/unpack.c if (add_tag_ref(scheduler->tags, tag_id, obj_ref) == FALSE) { scheduler 1022 lib/pengine/unpack.c unpack_ticket_state(xmlNode *xml_ticket, pcmk_scheduler_t *scheduler) scheduler 1039 lib/pengine/unpack.c ticket = g_hash_table_lookup(scheduler->tickets, ticket_id); scheduler 1041 lib/pengine/unpack.c ticket = ticket_new(ticket_id, scheduler); scheduler 1096 lib/pengine/unpack.c unpack_tickets_state(xmlNode *xml_tickets, pcmk_scheduler_t *scheduler) scheduler 1106 lib/pengine/unpack.c unpack_ticket_state(xml_obj, scheduler); scheduler 1114 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 1140 lib/pengine/unpack.c add_node_attrs(attrs, this_node, TRUE, scheduler); scheduler 1171 lib/pengine/unpack.c && !pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 1200 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 1207 lib/pengine/unpack.c add_node_attrs(attrs, node, TRUE, scheduler); scheduler 1246 lib/pengine/unpack.c unpack_node_state(const xmlNode *state, pcmk_scheduler_t *scheduler) scheduler 1273 lib/pengine/unpack.c this_node = pe_find_node_any(scheduler->nodes, id, uname); scheduler 1291 lib/pengine/unpack.c unpack_transient_attributes(state, this_node, scheduler); scheduler 1301 lib/pengine/unpack.c determine_online_status(state, this_node, scheduler); scheduler 1303 lib/pengine/unpack.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_quorate) scheduler 1305 lib/pengine/unpack.c && (scheduler->no_quorum_policy == pcmk_no_quorum_fence)) { scheduler 1310 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, "cluster does not have quorum", scheduler 1334 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 1355 lib/pengine/unpack.c this_node = pe_find_node_any(scheduler->nodes, id, uname); scheduler 1396 lib/pengine/unpack.c || (!pcmk_is_set(scheduler->flags, pcmk_sched_shutdown_lock) scheduler 1408 lib/pengine/unpack.c } else if (!pcmk_any_flags_set(scheduler->flags, scheduler 1418 lib/pengine/unpack.c determine_remote_online_status(scheduler, this_node); scheduler 1419 lib/pengine/unpack.c unpack_handle_remote_attrs(this_node, state, scheduler); scheduler 1426 lib/pengine/unpack.c unpack_node_lrm(this_node, state, scheduler); scheduler 1437 lib/pengine/unpack.c unpack_status(xmlNode *status, pcmk_scheduler_t *scheduler) scheduler 1443 lib/pengine/unpack.c if (scheduler->tickets == NULL) { scheduler 1444 lib/pengine/unpack.c scheduler->tickets = pcmk__strkey_table(free, destroy_ticket); scheduler 1451 lib/pengine/unpack.c unpack_tickets_state((xmlNode *) state, scheduler); scheduler 1454 lib/pengine/unpack.c unpack_node_state(state, scheduler); scheduler 1458 lib/pengine/unpack.c while (unpack_node_history(status, FALSE, scheduler) == EAGAIN) { scheduler 1464 lib/pengine/unpack.c pcmk_is_set(scheduler->flags, scheduler 1466 lib/pengine/unpack.c scheduler); scheduler 1471 lib/pengine/unpack.c if (scheduler->stop_needed != NULL) { scheduler 1472 lib/pengine/unpack.c for (GList *item = scheduler->stop_needed; item; item = item->next) { scheduler 1480 lib/pengine/unpack.c g_list_free(scheduler->stop_needed); scheduler 1481 lib/pengine/unpack.c scheduler->stop_needed = NULL; scheduler 1488 lib/pengine/unpack.c for (GList *gIter = scheduler->nodes; gIter != NULL; gIter = gIter->next) { scheduler 1500 lib/pengine/unpack.c determine_remote_online_status(scheduler, this_node); scheduler 1519 lib/pengine/unpack.c unpack_node_member(const xmlNode *node_state, pcmk_scheduler_t *scheduler) scheduler 1537 lib/pengine/unpack.c return member? (long long) get_effective_time(scheduler) : 0LL; scheduler 1620 lib/pengine/unpack.c determine_online_status_no_fencing(pcmk_scheduler_t *scheduler, scheduler 1627 lib/pengine/unpack.c long long when_member = unpack_node_member(node_state, scheduler); scheduler 1650 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, "peer is unexpectedly down", FALSE); scheduler 1672 lib/pengine/unpack.c pending_too_long(pcmk_scheduler_t *scheduler, const pcmk_node_t *node, scheduler 1675 lib/pengine/unpack.c if ((scheduler->node_pending_timeout > 0) scheduler 1679 lib/pengine/unpack.c time_t timeout = when_member + scheduler->node_pending_timeout; scheduler 1686 lib/pengine/unpack.c pe__update_recheck_time(timeout, scheduler, "pending node timeout"); scheduler 1692 lib/pengine/unpack.c determine_online_status_fencing(pcmk_scheduler_t *scheduler, scheduler 1699 lib/pengine/unpack.c long long when_member = unpack_node_member(node_state, scheduler); scheduler 1733 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, scheduler 1739 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, scheduler 1748 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, "fencing was requested", false); scheduler 1753 lib/pengine/unpack.c if (pending_too_long(scheduler, this_node, when_member, when_online)) { scheduler 1754 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, scheduler 1771 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, scheduler 1775 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, scheduler 1791 lib/pengine/unpack.c pe_fence_node(scheduler, this_node, "peer was in an unknown state", scheduler 1799 lib/pengine/unpack.c determine_remote_online_status(pcmk_scheduler_t *scheduler, scheduler 1873 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 1897 lib/pengine/unpack.c } else if (!pcmk_is_set(scheduler->flags, pcmk_sched_fencing_enabled)) { scheduler 1898 lib/pengine/unpack.c online = determine_online_status_no_fencing(scheduler, node_state, scheduler 1902 lib/pengine/unpack.c online = determine_online_status_fencing(scheduler, node_state, scheduler 2026 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2035 lib/pengine/unpack.c if (pe__unpack_resource(xml_rsc, &rsc, NULL, scheduler) != pcmk_rc_ok) { scheduler 2043 lib/pengine/unpack.c node = pcmk_find_node(scheduler, rsc_id); scheduler 2046 lib/pengine/unpack.c scheduler); scheduler 2048 lib/pengine/unpack.c link_rsc2remotenode(scheduler, rsc); scheduler 2062 lib/pengine/unpack.c scheduler->resources = g_list_append(scheduler->resources, rsc); scheduler 2079 lib/pengine/unpack.c const pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 2081 lib/pengine/unpack.c pcmk_resource_t *top = pe__create_clone_child(parent, scheduler); scheduler 2108 lib/pengine/unpack.c find_anonymous_clone(pcmk_scheduler_t *scheduler, const pcmk_node_t *node, scheduler 2221 lib/pengine/unpack.c && !pe__is_universal_clone(parent, scheduler)) { scheduler 2227 lib/pengine/unpack.c rsc = create_anonymous_orphan(parent, rsc_id, node, scheduler); scheduler 2234 lib/pengine/unpack.c unpack_find_resource(pcmk_scheduler_t *scheduler, const pcmk_node_t *node, scheduler 2241 lib/pengine/unpack.c rsc = pe_find_resource(scheduler->resources, rsc_id); scheduler 2249 lib/pengine/unpack.c pcmk_resource_t *clone0 = pe_find_resource(scheduler->resources, scheduler 2278 lib/pengine/unpack.c rsc = find_anonymous_clone(scheduler, node, parent, base); scheduler 2297 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2304 lib/pengine/unpack.c rsc = create_fake_resource(rsc_id, rsc_entry, scheduler); scheduler 2309 lib/pengine/unpack.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_stop_removed_resources)) { scheduler 2316 lib/pengine/unpack.c "__orphan_do_not_run__", scheduler); scheduler 2598 lib/pengine/unpack.c GList *sorted_op_list, pcmk_scheduler_t *scheduler) scheduler 2652 lib/pengine/unpack.c custom_action(rsc, key, task, node, TRUE, scheduler); scheduler 2711 lib/pengine/unpack.c const pcmk_node_t *node, pcmk_scheduler_t *scheduler) scheduler 2718 lib/pengine/unpack.c if ((scheduler->shutdown_lock > 0) scheduler 2719 lib/pengine/unpack.c && (get_effective_time(scheduler) scheduler 2720 lib/pengine/unpack.c > (lock_time + scheduler->shutdown_lock))) { scheduler 2747 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2785 lib/pengine/unpack.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_shutdown_lock)) { scheduler 2793 lib/pengine/unpack.c rsc = unpack_find_resource(scheduler, node, rsc_id); scheduler 2799 lib/pengine/unpack.c rsc = process_orphan_resource(lrm_resource, node, scheduler); scheduler 2805 lib/pengine/unpack.c if (pcmk_is_set(scheduler->flags, pcmk_sched_shutdown_lock)) { scheduler 2806 lib/pengine/unpack.c unpack_shutdown_lock(lrm_resource, rsc, node, scheduler); scheduler 2823 lib/pengine/unpack.c scheduler); scheduler 2854 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2875 lib/pengine/unpack.c container = pe_find_resource(scheduler->resources, container_id); scheduler 2880 lib/pengine/unpack.c rsc = pe_find_resource(scheduler->resources, rsc_id); scheduler 2903 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 2923 lib/pengine/unpack.c pcmk_resource_t *rsc = unpack_lrm_resource(node, rsc_entry, scheduler); scheduler 2935 lib/pengine/unpack.c handle_orphaned_container_fillers(xml, scheduler); scheduler 2969 lib/pengine/unpack.c int target_rc, pcmk_scheduler_t *scheduler) scheduler 2999 lib/pengine/unpack.c xml = get_xpath_object((const char *) xpath->str, scheduler->input, scheduler 3018 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 3031 lib/pengine/unpack.c xml = get_xpath_object((const char *) xpath->str, scheduler->input, scheduler 3082 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 3088 lib/pengine/unpack.c NULL, PCMK_OCF_NOT_RUNNING, scheduler); scheduler 3108 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 3112 lib/pengine/unpack.c lrm_resource = find_lrm_resource(rsc_id, node_name, scheduler); scheduler 3156 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 3196 lib/pengine/unpack.c return non_monitor_after(rsc_id, node_name, xml_op, same_node, scheduler) scheduler 3198 lib/pengine/unpack.c scheduler); scheduler 4205 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 4207 lib/pengine/unpack.c pcmk_node_t *remote_node = pcmk_find_node(scheduler, remote_conn->id); scheduler 4211 lib/pengine/unpack.c FALSE, scheduler); scheduler 5042 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 5048 lib/pengine/unpack.c .now = scheduler->now, scheduler 5058 lib/pengine/unpack.c if (pcmk__str_eq(node->details->id, scheduler->dc_uuid, pcmk__str_casei)) { scheduler 5059 lib/pengine/unpack.c scheduler->dc_node = node; scheduler 5068 lib/pengine/unpack.c cluster_name = g_hash_table_lookup(scheduler->config_hash, scheduler 5077 lib/pengine/unpack.c scheduler); scheduler 5081 lib/pengine/unpack.c FALSE, scheduler); scheduler 5165 lib/pengine/unpack.c pcmk_scheduler_t *scheduler) scheduler 5171 lib/pengine/unpack.c xmlNode *status = pcmk__xe_first_child(scheduler->input, PCMK_XE_STATUS, scheduler 5190 lib/pengine/unpack.c this_node = pcmk_find_node(scheduler, uname); scheduler 5196 lib/pengine/unpack.c determine_remote_online_status(scheduler, this_node); scheduler 5199 lib/pengine/unpack.c determine_online_status(node_state, this_node, scheduler); scheduler 5203 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 177 lib/pengine/utils.c GHashTable *nodes, pcmk_scheduler_t *scheduler) scheduler 179 lib/pengine/utils.c pcmk__output_t *out = scheduler->priv; scheduler 252 lib/pengine/utils.c pcmk_scheduler_t *scheduler) scheduler 266 lib/pengine/utils.c pe__output_node_weights(rsc, comment, nodes, scheduler); scheduler 275 lib/pengine/utils.c comment, child->allowed_nodes, scheduler); scheduler 360 lib/pengine/utils.c const char *tag, pcmk_scheduler_t *scheduler) scheduler 365 lib/pengine/utils.c } else if (scheduler != NULL) { scheduler 366 lib/pengine/utils.c GList *gIter = scheduler->nodes; scheduler 395 lib/pengine/utils.c get_effective_time(pcmk_scheduler_t *scheduler) scheduler 397 lib/pengine/utils.c if(scheduler) { scheduler 398 lib/pengine/utils.c if (scheduler->now == NULL) { scheduler 400 lib/pengine/utils.c scheduler->now = crm_time_new(NULL); scheduler 402 lib/pengine/utils.c return crm_time_get_seconds_since_epoch(scheduler->now); scheduler 517 lib/pengine/utils.c ticket_new(const char *ticket_id, pcmk_scheduler_t *scheduler) scheduler 525 lib/pengine/utils.c if (scheduler->tickets == NULL) { scheduler 526 lib/pengine/utils.c scheduler->tickets = pcmk__strkey_table(free, destroy_ticket); scheduler 529 lib/pengine/utils.c ticket = g_hash_table_lookup(scheduler->tickets, ticket_id); scheduler 546 lib/pengine/utils.c g_hash_table_insert(scheduler->tickets, strdup(ticket->id), ticket); scheduler 572 lib/pengine/utils.c pe__clear_resource_flags_on_all(pcmk_scheduler_t *scheduler, uint64_t flag) scheduler 574 lib/pengine/utils.c for (GList *lpc = scheduler->resources; lpc != NULL; lpc = lpc->next) { scheduler 592 lib/pengine/utils.c pcmk_action_t *dependency, pcmk_scheduler_t *scheduler) scheduler 594 lib/pengine/utils.c if (!pcmk_is_set(scheduler->flags, pcmk_sched_enable_unfencing)) { scheduler 608 lib/pengine/utils.c reason, FALSE, scheduler); scheduler 620 lib/pengine/utils.c trigger_unfencing(rsc, node, reason, dependency, scheduler); scheduler 694 lib/pengine/utils.c pe__update_recheck_time(time_t recheck, pcmk_scheduler_t *scheduler, scheduler 697 lib/pengine/utils.c if ((recheck > get_effective_time(scheduler)) scheduler 698 lib/pengine/utils.c && ((scheduler->recheck_by == 0) scheduler 699 lib/pengine/utils.c || (scheduler->recheck_by > recheck))) { scheduler 700 lib/pengine/utils.c scheduler->recheck_by = recheck; scheduler 722 lib/pengine/utils.c gboolean overwrite, pcmk_scheduler_t *scheduler) scheduler 726 lib/pengine/utils.c pe_eval_nvpairs(scheduler->input, xml_obj, set_name, rule_data, hash, scheduler 731 lib/pengine/utils.c pe__update_recheck_time(recheck, scheduler, "rule evaluation"); scheduler 815 lib/pengine/utils.c pe__build_node_name_list(pcmk_scheduler_t *scheduler, const char *s) scheduler 826 lib/pengine/utils.c pcmk_node_t *node = pcmk_find_node(scheduler, s); scheduler 840 lib/pengine/utils.c nodes = pe__unames_with_tag(scheduler, s); scheduler 848 lib/pengine/utils.c pe__build_rsc_list(pcmk_scheduler_t *scheduler, const char *s) scheduler 856 lib/pengine/utils.c pcmk_resource_t *rsc = pe_find_resource_with_flags(scheduler->resources, scheduler 875 lib/pengine/utils.c resources = pe__rscs_with_tag(scheduler, s); scheduler 132 tools/crm_resource.c static pcmk_scheduler_t *scheduler = NULL; scheduler 176 tools/crm_resource.c pe_free_working_set(scheduler); scheduler 177 tools/crm_resource.c scheduler = NULL; scheduler 924 tools/crm_resource.c scheduler, options.force); scheduler 947 tools/crm_resource.c before = build_constraint_list(scheduler->input); scheduler 951 tools/crm_resource.c rc = cli_resource_clear_all_expired(scheduler->input, cib_conn, scheduler 957 tools/crm_resource.c dest = pcmk_find_node(scheduler, options.host_uname); scheduler 969 tools/crm_resource.c rc = cli_resource_clear(options.rsc_id, NULL, scheduler->nodes, scheduler 986 tools/crm_resource.c scheduler->input = *cib_xml_copy; scheduler 987 tools/crm_resource.c cluster_status(scheduler); scheduler 989 tools/crm_resource.c after = build_constraint_list(scheduler->input); scheduler 1020 tools/crm_resource.c scheduler = pe_new_working_set(); scheduler 1021 tools/crm_resource.c if (scheduler == NULL) { scheduler 1024 tools/crm_resource.c pcmk__set_scheduler_flags(scheduler, scheduler 1027 tools/crm_resource.c scheduler->priv = out; scheduler 1028 tools/crm_resource.c rc = update_scheduler_input(scheduler, cib_xml_copy); scheduler 1038 tools/crm_resource.c cluster_status(scheduler); scheduler 1070 tools/crm_resource.c pcmk_node_t *node = pcmk_find_node(scheduler, options.host_uname); scheduler 1118 tools/crm_resource.c FALSE, scheduler, options.force); scheduler 1734 tools/crm_resource.c rsc = pe_find_resource_with_flags(scheduler->resources, options.rsc_id, scheduler 1757 tools/crm_resource.c if ((options.host_uname != NULL) && (scheduler != NULL)) { scheduler 1758 tools/crm_resource.c node = pcmk_find_node(scheduler, options.host_uname); scheduler 1799 tools/crm_resource.c rc = out->message(out, "resource-list", scheduler, scheduler 1810 tools/crm_resource.c rc = out->message(out, "resource-names-list", scheduler->resources); scheduler 1868 tools/crm_resource.c options.timeout_ms, cib_conn, scheduler, scheduler 1874 tools/crm_resource.c node = pcmk_find_node(scheduler, options.host_uname); scheduler 1890 tools/crm_resource.c g_list_foreach(scheduler->resources, (GFunc) cli_resource_print_cts, scheduler 1892 tools/crm_resource.c cli_resource_print_cts_constraints(scheduler); scheduler 1897 tools/crm_resource.c options.rsc_id, scheduler); scheduler 1906 tools/crm_resource.c scheduler); scheduler 1912 tools/crm_resource.c scheduler); scheduler 1916 tools/crm_resource.c GList *nodes = cli_resource_search(rsc, options.rsc_id, scheduler); scheduler 1923 tools/crm_resource.c rc = cli_resource_print(rsc, scheduler, true); scheduler 1927 tools/crm_resource.c rc = cli_resource_print(rsc, scheduler, false); scheduler 1935 tools/crm_resource.c scheduler->resources, rsc, node); scheduler 1949 tools/crm_resource.c cib_sync_call, scheduler, scheduler 2010 tools/crm_resource.c params = pe_rsc_params(rsc, current, scheduler); scheduler 2018 tools/crm_resource.c get_meta_attributes(params, rsc, NULL, scheduler); scheduler 2029 tools/crm_resource.c .now = scheduler->now, scheduler 2035 tools/crm_resource.c scheduler); scheduler 2081 tools/crm_resource.c scheduler); scheduler 78 tools/crm_resource.h void cli_resource_print_cts_constraints(pcmk_scheduler_t *scheduler); scheduler 80 tools/crm_resource.h int cli_resource_print(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler, scheduler 83 tools/crm_resource.h bool active, pcmk_scheduler_t *scheduler); scheduler 89 tools/crm_resource.h const char *rsc_id, pcmk_scheduler_t *scheduler); scheduler 91 tools/crm_resource.h pcmk_scheduler_t *scheduler); scheduler 95 tools/crm_resource.h pcmk_scheduler_t *scheduler, gboolean force); scheduler 98 tools/crm_resource.h pcmk_scheduler_t *scheduler); scheduler 105 tools/crm_resource.h cib_t *cib, int cib_options, pcmk_scheduler_t *scheduler, scheduler 118 tools/crm_resource.h pcmk_scheduler_t *scheduler, scheduler 133 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 28 tools/crm_resource_print.c .now = scheduler->now, scheduler 58 tools/crm_resource_print.c cli_resource_print_cts_constraints(pcmk_scheduler_t *scheduler) scheduler 60 tools/crm_resource_print.c pcmk__xe_foreach_child(pcmk_find_cib_element(scheduler->input, scheduler 62 tools/crm_resource_print.c NULL, print_constraint, scheduler); scheduler 97 tools/crm_resource_print.c bool active, pcmk_scheduler_t *scheduler) scheduler 99 tools/crm_resource_print.c pcmk__output_t *out = scheduler->priv; scheduler 101 tools/crm_resource_print.c GList *ops = find_operations(rsc_id, host_uname, active, scheduler); scheduler 112 tools/crm_resource_print.c out->message(out, "node-and-op", scheduler, xml_op); scheduler 121 tools/crm_resource_print.c cli_resource_print(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler, scheduler 124 tools/crm_resource_print.c pcmk__output_t *out = scheduler->priv; scheduler 51 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler) scheduler 640 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler) scheduler 642 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 650 tools/crm_resource_runtime.c pcmk_resource_t *rsc = pe_find_resource(scheduler->resources, rsc_id); scheduler 670 tools/crm_resource_runtime.c pcmk_node_t *node = pcmk_find_node(scheduler, host_uname); scheduler 736 tools/crm_resource_runtime.c const char *rsc_id, pcmk_scheduler_t *scheduler) scheduler 745 tools/crm_resource_runtime.c rc = send_lrm_rsc_op(controld_api, false, host_uname, rsc_id, scheduler); scheduler 763 tools/crm_resource_runtime.c const char *interval_spec, pcmk_scheduler_t *scheduler) scheduler 786 tools/crm_resource_runtime.c for (xmlNode *xml_op = pcmk__xe_first_child(scheduler->failed, NULL, NULL, scheduler 800 tools/crm_resource_runtime.c fail_rsc = pe_find_resource_with_flags(scheduler->resources, scheduler 837 tools/crm_resource_runtime.c rc = clear_rsc_history(controld_api, node_name, failed_id, scheduler); scheduler 871 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler, gboolean force) scheduler 873 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 886 tools/crm_resource_runtime.c interval_spec, just_failures, scheduler, scheduler 899 tools/crm_resource_runtime.c nodes = pcmk__copy_node_list(scheduler->nodes, false); scheduler 922 tools/crm_resource_runtime.c scheduler, force); scheduler 934 tools/crm_resource_runtime.c node = pcmk_find_node(scheduler, host_uname); scheduler 963 tools/crm_resource_runtime.c interval_spec, scheduler); scheduler 965 tools/crm_resource_runtime.c rc = clear_rsc_history(controld_api, host_uname, rsc->id, scheduler); scheduler 980 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler) scheduler 982 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 994 tools/crm_resource_runtime.c pcmk_node_t *node = pcmk_find_node(scheduler, node_name); scheduler 1015 tools/crm_resource_runtime.c operation, interval_spec, scheduler); scheduler 1022 tools/crm_resource_runtime.c for (GList *iter = scheduler->nodes; iter; iter = iter->next) { scheduler 1026 tools/crm_resource_runtime.c operation, interval_spec, scheduler); scheduler 1156 tools/crm_resource_runtime.c const char *rsc_id, pcmk_scheduler_t *scheduler) scheduler 1159 tools/crm_resource_runtime.c return send_lrm_rsc_op(controld_api, true, host_uname, rsc_id, scheduler); scheduler 1164 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler) scheduler 1175 tools/crm_resource_runtime.c params = pe_rsc_params(rsc, node, scheduler); scheduler 1184 tools/crm_resource_runtime.c get_meta_attributes(meta, rsc, NULL, scheduler); scheduler 1298 tools/crm_resource_runtime.c update_scheduler_input(pcmk_scheduler_t *scheduler, xmlNode **xml) scheduler 1303 tools/crm_resource_runtime.c scheduler->input = *xml; scheduler 1304 tools/crm_resource_runtime.c scheduler->now = crm_time_new(NULL); scheduler 1321 tools/crm_resource_runtime.c update_scheduler_input_to_cib(pcmk__output_t *out, pcmk_scheduler_t *scheduler, scheduler 1334 tools/crm_resource_runtime.c rc = update_scheduler_input(scheduler, &cib_xml_copy); scheduler 1346 tools/crm_resource_runtime.c update_dataset(cib_t *cib, pcmk_scheduler_t *scheduler, bool simulate) scheduler 1353 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 1355 tools/crm_resource_runtime.c pe_reset_working_set(scheduler); scheduler 1356 tools/crm_resource_runtime.c pcmk__set_scheduler_flags(scheduler, scheduler 1358 tools/crm_resource_runtime.c rc = update_scheduler_input_to_cib(out, scheduler, cib); scheduler 1376 tools/crm_resource_runtime.c rc = pcmk__xml_write_file(scheduler->input, shadow_file, false, NULL); scheduler 1391 tools/crm_resource_runtime.c pcmk__schedule_actions(scheduler->input, scheduler 1393 tools/crm_resource_runtime.c scheduler); scheduler 1397 tools/crm_resource_runtime.c pcmk__simulate_transition(scheduler, shadow_cib, NULL); scheduler 1400 tools/crm_resource_runtime.c rc = update_dataset(shadow_cib, scheduler, false); scheduler 1403 tools/crm_resource_runtime.c cluster_status(scheduler); scheduler 1490 tools/crm_resource_runtime.c wait_time_estimate(pcmk_scheduler_t *scheduler, const GList *resources) scheduler 1496 tools/crm_resource_runtime.c pcmk_resource_t *rsc = pe_find_resource(scheduler->resources, scheduler 1560 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler = NULL; scheduler 1640 tools/crm_resource_runtime.c scheduler = pe_new_working_set(); scheduler 1641 tools/crm_resource_runtime.c if (scheduler == NULL) { scheduler 1647 tools/crm_resource_runtime.c scheduler->priv = out; scheduler 1648 tools/crm_resource_runtime.c rc = update_dataset(cib, scheduler, false); scheduler 1655 tools/crm_resource_runtime.c restart_target_active = get_active_resources(host, scheduler->resources); scheduler 1656 tools/crm_resource_runtime.c current_active = get_active_resources(host, scheduler->resources); scheduler 1703 tools/crm_resource_runtime.c rc = update_dataset(cib, scheduler, true); scheduler 1709 tools/crm_resource_runtime.c target_active = get_active_resources(host, scheduler->resources); scheduler 1720 tools/crm_resource_runtime.c step_timeout_s = wait_time_estimate(scheduler, list_delta) scheduler 1731 tools/crm_resource_runtime.c rc = update_dataset(cib, scheduler, FALSE); scheduler 1740 tools/crm_resource_runtime.c current_active = get_active_resources(host, scheduler->resources); scheduler 1797 tools/crm_resource_runtime.c step_timeout_s = wait_time_estimate(scheduler, list_delta) scheduler 1810 tools/crm_resource_runtime.c rc = update_dataset(cib, scheduler, false); scheduler 1822 tools/crm_resource_runtime.c current_active = get_active_resources(NULL, scheduler->resources); scheduler 1874 tools/crm_resource_runtime.c pe_free_working_set(scheduler); scheduler 1959 tools/crm_resource_runtime.c pcmk_scheduler_t *scheduler = NULL; scheduler 1974 tools/crm_resource_runtime.c scheduler = pe_new_working_set(); scheduler 1975 tools/crm_resource_runtime.c if (scheduler == NULL) { scheduler 1990 tools/crm_resource_runtime.c print_pending_actions(out, scheduler->actions); scheduler 2003 tools/crm_resource_runtime.c pe_reset_working_set(scheduler); scheduler 2004 tools/crm_resource_runtime.c rc = update_scheduler_input_to_cib(out, scheduler, cib); scheduler 2008 tools/crm_resource_runtime.c pcmk__schedule_actions(scheduler->input, scheduler 2010 tools/crm_resource_runtime.c scheduler); scheduler 2021 tools/crm_resource_runtime.c const char *dc_version = g_hash_table_lookup(scheduler->config_hash, scheduler 2031 tools/crm_resource_runtime.c search = xpath_search(scheduler->input, xpath); scheduler 2034 tools/crm_resource_runtime.c } while (actions_are_pending(scheduler->actions) || pending_unknown_state_resources); scheduler 2036 tools/crm_resource_runtime.c pe_free_working_set(scheduler); scheduler 2220 tools/crm_resource_runtime.c guint timeout_ms, cib_t *cib, pcmk_scheduler_t *scheduler, scheduler 2223 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 2234 tools/crm_resource_runtime.c GList *nodes = cli_resource_search(rsc, requested_name, scheduler); scheduler 2267 tools/crm_resource_runtime.c scheduler); scheduler 2285 tools/crm_resource_runtime.c int cib_options, pcmk_scheduler_t *scheduler, scheduler 2288 tools/crm_resource_runtime.c pcmk__output_t *out = scheduler->priv; scheduler 2292 tools/crm_resource_runtime.c pcmk_node_t *dest = pcmk_find_node(scheduler, host_name); scheduler 2359 tools/crm_resource_runtime.c cli_resource_clear(rsc_id, NULL, scheduler->nodes, cib, cib_options, false, scheduler 2363 tools/crm_resource_runtime.c cli_resource_clear(rsc_id, dest->details->uname, scheduler->nodes, cib, scheduler 459 tools/crm_simulate.c pcmk_scheduler_t *scheduler = NULL; scheduler 519 tools/crm_simulate.c scheduler = pe_new_working_set(); scheduler 520 tools/crm_simulate.c if (scheduler == NULL) { scheduler 528 tools/crm_simulate.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_output_scores); scheduler 531 tools/crm_simulate.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_show_utilization); scheduler 533 tools/crm_simulate.c pcmk__set_scheduler_flags(scheduler, pcmk_sched_no_compat); scheduler 536 tools/crm_simulate.c scheduler->priv = out; scheduler 537 tools/crm_simulate.c pcmk__profile_dir(options.test_dir, options.repeat, scheduler, scheduler 550 tools/crm_simulate.c rc = pcmk__simulate(scheduler, out, options.injections, options.flags, scheduler 570 tools/crm_simulate.c if (scheduler != NULL) { scheduler 571 tools/crm_simulate.c pe_free_working_set(scheduler); scheduler 346 tools/crm_ticket.c pcmk_scheduler_t *scheduler = NULL; scheduler 390 tools/crm_ticket.c scheduler = pe_new_working_set(); scheduler 391 tools/crm_ticket.c if (scheduler == NULL) { scheduler 398 tools/crm_ticket.c pcmk__set_scheduler_flags(scheduler, scheduler 441 tools/crm_ticket.c scheduler->input = cib_xml_copy; scheduler 442 tools/crm_ticket.c scheduler->now = crm_time_new(NULL); scheduler 444 tools/crm_ticket.c cluster_status(scheduler); scheduler 449 tools/crm_ticket.c pcmk__unpack_constraints(scheduler); scheduler 461 tools/crm_ticket.c rc = pcmk__ticket_info(out, scheduler, options.ticket_id, details, raw); scheduler 500 tools/crm_ticket.c rc = pcmk__ticket_get_attr(out, scheduler, options.ticket_id, scheduler 512 tools/crm_ticket.c rc = pcmk__ticket_delete(out, cib_conn, scheduler, options.ticket_id, scheduler 561 tools/crm_ticket.c rc = pcmk__ticket_remove_attr(out, cib_conn, scheduler, options.ticket_id, scheduler 571 tools/crm_ticket.c rc = pcmk__ticket_set_attr(out, cib_conn, scheduler, options.ticket_id, scheduler 640 tools/crm_ticket.c pe_free_working_set(scheduler); scheduler 641 tools/crm_ticket.c scheduler = NULL; scheduler 167 tools/crm_verify.c pcmk_scheduler_t *scheduler = NULL; scheduler 247 tools/crm_verify.c scheduler = pe_new_working_set(); scheduler 249 tools/crm_verify.c if (scheduler == NULL) { scheduler 256 tools/crm_verify.c scheduler->priv = out; scheduler 258 tools/crm_verify.c rc = pcmk__verify(scheduler, out, &cib_object); scheduler 280 tools/crm_verify.c pe_free_working_set(scheduler);