action 89 daemons/controld/controld_based.c do_cib_control(long long action, action 96 daemons/controld/controld_based.c if (action & A_CIB_STOP) { action 108 daemons/controld/controld_based.c if (action & A_CIB_START) { action 193 daemons/controld/controld_based.c controld_action_is_recordable(const char *action) action 195 daemons/controld/controld_based.c return !pcmk__strcase_any_of(action, CRMD_ACTION_CANCEL, CRMD_ACTION_DELETE, action 42 daemons/controld/controld_control.c do_ha_control(long long action, action 54 daemons/controld/controld_control.c if (action & A_HA_DISCONNECT) { action 61 daemons/controld/controld_control.c if (action & A_HA_CONNECT) { action 92 daemons/controld/controld_control.c if (action & ~(A_HA_CONNECT | A_HA_DISCONNECT)) { action 93 daemons/controld/controld_control.c crm_err("Unexpected action %s in %s", fsa_action2string(action), action 100 daemons/controld/controld_control.c do_shutdown(long long action, action 111 daemons/controld/controld_control.c do_shutdown_req(long long action, action 318 daemons/controld/controld_control.c do_exit(long long action, action 326 daemons/controld/controld_control.c if (action & A_EXIT_1) { action 334 daemons/controld/controld_control.c fsa_action2string(action), exit_type); action 344 daemons/controld/controld_control.c do_startup(long long action, action 432 daemons/controld/controld_control.c do_stop(long long action, action 443 daemons/controld/controld_control.c do_started(long long action, action 506 daemons/controld/controld_control.c do_recover(long long action, action 814 daemons/controld/controld_control.c do_read_config(long long action, action 74 daemons/controld/controld_election.c do_election_vote(long long action, action 120 daemons/controld/controld_election.c do_election_check(long long action, action 134 daemons/controld/controld_election.c do_election_count_vote(long long action, action 188 daemons/controld/controld_election.c do_dc_takeover(long long action, action 243 daemons/controld/controld_election.c do_dc_release(long long action, action 248 daemons/controld/controld_election.c if (action & A_DC_RELEASE) { action 253 daemons/controld/controld_election.c } else if (action & A_DC_RELEASED) { action 276 daemons/controld/controld_election.c crm_err("Unknown DC action %s", fsa_action2string(action)); action 317 daemons/controld/controld_execd.c try_local_executor_connect(long long action, fsa_data_t *msg_data, action 353 daemons/controld/controld_execd.c do_lrm_control(long long action, action 374 daemons/controld/controld_execd.c if (action & A_LRM_DISCONNECT) { action 376 daemons/controld/controld_execd.c if (action == A_LRM_DISCONNECT) { action 389 daemons/controld/controld_execd.c if (action & A_LRM_CONNECT) { action 390 daemons/controld/controld_execd.c try_local_executor_connect(action, msg_data, lrm_state); action 393 daemons/controld/controld_execd.c if (action & ~(A_LRM_CONNECT | A_LRM_DISCONNECT)) { action 394 daemons/controld/controld_execd.c crm_err("Unexpected action %s in %s", fsa_action2string(action), action 1434 daemons/controld/controld_execd.c synthesize_lrmd_failure(lrm_state_t *lrm_state, const xmlNode *action, action 1439 daemons/controld/controld_execd.c const char *operation = crm_element_value(action, XML_LRM_ATTR_TASK); action 1440 daemons/controld/controld_execd.c const char *target_node = crm_element_value(action, XML_LRM_ATTR_TARGET); action 1441 daemons/controld/controld_execd.c xmlNode *xml_rsc = find_xml_node(action, XML_CIB_TAG_RESOURCE, TRUE); action 1446 daemons/controld/controld_execd.c crm_element_value(action, XML_LRM_ATTR_TASK_KEY), rc, action 1457 daemons/controld/controld_execd.c op = construct_op(lrm_state, action, ID(xml_rsc), operation); action 1469 daemons/controld/controld_execd.c process_lrm_event(lrm_state, op, NULL, action); action 1737 daemons/controld/controld_execd.c do_lrm_invoke(long long action, action 2558 daemons/controld/controld_execd.c do_lrm_event(long long action, action 639 daemons/controld/controld_execd_state.c lrm_state_cancel(lrm_state_t *lrm_state, const char *rsc_id, const char *action, action 649 daemons/controld/controld_execd_state.c return remote_ra_cancel(lrm_state, rsc_id, action, interval_ms); action 652 daemons/controld/controld_execd_state.c action, interval_ms); action 702 daemons/controld/controld_execd_state.c const char *action, const char *userdata, action 714 daemons/controld/controld_execd_state.c rc = controld_execute_remote_agent(lrm_state, rsc_id, action, action 720 daemons/controld/controld_execd_state.c action, userdata, action 173 daemons/controld/controld_fencing.c send_stonith_update(pcmk__graph_action_t *action, const char *target, action 383 daemons/controld/controld_fencing.c pcmk__graph_action_t *action = (pcmk__graph_action_t *) lpc2->data; action 385 daemons/controld/controld_fencing.c if ((action->type != pcmk__cluster_graph_action) action 386 daemons/controld/controld_fencing.c || pcmk_is_set(action->flags, pcmk__graph_action_confirmed)) { action 390 daemons/controld/controld_fencing.c task = crm_element_value(action->xml, XML_LRM_ATTR_TASK); action 392 daemons/controld/controld_fencing.c pcmk__set_graph_action_flags(action, pcmk__graph_action_failed); action 393 daemons/controld/controld_fencing.c last_action = action->xml; action 394 daemons/controld/controld_fencing.c pcmk__update_graph(graph, action); action 396 daemons/controld/controld_fencing.c action->id, ID(action->xml)); action 484 daemons/controld/controld_fencing.c if (pcmk__str_eq("on", event->action, pcmk__str_none)) { action 536 daemons/controld/controld_fencing.c event->action, executioner, client, event->origin, action 743 daemons/controld/controld_fencing.c pcmk__graph_action_t *action = NULL; action 780 daemons/controld/controld_fencing.c action = controld_get_action(stonith_id); action 781 daemons/controld/controld_fencing.c if (action == NULL) { action 789 daemons/controld/controld_fencing.c target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 796 daemons/controld/controld_fencing.c stop_te_timer(action); action 798 daemons/controld/controld_fencing.c const char *uuid = crm_element_value(action->xml, XML_LRM_ATTR_TARGET_UUID); action 799 daemons/controld/controld_fencing.c const char *op = crm_meta_value(action->params, "stonith_action"); action 802 daemons/controld/controld_fencing.c if (!(pcmk_is_set(action->flags, pcmk__graph_action_confirmed))) { action 803 daemons/controld/controld_fencing.c te_action_confirmed(action, NULL); action 824 daemons/controld/controld_fencing.c value = crm_meta_value(action->params, XML_OP_ATTR_DIGESTS_ALL); action 828 daemons/controld/controld_fencing.c value = crm_meta_value(action->params, XML_OP_ATTR_DIGESTS_SECURE); action 832 daemons/controld/controld_fencing.c } else if (!(pcmk_is_set(action->flags, pcmk__graph_action_sent_update))) { action 833 daemons/controld/controld_fencing.c send_stonith_update(action, target, uuid); action 834 daemons/controld/controld_fencing.c pcmk__set_graph_action_flags(action, action 852 daemons/controld/controld_fencing.c pcmk__set_graph_action_flags(action, pcmk__graph_action_failed); action 875 daemons/controld/controld_fencing.c pcmk__update_graph(transition_graph, action); action 910 daemons/controld/controld_fencing.c pcmk__graph_action_t *action) action 921 daemons/controld/controld_fencing.c id = ID(action->xml); action 922 daemons/controld/controld_fencing.c target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 923 daemons/controld/controld_fencing.c uuid = crm_element_value(action->xml, XML_LRM_ATTR_TARGET_UUID); action 924 daemons/controld/controld_fencing.c type = crm_meta_value(action->params, "stonith_action"); action 932 daemons/controld/controld_fencing.c crm_log_xml_warn(action->xml, "BadAction"); action 936 daemons/controld/controld_fencing.c priority_delay = crm_meta_value(action->params, XML_CONFIG_ATTR_PRIORITY_FENCING_DELAY); action 948 daemons/controld/controld_fencing.c transition_key = pcmk__transition_key(transition_graph->id, action->id, 0, action 27 daemons/controld/controld_fencing.h pcmk__graph_action_t *action); action 103 daemons/controld/controld_fsa.c void (*function) (long long action, action 119 daemons/controld/controld_fsa.c do_log(long long action, enum crmd_fsa_cause cause, action 125 daemons/controld/controld_fsa.c if (action & A_LOG) { action 127 daemons/controld/controld_fsa.c } else if (action & A_WARN) { action 129 daemons/controld/controld_fsa.c } else if (action & A_ERROR) { action 526 daemons/controld/controld_fsa.h const char *fsa_action2string(long long action); action 540 daemons/controld/controld_fsa.h void do_read_config(long long action, enum crmd_fsa_cause cause, action 545 daemons/controld/controld_fsa.h void do_pe_invoke(long long action, enum crmd_fsa_cause cause, action 550 daemons/controld/controld_fsa.h void do_log(long long action, enum crmd_fsa_cause cause, action 555 daemons/controld/controld_fsa.h void do_startup(long long action, enum crmd_fsa_cause cause, action 560 daemons/controld/controld_fsa.h void do_cib_control(long long action, enum crmd_fsa_cause cause, action 565 daemons/controld/controld_fsa.h void do_ha_control(long long action, enum crmd_fsa_cause cause, action 570 daemons/controld/controld_fsa.h void do_lrm_control(long long action, enum crmd_fsa_cause cause, action 575 daemons/controld/controld_fsa.h void do_pe_control(long long action, enum crmd_fsa_cause cause, action 580 daemons/controld/controld_fsa.h void do_te_control(long long action, enum crmd_fsa_cause cause, action 585 daemons/controld/controld_fsa.h void do_started(long long action, enum crmd_fsa_cause cause, action 590 daemons/controld/controld_fsa.h void do_msg_route(long long action, enum crmd_fsa_cause cause, action 595 daemons/controld/controld_fsa.h void do_recover(long long action, enum crmd_fsa_cause cause, action 600 daemons/controld/controld_fsa.h void do_election_vote(long long action, enum crmd_fsa_cause cause, action 605 daemons/controld/controld_fsa.h void do_election_count_vote(long long action, enum crmd_fsa_cause cause, action 611 daemons/controld/controld_fsa.h void do_election_check(long long action, enum crmd_fsa_cause cause, action 616 daemons/controld/controld_fsa.h void do_timer_control(long long action, enum crmd_fsa_cause cause, action 621 daemons/controld/controld_fsa.h void do_dc_takeover(long long action, enum crmd_fsa_cause cause, action 626 daemons/controld/controld_fsa.h void do_dc_release(long long action, enum crmd_fsa_cause cause, action 631 daemons/controld/controld_fsa.h void do_dc_join_offer_all(long long action, enum crmd_fsa_cause cause, action 636 daemons/controld/controld_fsa.h void do_dc_join_offer_one(long long action, enum crmd_fsa_cause cause, action 641 daemons/controld/controld_fsa.h void do_dc_join_ack(long long action, enum crmd_fsa_cause cause, action 646 daemons/controld/controld_fsa.h void do_dc_join_filter_offer(long long action, enum crmd_fsa_cause cause, action 652 daemons/controld/controld_fsa.h void do_dc_join_finalize(long long action, enum crmd_fsa_cause cause, action 658 daemons/controld/controld_fsa.h void do_cl_join_query(long long action, enum crmd_fsa_cause cause, action 663 daemons/controld/controld_fsa.h void do_cl_join_announce(long long action, enum crmd_fsa_cause cause, action 668 daemons/controld/controld_fsa.h void do_cl_join_offer_respond(long long action, enum crmd_fsa_cause cause, action 674 daemons/controld/controld_fsa.h void do_cl_join_finalize_respond(long long action, enum crmd_fsa_cause cause, action 680 daemons/controld/controld_fsa.h void do_lrm_invoke(long long action, enum crmd_fsa_cause cause, action 685 daemons/controld/controld_fsa.h void do_lrm_event(long long action, enum crmd_fsa_cause cause, action 690 daemons/controld/controld_fsa.h void do_te_invoke(long long action, enum crmd_fsa_cause cause, action 695 daemons/controld/controld_fsa.h void do_shutdown_req(long long action, enum crmd_fsa_cause cause, action 700 daemons/controld/controld_fsa.h void do_shutdown(long long action, enum crmd_fsa_cause cause, action 705 daemons/controld/controld_fsa.h void do_stop(long long action, enum crmd_fsa_cause cause, action 710 daemons/controld/controld_fsa.h void do_exit(long long action, enum crmd_fsa_cause cause, action 715 daemons/controld/controld_fsa.h void do_dc_join_final(long long action, enum crmd_fsa_cause cause, action 49 daemons/controld/controld_join_client.c do_cl_join_query(long long action, action 70 daemons/controld/controld_join_client.c do_cl_join_announce(long long action, action 104 daemons/controld/controld_join_client.c do_cl_join_offer_respond(long long action, action 223 daemons/controld/controld_join_client.c do_cl_join_finalize_respond(long long action, action 178 daemons/controld/controld_join_dc.c do_dc_join_offer_all(long long action, action 208 daemons/controld/controld_join_dc.c do_dc_join_offer_one(long long action, action 291 daemons/controld/controld_join_dc.c do_dc_join_filter_offer(long long action, action 408 daemons/controld/controld_join_dc.c do_dc_join_finalize(long long action, action 531 daemons/controld/controld_join_dc.c do_dc_join_ack(long long action, action 741 daemons/controld/controld_join_dc.c do_dc_join_final(long long action, action 151 daemons/controld/controld_lrm.h const char *action, guint interval_ms); action 153 daemons/controld/controld_lrm.h const char *action, const char *userdata, action 171 daemons/controld/controld_lrm.h const char *action, guint interval_ms); action 173 daemons/controld/controld_lrm.h const char *rsc_id, const char *action, action 277 daemons/controld/controld_messages.c do_msg_route(long long action, action 50 daemons/controld/controld_messages.h ((fsa_data_t*)msg_data)->data, action, TRUE, __func__); \ action 54 daemons/controld/controld_messages.h NULL, action, TRUE, __func__); \ action 32 daemons/controld/controld_remote_ra.c char *action; action 112 daemons/controld/controld_remote_ra.c free(cmd->action); action 309 daemons/controld/controld_remote_ra.c if (pcmk__str_eq(cmd->action, "start", pcmk__str_casei)) { action 312 daemons/controld/controld_remote_ra.c } else if (pcmk__str_eq(cmd->action, "migrate_from", pcmk__str_casei)) { action 325 daemons/controld/controld_remote_ra.c } else if (pcmk__str_eq(cmd->action, "stop", pcmk__str_casei)) { action 363 daemons/controld/controld_remote_ra.c op.op_type = cmd->action; action 427 daemons/controld/controld_remote_ra.c if (!pcmk__strcase_any_of(cmd->action, "start", "migrate_from", NULL)) { action 611 daemons/controld/controld_remote_ra.c if (op->type == lrmd_event_connect && pcmk__strcase_any_of(cmd->action, "start", action 643 daemons/controld/controld_remote_ra.c crm_debug("Remote connection event matched %s action", cmd->action); action 647 daemons/controld/controld_remote_ra.c } else if (op->type == lrmd_event_poke && pcmk__str_eq(cmd->action, "monitor", pcmk__str_casei)) { action 663 daemons/controld/controld_remote_ra.c crm_debug("Remote poke event matched %s action", cmd->action); action 674 daemons/controld/controld_remote_ra.c } else if (op->type == lrmd_event_disconnect && pcmk__str_eq(cmd->action, "monitor", pcmk__str_casei)) { action 686 daemons/controld/controld_remote_ra.c } else if (op->type == lrmd_event_new_client && pcmk__str_eq(cmd->action, "stop", pcmk__str_casei)) { action 692 daemons/controld/controld_remote_ra.c crm_debug("Event did not match %s action", ra_data->cur_cmd->action); action 798 daemons/controld/controld_remote_ra.c if (!strcmp(cmd->action, "start") || !strcmp(cmd->action, "migrate_from")) { action 804 daemons/controld/controld_remote_ra.c cmd->action); action 810 daemons/controld/controld_remote_ra.c } else if (!strcmp(cmd->action, "monitor")) { action 833 daemons/controld/controld_remote_ra.c } else if (!strcmp(cmd->action, "stop")) { action 849 daemons/controld/controld_remote_ra.c } else if (!strcmp(cmd->action, "migrate_to")) { action 853 daemons/controld/controld_remote_ra.c } else if (pcmk__str_any_of(cmd->action, CRMD_ACTION_RELOAD, action 940 daemons/controld/controld_remote_ra.c is_remote_ra_supported_action(const char *action) action 942 daemons/controld/controld_remote_ra.c return pcmk__str_any_of(action, action 962 daemons/controld/controld_remote_ra.c if ((cmd->interval_ms > 0) && pcmk__str_eq(cmd->action, "monitor", pcmk__str_casei)) { action 973 daemons/controld/controld_remote_ra.c cmd->action, cmd->rsc_id, cmd->interval_ms, cmd->userdata); action 986 daemons/controld/controld_remote_ra.c remove_cmd(GList * list, const char *action, guint interval_ms) action 994 daemons/controld/controld_remote_ra.c && pcmk__str_eq(cmd->action, action, pcmk__str_casei)) { action 1008 daemons/controld/controld_remote_ra.c const char *action, guint interval_ms) action 1019 daemons/controld/controld_remote_ra.c ra_data->cmds = remove_cmd(ra_data->cmds, action, interval_ms); action 1020 daemons/controld/controld_remote_ra.c ra_data->recurring_cmds = remove_cmd(ra_data->recurring_cmds, action, action 1024 daemons/controld/controld_remote_ra.c (pcmk__str_eq(ra_data->cur_cmd->action, action, pcmk__str_casei))) { action 1052 daemons/controld/controld_remote_ra.c pcmk__str_eq(ra_data->cur_cmd->action, "monitor", pcmk__str_casei)) { action 1061 daemons/controld/controld_remote_ra.c && pcmk__str_eq(cmd->action, "monitor", pcmk__str_casei)) { action 1069 daemons/controld/controld_remote_ra.c && pcmk__str_eq(cmd->action, "monitor", pcmk__str_casei)) { action 1126 daemons/controld/controld_remote_ra.c const char *action, const char *userdata, action 1137 daemons/controld/controld_remote_ra.c CRM_CHECK((lrm_state != NULL) && (rsc_id != NULL) && (action != NULL) action 1141 daemons/controld/controld_remote_ra.c if (!is_remote_ra_supported_action(action)) { action 1170 daemons/controld/controld_remote_ra.c cmd->action = strdup(action); action 1172 daemons/controld/controld_remote_ra.c if ((cmd->owner == NULL) || (cmd->rsc_id == NULL) || (cmd->action == NULL) action 214 daemons/controld/controld_schedulerd.c do_pe_control(long long action, action 219 daemons/controld/controld_schedulerd.c if (action & A_PE_STOP) { action 224 daemons/controld/controld_schedulerd.c if ((action & A_PE_START) action 320 daemons/controld/controld_schedulerd.c do_pe_invoke(long long action, action 327 daemons/controld/controld_schedulerd.c fsa_action2string(action)); action 25 daemons/controld/controld_te_actions.c void send_rsc_command(pcmk__graph_action_t *action); action 26 daemons/controld/controld_te_actions.c static void te_update_job_count(pcmk__graph_action_t *action, int offset); action 29 daemons/controld/controld_te_actions.c te_start_action_timer(const pcmk__graph_t *graph, pcmk__graph_action_t *action) action 31 daemons/controld/controld_te_actions.c action->timer = g_timeout_add(action->timeout + graph->network_delay, action 32 daemons/controld/controld_te_actions.c action_timer_callback, (void *) action); action 33 daemons/controld/controld_te_actions.c CRM_ASSERT(action->timer != 0); action 82 daemons/controld/controld_te_actions.c get_target_rc(pcmk__graph_action_t *action) action 86 daemons/controld/controld_te_actions.c pcmk__scan_min_int(crm_meta_value(action->params, XML_ATTR_TE_TARGET_RC), action 101 daemons/controld/controld_te_actions.c execute_cluster_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) action 116 daemons/controld/controld_te_actions.c id = ID(action->xml); action 119 daemons/controld/controld_te_actions.c task = crm_element_value(action->xml, XML_LRM_ATTR_TASK); action 122 daemons/controld/controld_te_actions.c on_node = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 125 daemons/controld/controld_te_actions.c router_node = crm_element_value(action->xml, XML_LRM_ATTR_ROUTER_NODE); action 129 daemons/controld/controld_te_actions.c const char *mode = crm_element_value(action->xml, PCMK__XA_MODE); action 141 daemons/controld/controld_te_actions.c value = crm_meta_value(action->params, XML_ATTR_TE_NOWAIT); action 155 daemons/controld/controld_te_actions.c te_action_confirmed(action, graph); action 164 daemons/controld/controld_te_actions.c cmd = create_request(task, action->xml, router_node, CRM_SYSTEM_CRMD, CRM_SYSTEM_TENGINE, NULL); action 166 daemons/controld/controld_te_actions.c counter = pcmk__transition_key(transition_graph->id, action->id, action 167 daemons/controld/controld_te_actions.c get_target_rc(action), te_uuid); action 175 daemons/controld/controld_te_actions.c crm_err("Action %d failed: send", action->id); action 179 daemons/controld/controld_te_actions.c te_action_confirmed(action, graph); action 182 daemons/controld/controld_te_actions.c if (action->timeout <= 0) { action 184 daemons/controld/controld_te_actions.c action->id, task, on_node, action->timeout, graph->network_delay); action 185 daemons/controld/controld_te_actions.c action->timeout = (int) graph->network_delay; action 187 daemons/controld/controld_te_actions.c te_start_action_timer(graph, action); action 210 daemons/controld/controld_te_actions.c synthesize_timeout_event(const pcmk__graph_action_t *action, int target_rc) action 213 daemons/controld/controld_te_actions.c const char *target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 222 daemons/controld/controld_te_actions.c router_node = crm_element_value(action->xml, XML_LRM_ATTR_ROUTER_NODE); action 231 daemons/controld/controld_te_actions.c op = pcmk__event_from_graph_action(NULL, action, PCMK_EXEC_TIMEOUT, action 234 daemons/controld/controld_te_actions.c op->user_data = pcmk__transition_key(transition_graph->id, action->id, action 241 daemons/controld/controld_te_actions.c controld_record_action_event(pcmk__graph_action_t *action, action 251 daemons/controld/controld_te_actions.c const char *target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 252 daemons/controld/controld_te_actions.c const char *task_uuid = crm_element_value(action->xml, XML_LRM_ATTR_TASK_KEY); action 253 daemons/controld/controld_te_actions.c const char *target_uuid = crm_element_value(action->xml, XML_LRM_ATTR_TARGET_UUID); action 256 daemons/controld/controld_te_actions.c int target_rc = get_target_rc(action); action 258 daemons/controld/controld_te_actions.c action_rsc = find_xml_node(action->xml, XML_CIB_TAG_RESOURCE, TRUE); action 265 daemons/controld/controld_te_actions.c crm_log_xml_err(action->xml, "Bad:action"); return); action 301 daemons/controld/controld_te_actions.c rc, action->id, task_uuid, target); action 302 daemons/controld/controld_te_actions.c pcmk__set_graph_action_flags(action, pcmk__graph_action_sent_update); action 306 daemons/controld/controld_te_actions.c controld_record_action_timeout(pcmk__graph_action_t *action) action 310 daemons/controld/controld_te_actions.c const char *target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 311 daemons/controld/controld_te_actions.c const char *task_uuid = crm_element_value(action->xml, XML_LRM_ATTR_TASK_KEY); action 313 daemons/controld/controld_te_actions.c int target_rc = get_target_rc(action); action 316 daemons/controld/controld_te_actions.c crm_element_name(action->xml), action->id, task_uuid, target); action 318 daemons/controld/controld_te_actions.c op = synthesize_timeout_event(action, target_rc); action 319 daemons/controld/controld_te_actions.c controld_record_action_event(action, op); action 333 daemons/controld/controld_te_actions.c execute_rsc_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) action 355 daemons/controld/controld_te_actions.c CRM_ASSERT(action != NULL); action 356 daemons/controld/controld_te_actions.c CRM_ASSERT(action->xml != NULL); action 358 daemons/controld/controld_te_actions.c pcmk__clear_graph_action_flags(action, pcmk__graph_action_executed); action 359 daemons/controld/controld_te_actions.c on_node = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 363 daemons/controld/controld_te_actions.c ID(action->xml), pcmk__s(task, "without task")); action 366 daemons/controld/controld_te_actions.c rsc_op = action->xml; action 368 daemons/controld/controld_te_actions.c task_uuid = crm_element_value(action->xml, XML_LRM_ATTR_TASK_KEY); action 375 daemons/controld/controld_te_actions.c counter = pcmk__transition_key(transition_graph->id, action->id, action 376 daemons/controld/controld_te_actions.c get_target_rc(action), te_uuid); action 383 daemons/controld/controld_te_actions.c value = crm_meta_value(action->params, XML_ATTR_TE_NOWAIT); action 390 daemons/controld/controld_te_actions.c (no_wait? " without waiting" : ""), action->id); action 421 daemons/controld/controld_te_actions.c pcmk__set_graph_action_flags(action, pcmk__graph_action_executed); action 424 daemons/controld/controld_te_actions.c crm_err("Action %d failed: send", action->id); action 431 daemons/controld/controld_te_actions.c crm_info("Action %d confirmed - no wait", action->id); action 432 daemons/controld/controld_te_actions.c pcmk__set_graph_action_flags(action, pcmk__graph_action_confirmed); action 433 daemons/controld/controld_te_actions.c pcmk__update_graph(transition_graph, action); action 436 daemons/controld/controld_te_actions.c } else if (pcmk_is_set(action->flags, pcmk__graph_action_confirmed)) { action 438 daemons/controld/controld_te_actions.c action->id, task, task_uuid, on_node, action->timeout); action 440 daemons/controld/controld_te_actions.c if (action->timeout <= 0) { action 442 daemons/controld/controld_te_actions.c action->id, task, task_uuid, on_node, action->timeout, graph->network_delay); action 443 daemons/controld/controld_te_actions.c action->timeout = (int) graph->network_delay; action 445 daemons/controld/controld_te_actions.c te_update_job_count(action, 1); action 446 daemons/controld/controld_te_actions.c te_start_action_timer(graph, action); action 507 daemons/controld/controld_te_actions.c te_update_job_count(pcmk__graph_action_t *action, int offset) action 509 daemons/controld/controld_te_actions.c const char *task = crm_element_value(action->xml, XML_LRM_ATTR_TASK); action 510 daemons/controld/controld_te_actions.c const char *target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 512 daemons/controld/controld_te_actions.c if ((action->type != pcmk__rsc_graph_action) || (target == NULL)) { action 521 daemons/controld/controld_te_actions.c target = crm_element_value(action->xml, XML_LRM_ATTR_ROUTER_NODE); action 526 daemons/controld/controld_te_actions.c const char *t1 = crm_meta_value(action->params, XML_LRM_ATTR_MIGRATE_SOURCE); action 527 daemons/controld/controld_te_actions.c const char *t2 = crm_meta_value(action->params, XML_LRM_ATTR_MIGRATE_TARGET); action 533 daemons/controld/controld_te_actions.c target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 550 daemons/controld/controld_te_actions.c allowed_on_node(const pcmk__graph_t *graph, const pcmk__graph_action_t *action, action 555 daemons/controld/controld_te_actions.c const char *task = crm_element_value(action->xml, XML_LRM_ATTR_TASK); action 556 daemons/controld/controld_te_actions.c const char *id = crm_element_value(action->xml, XML_LRM_ATTR_TASK_KEY); action 603 daemons/controld/controld_te_actions.c graph_action_allowed(pcmk__graph_t *graph, pcmk__graph_action_t *action) action 606 daemons/controld/controld_te_actions.c const char *task = crm_element_value(action->xml, XML_LRM_ATTR_TASK); action 608 daemons/controld/controld_te_actions.c if (action->type != pcmk__rsc_graph_action) { action 617 daemons/controld/controld_te_actions.c target = crm_element_value(action->xml, XML_LRM_ATTR_ROUTER_NODE); action 621 daemons/controld/controld_te_actions.c target = crm_meta_value(action->params, XML_LRM_ATTR_MIGRATE_SOURCE); action 622 daemons/controld/controld_te_actions.c if (!allowed_on_node(graph, action, target)) { action 626 daemons/controld/controld_te_actions.c target = crm_meta_value(action->params, XML_LRM_ATTR_MIGRATE_TARGET); action 629 daemons/controld/controld_te_actions.c target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 632 daemons/controld/controld_te_actions.c return allowed_on_node(graph, action, target); action 642 daemons/controld/controld_te_actions.c te_action_confirmed(pcmk__graph_action_t *action, pcmk__graph_t *graph) action 644 daemons/controld/controld_te_actions.c if (!pcmk_is_set(action->flags, pcmk__graph_action_confirmed)) { action 645 daemons/controld/controld_te_actions.c if ((action->type == pcmk__rsc_graph_action) action 646 daemons/controld/controld_te_actions.c && (crm_element_value(action->xml, XML_LRM_ATTR_TARGET) != NULL)) { action 647 daemons/controld/controld_te_actions.c te_update_job_count(action, -1); action 649 daemons/controld/controld_te_actions.c pcmk__set_graph_action_flags(action, pcmk__graph_action_confirmed); action 652 daemons/controld/controld_te_actions.c pcmk__update_graph(graph, action); action 647 daemons/controld/controld_te_callbacks.c pcmk__graph_action_t *action = (pcmk__graph_action_t *) data; action 654 daemons/controld/controld_te_callbacks.c stop_te_timer(action); action 656 daemons/controld/controld_te_callbacks.c task = crm_element_value(action->xml, XML_LRM_ATTR_TASK); action 657 daemons/controld/controld_te_callbacks.c on_node = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 658 daemons/controld/controld_te_callbacks.c via_node = crm_element_value(action->xml, XML_LRM_ATTR_ROUTER_NODE); action 664 daemons/controld/controld_te_callbacks.c (via_node? via_node : "controller"), action->timeout); action 672 daemons/controld/controld_te_callbacks.c action->timeout + transition_graph->network_delay); action 673 daemons/controld/controld_te_callbacks.c pcmk__log_graph_action(LOG_ERR, action); action 675 daemons/controld/controld_te_callbacks.c pcmk__set_graph_action_flags(action, pcmk__graph_action_failed); action 677 daemons/controld/controld_te_callbacks.c te_action_confirmed(action, transition_graph); action 681 daemons/controld/controld_te_callbacks.c if ((action->type == pcmk__rsc_graph_action) action 683 daemons/controld/controld_te_callbacks.c controld_record_action_timeout(action); action 52 daemons/controld/controld_te_events.c pcmk__graph_action_t *action = (pcmk__graph_action_t *) gIter2->data; action 54 daemons/controld/controld_te_events.c if ((action->type == pcmk__pseudo_graph_action) action 55 daemons/controld/controld_te_events.c || pcmk_is_set(action->flags, pcmk__graph_action_confirmed)) { action 57 daemons/controld/controld_te_events.c } else if (action->type == pcmk__cluster_graph_action) { action 58 daemons/controld/controld_te_events.c const char *task = crm_element_value(action->xml, XML_LRM_ATTR_TASK); action 65 daemons/controld/controld_te_events.c target_uuid = crm_element_value(action->xml, XML_LRM_ATTR_TARGET_UUID); action 66 daemons/controld/controld_te_events.c router = crm_element_value(action->xml, XML_LRM_ATTR_ROUTER_NODE); action 75 daemons/controld/controld_te_events.c pcmk__set_graph_action_flags(action, pcmk__graph_action_failed); action 77 daemons/controld/controld_te_events.c last_action = action->xml; action 78 daemons/controld/controld_te_events.c stop_te_timer(action); action 79 daemons/controld/controld_te_events.c pcmk__update_graph(graph, action); action 83 daemons/controld/controld_te_events.c action->id, crm_element_value(action->xml, XML_LRM_ATTR_TASK_KEY), down_node); action 86 daemons/controld/controld_te_events.c action->id, crm_element_value(action->xml, XML_LRM_ATTR_TASK_KEY), down_node); action 240 daemons/controld/controld_te_events.c pcmk__graph_action_t *action = (pcmk__graph_action_t *) item2->data; action 242 daemons/controld/controld_te_events.c if (action->id == id) { action 243 daemons/controld/controld_te_events.c return action; action 264 daemons/controld/controld_te_events.c pcmk__graph_action_t *action = (pcmk__graph_action_t *) gIter2->data; action 266 daemons/controld/controld_te_events.c task = crm_element_value(action->xml, XML_LRM_ATTR_TASK); action 271 daemons/controld/controld_te_events.c task = crm_element_value(action->xml, XML_LRM_ATTR_TASK_KEY); action 277 daemons/controld/controld_te_events.c target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET_UUID); action 284 daemons/controld/controld_te_events.c return action; action 456 daemons/controld/controld_te_events.c pcmk__graph_action_t *action = controld_get_action(action_num); action 458 daemons/controld/controld_te_events.c if (action == NULL) { action 464 daemons/controld/controld_te_events.c } else if (pcmk_is_set(action->flags, pcmk__graph_action_confirmed)) { action 479 daemons/controld/controld_te_events.c if (pcmk__str_eq(crm_meta_value(action->params, XML_OP_ATTR_ON_FAIL), "ignore", pcmk__str_casei)) { action 483 daemons/controld/controld_te_events.c pcmk__set_graph_action_flags(action, pcmk__graph_action_failed); action 486 daemons/controld/controld_te_events.c stop_te_timer(action); action 487 daemons/controld/controld_te_events.c te_action_confirmed(action, transition_graph); action 489 daemons/controld/controld_te_events.c if (pcmk_is_set(action->flags, pcmk__graph_action_failed)) { action 490 daemons/controld/controld_te_events.c abort_transition(action->synapse->priority + 1, action 18 daemons/controld/controld_te_utils.c stop_te_timer(pcmk__graph_action_t *action) action 20 daemons/controld/controld_te_utils.c if (action == NULL) { action 23 daemons/controld/controld_te_utils.c if (action->timer != 0) { action 25 daemons/controld/controld_te_utils.c g_source_remove(action->timer); action 26 daemons/controld/controld_te_utils.c action->timer = 0; action 99 daemons/controld/controld_te_utils.c enum pcmk__graph_next action; action 107 daemons/controld/controld_te_utils.c abort_transition(abort_timer.priority, abort_timer.action, action 130 daemons/controld/controld_te_utils.c abort_timer.action = abort_action; action 149 daemons/controld/controld_te_utils.c enum pcmk__graph_next action, const char *abort_reason) action 167 daemons/controld/controld_te_utils.c if (graph->completion_action < action) { action 169 daemons/controld/controld_te_utils.c abort2text(graph->completion_action), abort2text(action), abort_reason); action 170 daemons/controld/controld_te_utils.c graph->completion_action = action; action 51 daemons/controld/controld_timers.c do_timer_control(long long action, action 58 daemons/controld/controld_timers.c if (action & A_DC_TIMER_STOP) { action 61 daemons/controld/controld_timers.c } else if (action & A_FINALIZE_TIMER_STOP) { action 64 daemons/controld/controld_timers.c } else if (action & A_INTEGRATE_TIMER_STOP) { action 69 daemons/controld/controld_timers.c if (action & A_DC_TIMER_START && timer_op_ok) { action 76 daemons/controld/controld_timers.c } else if (action & A_FINALIZE_TIMER_START) { action 79 daemons/controld/controld_timers.c } else if (action & A_INTEGRATE_TIMER_START) { action 38 daemons/controld/controld_transition.c do_te_control(long long action, action 45 daemons/controld/controld_transition.c if (action & A_TE_STOP) { action 60 daemons/controld/controld_transition.c if ((action & A_TE_START) == 0) { action 67 daemons/controld/controld_transition.c } else if ((action & A_TE_START) && cur_state == S_STOPPING) { action 114 daemons/controld/controld_transition.c do_te_invoke(long long action, action 120 daemons/controld/controld_transition.c if (AM_I_DC == FALSE || (fsa_state != S_TRANSITION_ENGINE && (action & A_TE_INVOKE))) { action 122 daemons/controld/controld_transition.c fsa_action2string(action), fsa_state2string(fsa_state)); action 126 daemons/controld/controld_transition.c if (action & A_TE_CANCEL) { action 134 daemons/controld/controld_transition.c } else if (action & A_TE_HALT) { action 140 daemons/controld/controld_transition.c } else if (action & A_TE_INVOKE) { action 21 daemons/controld/controld_transition.h void controld_record_action_timeout(pcmk__graph_action_t *action); action 27 daemons/controld/controld_transition.h gboolean stop_te_timer(pcmk__graph_action_t *action); action 54 daemons/controld/controld_transition.h # define abort_transition(pri, action, text, reason) \ action 55 daemons/controld/controld_transition.h abort_transition_graph(pri, action, text, reason,__func__,__LINE__); action 62 daemons/controld/controld_transition.h void te_action_confirmed(pcmk__graph_action_t *action, pcmk__graph_t *graph); action 245 daemons/controld/controld_utils.c fsa_action2string(long long action) action 249 daemons/controld/controld_utils.c switch (action) { action 441 daemons/controld/controld_utils.c crm_err("Action %.16llx is unknown", action); action 533 daemons/controld/controld_utils.c fsa_dump_actions(uint64_t action, const char *text) action 535 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_READCONFIG)) { action 538 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_STARTUP)) { action 541 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_STARTED)) { action 544 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_HA_CONNECT)) { action 547 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_HA_DISCONNECT)) { action 550 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_LRM_CONNECT)) { action 553 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_LRM_EVENT)) { action 556 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_LRM_INVOKE)) { action 559 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_LRM_DISCONNECT)) { action 562 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_DC_TIMER_STOP)) { action 565 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_DC_TIMER_START)) { action 568 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_INTEGRATE_TIMER_START)) { action 571 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_INTEGRATE_TIMER_STOP)) { action 574 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_FINALIZE_TIMER_START)) { action 577 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_FINALIZE_TIMER_STOP)) { action 580 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_ELECTION_COUNT)) { action 583 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_ELECTION_VOTE)) { action 586 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_ELECTION_CHECK)) { action 589 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_CL_JOIN_ANNOUNCE)) { action 592 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_CL_JOIN_REQUEST)) { action 595 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_CL_JOIN_RESULT)) { action 598 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_DC_JOIN_OFFER_ALL)) { action 601 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_DC_JOIN_OFFER_ONE)) { action 604 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_DC_JOIN_PROCESS_REQ)) { action 607 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_DC_JOIN_PROCESS_ACK)) { action 610 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_DC_JOIN_FINALIZE)) { action 613 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_MSG_PROCESS)) { action 616 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_MSG_ROUTE)) { action 619 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_RECOVER)) { action 622 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_DC_RELEASE)) { action 625 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_DC_RELEASED)) { action 628 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_DC_TAKEOVER)) { action 631 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_SHUTDOWN)) { action 634 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_SHUTDOWN_REQ)) { action 637 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_STOP)) { action 640 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_EXIT_0)) { action 643 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_EXIT_1)) { action 646 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_CIB_START)) { action 649 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_CIB_STOP)) { action 652 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_TE_INVOKE)) { action 655 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_TE_START)) { action 658 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_TE_STOP)) { action 661 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_TE_CANCEL)) { action 664 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_PE_INVOKE)) { action 667 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_PE_START)) { action 670 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_PE_STOP)) { action 673 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_NODE_BLOCK)) { action 676 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_UPDATE_NODESTATUS)) { action 679 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_LOG)) { action 682 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_ERROR)) { action 685 daemons/controld/controld_utils.c if (pcmk_is_set(action, A_WARN)) { action 76 daemons/controld/controld_utils.h void fsa_dump_actions(uint64_t action, const char *text); action 100 daemons/controld/controld_utils.h bool controld_action_is_recordable(const char *action); action 51 daemons/execd/cts-exec-helper.c const char *action; action 124 daemons/execd/cts-exec-helper.c { "action", 'a', 0, G_OPTION_ARG_STRING, &options.action, action 294 daemons/execd/cts-exec-helper.c options.action, action 329 daemons/execd/cts-exec-helper.c rc = lrmd_conn->cmds->cancel(lrmd_conn, options.rsc_id, options.action, action 404 daemons/execd/cts-exec-helper.c op_info->rsc_id, op_info->action, action 411 daemons/execd/cts-exec-helper.c print_result("API-CALL FAILURE unknown action '%s'", options.action); action 591 daemons/execd/cts-exec-helper.c options.action = "monitor"; action 70 daemons/execd/execd_alerts.c alert_complete(svc_action_t *action) action 72 daemons/execd/execd_alerts.c struct alert_cb_s *cb_data = (struct alert_cb_s *) (action->cb_data); action 78 daemons/execd/execd_alerts.c if (action->status != PCMK_EXEC_DONE) { action 79 daemons/execd/execd_alerts.c const char *reason = services__exit_reason(action); action 82 daemons/execd/execd_alerts.c pcmk_exec_status_str(action->status), action 88 daemons/execd/execd_alerts.c } else if (action->rc != 0) { action 91 daemons/execd/execd_alerts.c action->pid, action->rc, cb_data->client_id); action 95 daemons/execd/execd_alerts.c action->pid, cb_data->client_id); action 99 daemons/execd/execd_alerts.c free(action->cb_data); action 100 daemons/execd/execd_alerts.c action->cb_data = NULL; action 111 daemons/execd/execd_alerts.c svc_action_t *action = NULL; action 148 daemons/execd/execd_alerts.c action = services_alert_create(alert_id, alert_path, alert_timeout, params, action 150 daemons/execd/execd_alerts.c if (action->rc != PCMK_OCF_UNKNOWN) { action 155 daemons/execd/execd_alerts.c rc = services_action_user(action, CRM_DAEMON_USER); action 161 daemons/execd/execd_alerts.c if (services_alert_async(action, alert_complete) == FALSE) { action 162 daemons/execd/execd_alerts.c services_action_free(action); action 173 daemons/execd/execd_alerts.c services_action_free(action); action 57 daemons/execd/execd_commands.c char *action; action 196 daemons/execd/execd_commands.c action_matches(const lrmd_cmd_t *cmd, const char *action, guint interval_ms) action 199 daemons/execd/execd_commands.c && pcmk__str_eq(cmd->action, action, pcmk__str_casei); action 216 daemons/execd/execd_commands.c if (pcmk__str_eq(cmd->action, "monitor", pcmk__str_casei)) { action 221 daemons/execd/execd_commands.c cmd->rsc_id, cmd->action, cmd->call_id); action 256 daemons/execd/execd_commands.c if (pcmk__str_eq(cmd->action, "monitor", pcmk__str_casei)) { action 261 daemons/execd/execd_commands.c cmd->rsc_id, cmd->action, cmd->call_id); action 265 daemons/execd/execd_commands.c normalize_action_name(lrmd_rsc_t * rsc, const char *action) action 267 daemons/execd/execd_commands.c if (pcmk__str_eq(action, "monitor", pcmk__str_casei) && action 271 daemons/execd/execd_commands.c return action; action 317 daemons/execd/execd_commands.c cmd->action = crm_element_value_copy(rsc_xml, F_LRMD_RSC_ACTION); action 326 daemons/execd/execd_commands.c cmd->rsc_id, cmd->action, cmd->interval_ms); action 329 daemons/execd/execd_commands.c cmd->action, 0, action 359 daemons/execd/execd_commands.c free(cmd->action); action 433 daemons/execd/execd_commands.c if (action_matches(cmd, dup->action, dup->interval_ms)) { action 474 daemons/execd/execd_commands.c rsc->rsc_id, normalize_action_name(rsc, dup->action), action 497 daemons/execd/execd_commands.c normalize_action_name(rsc, dup->action), action 510 daemons/execd/execd_commands.c crm_trace("Scheduling %s on %s", cmd->action, rsc->rsc_id); action 520 daemons/execd/execd_commands.c if (pcmk__str_eq(cmd->action, "stop", pcmk__str_casei)) { action 642 daemons/execd/execd_commands.c crm_xml_add(notify, F_LRMD_RSC_ACTION, cmd->action); action 723 daemons/execd/execd_commands.c crm_trace("Resource operation rsc:%s action:%s completed (%p %p)", cmd->rsc_id, cmd->action, action 806 daemons/execd/execd_commands.c action_complete(svc_action_t * action) action 809 daemons/execd/execd_commands.c lrmd_cmd_t *cmd = action->cb_data; action 819 daemons/execd/execd_commands.c action->id); action 824 daemons/execd/execd_commands.c if (cmd->result.exit_status != action->rc) { action 829 daemons/execd/execd_commands.c cmd->last_pid = action->pid; action 832 daemons/execd/execd_commands.c code = services_result2ocf(action->standard, cmd->action, action->rc); action 834 daemons/execd/execd_commands.c action->status, services__exit_reason(action)); action 847 daemons/execd/execd_commands.c && pcmk__strcase_any_of(cmd->action, "start", "stop", NULL)) { action 854 daemons/execd/execd_commands.c cmd->real_action = cmd->action; action 855 daemons/execd/execd_commands.c cmd->action = strdup("monitor"); action 899 daemons/execd/execd_commands.c } else if (pcmk__str_eq(cmd->action, "start", pcmk__str_casei) action 929 daemons/execd/execd_commands.c cmd->rsc_id, cmd->action, time_sum, timeout_left, delay); action 933 daemons/execd/execd_commands.c cmd->rsc_id, cmd->action, action 951 daemons/execd/execd_commands.c (cmd->real_action? cmd->real_action : cmd->action), action 962 daemons/execd/execd_commands.c pcmk__set_result_output(&(cmd->result), services__grab_stdout(action), action 963 daemons/execd/execd_commands.c services__grab_stderr(action)); action 1010 daemons/execd/execd_commands.c if (pcmk__str_eq(cmd->action, CRMD_ACTION_STATUS, action 1014 daemons/execd/execd_commands.c } else if (pcmk__str_eq(cmd->action, CRMD_ACTION_STOP, action 1038 daemons/execd/execd_commands.c if (pcmk__str_eq(cmd->action, "start", pcmk__str_casei)) { action 1042 daemons/execd/execd_commands.c } else if (pcmk__str_eq(cmd->action, "stop", pcmk__str_casei)) { action 1238 daemons/execd/execd_commands.c if (pcmk__str_eq(cmd->action, "monitor", pcmk__str_casei) action 1252 daemons/execd/execd_commands.c } else if (pcmk__str_eq(cmd->action, "start", pcmk__str_casei)) { action 1258 daemons/execd/execd_commands.c } else if (pcmk__str_eq(cmd->action, "stop", pcmk__str_casei)) { action 1261 daemons/execd/execd_commands.c } else if (pcmk__str_eq(cmd->action, "monitor", pcmk__str_casei)) { action 1288 daemons/execd/execd_commands.c svc_action_t *action = NULL; action 1295 daemons/execd/execd_commands.c rsc->rsc_id, cmd->action, rsc->class, rsc->provider, rsc->type); action 1300 daemons/execd/execd_commands.c && pcmk__str_eq(cmd->action, "stop", pcmk__str_casei)) { action 1310 daemons/execd/execd_commands.c action = services__create_resource_action(rsc->rsc_id, rsc->class, rsc->provider, action 1312 daemons/execd/execd_commands.c normalize_action_name(rsc, cmd->action), action 1316 daemons/execd/execd_commands.c if (action == NULL) { action 1323 daemons/execd/execd_commands.c if (action->rc != PCMK_OCF_UNKNOWN) { action 1324 daemons/execd/execd_commands.c pcmk__set_result(&(cmd->result), action->rc, action->status, action 1325 daemons/execd/execd_commands.c services__exit_reason(action)); action 1326 daemons/execd/execd_commands.c services_action_free(action); action 1331 daemons/execd/execd_commands.c action->cb_data = cmd; action 1333 daemons/execd/execd_commands.c if (services_action_async(action, action_complete)) { action 1351 daemons/execd/execd_commands.c pcmk__set_result(&(cmd->result), action->rc, action->status, action 1352 daemons/execd/execd_commands.c services__exit_reason(action)); action 1353 daemons/execd/execd_commands.c services_action_free(action); action 1377 daemons/execd/execd_commands.c cmd->rsc_id, cmd->action, cmd->start_delay); action 1452 daemons/execd/execd_commands.c normalize_action_name(rsc, cmd->action), action 1618 daemons/execd/execd_commands.c cancel_op(const char *rsc_id, const char *action, guint interval_ms) action 1641 daemons/execd/execd_commands.c if (action_matches(cmd, action, interval_ms)) { action 1654 daemons/execd/execd_commands.c if (action_matches(cmd, action, interval_ms)) { action 1663 daemons/execd/execd_commands.c normalize_action_name(rsc, action), action 1708 daemons/execd/execd_commands.c cancel_op(rsc->rsc_id, cmd->action, cmd->interval_ms); action 1719 daemons/execd/execd_commands.c const char *action = crm_element_value(rsc_xml, F_LRMD_RSC_ACTION); action 1724 daemons/execd/execd_commands.c if (!rsc_id || !action) { action 1728 daemons/execd/execd_commands.c return cancel_op(rsc_id, action, interval_ms); action 1742 daemons/execd/execd_commands.c (cmd->real_action? cmd->real_action : cmd->action)); action 48 daemons/fenced/fenced_commands.c char *action; action 101 daemons/fenced/fenced_commands.c char *action; action 124 daemons/fenced/fenced_commands.c is_action_required(const char *action, const stonith_device_t *device) action 127 daemons/fenced/fenced_commands.c && pcmk__str_eq(action, "on", pcmk__str_none); action 131 daemons/fenced/fenced_commands.c get_action_delay_max(const stonith_device_t *device, const char *action) action 136 daemons/fenced/fenced_commands.c if (!pcmk__is_fencing_action(action)) { action 149 daemons/fenced/fenced_commands.c get_action_delay_base(const stonith_device_t *device, const char *action, action 155 daemons/fenced/fenced_commands.c if (!pcmk__is_fencing_action(action)) { action 216 daemons/fenced/fenced_commands.c get_action_timeout(const stonith_device_t *device, const char *action, action 219 daemons/fenced/fenced_commands.c if (action && device && device->params) { action 226 daemons/fenced/fenced_commands.c if (pcmk__str_eq(action, "reboot", pcmk__str_none) action 230 daemons/fenced/fenced_commands.c action = "off"; action 234 daemons/fenced/fenced_commands.c snprintf(buffer, sizeof(buffer), "pcmk_%s_timeout", action); action 271 daemons/fenced/fenced_commands.c const char *action = NULL; action 277 daemons/fenced/fenced_commands.c action = g_hash_table_lookup(device->params, "pcmk_reboot_action"); action 280 daemons/fenced/fenced_commands.c return pcmk__s(action, "reboot"); action 319 daemons/fenced/fenced_commands.c free(cmd->action); action 359 daemons/fenced/fenced_commands.c cmd->action = crm_element_value_copy(op, F_STONITH_ACTION); action 362 daemons/fenced/fenced_commands.c if ((cmd->action == NULL) || (cmd->op == NULL) || (cmd->client == NULL)) { action 436 daemons/fenced/fenced_commands.c cmd->action, pid, action 496 daemons/fenced/fenced_commands.c stonith_action_t *action = NULL; action 521 daemons/fenced/fenced_commands.c pending_op->action, action 542 daemons/fenced/fenced_commands.c if (pcmk__is_fencing_action(cmd->action)) { action 548 daemons/fenced/fenced_commands.c crm_info("Faking success for %s watchdog operation", cmd->action); action 557 daemons/fenced/fenced_commands.c if (pcmk__str_eq(cmd->action, "stop", pcmk__str_none)) { action 572 daemons/fenced/fenced_commands.c action_str = cmd->action; action 573 daemons/fenced/fenced_commands.c if (pcmk__str_eq(cmd->action, "reboot", pcmk__str_none) action 590 daemons/fenced/fenced_commands.c action = stonith__action_create(device->agent, action_str, cmd->target, action 597 daemons/fenced/fenced_commands.c exec_rc = stonith__execute_async(action, (void *)cmd, cmd->done_cb, action 601 daemons/fenced/fenced_commands.c cmd->done_cb(0, stonith__action_result(action), cmd); action 602 daemons/fenced/fenced_commands.c stonith__destroy_action(action); action 656 daemons/fenced/fenced_commands.c cmd->timeout = get_action_timeout(device, cmd->action, cmd->default_timeout); action 661 daemons/fenced/fenced_commands.c cmd->action, action 667 daemons/fenced/fenced_commands.c cmd->action, action 681 daemons/fenced/fenced_commands.c delay_max = get_action_delay_max(device, cmd->action); action 682 daemons/fenced/fenced_commands.c delay_base = get_action_delay_base(device, cmd->action, cmd->target); action 690 daemons/fenced/fenced_commands.c delay_base, delay_max, cmd->action, device->id); action 703 daemons/fenced/fenced_commands.c cmd->action, action 725 daemons/fenced/fenced_commands.c crm_warn("Removal of device '%s' purged operation '%s'", device->id, cmd->action); action 943 daemons/fenced/fenced_commands.c const char *action = NULL; action 949 daemons/fenced/fenced_commands.c action = crm_element_value(match, "name"); action 951 daemons/fenced/fenced_commands.c if (pcmk__str_eq(action, "list", pcmk__str_none)) { action 954 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(action, "status", pcmk__str_none)) { action 957 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(action, "reboot", pcmk__str_none)) { action 960 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(action, "on", pcmk__str_none)) { action 970 daemons/fenced/fenced_commands.c if ((action != NULL) && pcmk__xe_attr_is_true(match, "on_target")) { action 971 daemons/fenced/fenced_commands.c pcmk__add_word(&(device->on_target_actions), 64, action); action 987 daemons/fenced/fenced_commands.c map_action(GHashTable *params, const char *action, const char *value) action 989 daemons/fenced/fenced_commands.c char *key = crm_strdup_printf("pcmk_%s_action", action); action 1154 daemons/fenced/fenced_commands.c const char *action, action 1169 daemons/fenced/fenced_commands.c cmd->action = strdup(action); action 1956 daemons/fenced/fenced_commands.c const char *action = crm_element_value(op, F_STONITH_ACTION); action 1960 daemons/fenced/fenced_commands.c if ((id == NULL) || (action == NULL)) { action 1963 daemons/fenced/fenced_commands.c (action? action : "not specified")); action 1975 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(action, "list", pcmk__str_none)) { action 1983 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(action, "monitor", pcmk__str_none)) { action 1992 daemons/fenced/fenced_commands.c action, id); action 1997 daemons/fenced/fenced_commands.c } else if (!device->api_registered && !strcmp(action, "monitor")) { action 2000 daemons/fenced/fenced_commands.c action, id); action 2037 daemons/fenced/fenced_commands.c (search->action? search->action : "unknown action"), action 2042 daemons/fenced/fenced_commands.c free(search->action); action 2059 daemons/fenced/fenced_commands.c localhost_is_eligible(const stonith_device_t *device, const char *action, action 2065 daemons/fenced/fenced_commands.c if ((device != NULL) && (action != NULL) action 2068 daemons/fenced/fenced_commands.c action) != NULL)) { action 2072 daemons/fenced/fenced_commands.c "host, not %s", action, device->id, target); action 2077 daemons/fenced/fenced_commands.c crm_trace("'%s' operation does not support self-fencing", action); action 2097 daemons/fenced/fenced_commands.c const char *action, const char *target, action 2101 daemons/fenced/fenced_commands.c if (localhost_is_eligible(device, action, target, allow_self)) { action 2107 daemons/fenced/fenced_commands.c if (pcmk__str_eq(action, "reboot", pcmk__str_none)) { action 2131 daemons/fenced/fenced_commands.c const char *action = (search == NULL)? NULL : search->action; action 2133 daemons/fenced/fenced_commands.c CRM_CHECK((dev != NULL) && (action != NULL), goto search_report_results); action 2149 daemons/fenced/fenced_commands.c if (pcmk__str_eq(action, "on", pcmk__str_none) action 2154 daemons/fenced/fenced_commands.c } else if (!localhost_is_eligible_with_remap(dev, action, target, action 2186 daemons/fenced/fenced_commands.c check_type, dev_id, target, action); action 2209 daemons/fenced/fenced_commands.c check_type, dev_id, target, action); action 2221 daemons/fenced/fenced_commands.c dev_id, (can? "" : " not"), pcmk__s(action, "unspecified action"), action 2239 daemons/fenced/fenced_commands.c get_capable_devices(const char *host, const char *action, int timeout, bool suicide, void *user_data, action 2259 daemons/fenced/fenced_commands.c pcmk__str_update(&search->action, action); action 2273 daemons/fenced/fenced_commands.c (search->action? search->action : "unknown action"), action 2283 daemons/fenced/fenced_commands.c char *action; action 2297 daemons/fenced/fenced_commands.c add_action_specific_attributes(xmlNode *xml, const char *action, action 2305 daemons/fenced/fenced_commands.c CRM_CHECK(xml && action && device, return); action 2307 daemons/fenced/fenced_commands.c if (is_action_required(action, device)) { action 2308 daemons/fenced/fenced_commands.c crm_trace("Action '%s' is required using %s", action, device->id); action 2312 daemons/fenced/fenced_commands.c action_specific_timeout = get_action_timeout(device, action, 0); action 2315 daemons/fenced/fenced_commands.c action, action_specific_timeout, device->id); action 2319 daemons/fenced/fenced_commands.c delay_max = get_action_delay_max(device, action); action 2322 daemons/fenced/fenced_commands.c action, delay_max, device->id); action 2326 daemons/fenced/fenced_commands.c delay_base = get_action_delay_base(device, action, target); action 2333 daemons/fenced/fenced_commands.c action, delay_max, device->id); action 2336 daemons/fenced/fenced_commands.c action, delay_base, device->id); action 2340 daemons/fenced/fenced_commands.c action, delay_base, delay_max, device->id); action 2355 daemons/fenced/fenced_commands.c add_disallowed(xmlNode *xml, const char *action, const stonith_device_t *device, action 2358 daemons/fenced/fenced_commands.c if (!localhost_is_eligible(device, action, target, allow_suicide)) { action 2360 daemons/fenced/fenced_commands.c action, device->id); action 2376 daemons/fenced/fenced_commands.c add_action_reply(xmlNode *xml, const char *action, action 2382 daemons/fenced/fenced_commands.c crm_xml_add(child, XML_ATTR_ID, action); action 2383 daemons/fenced/fenced_commands.c add_action_specific_attributes(child, action, device, target); action 2384 daemons/fenced/fenced_commands.c add_disallowed(child, action, device, target, allow_suicide); action 2411 daemons/fenced/fenced_commands.c const char *action = query->action; action 2432 daemons/fenced/fenced_commands.c && pcmk__str_eq(query->action, "reboot", pcmk__str_none)) { action 2435 daemons/fenced/fenced_commands.c action = "off"; action 2439 daemons/fenced/fenced_commands.c add_action_specific_attributes(dev, action, device, query->target); action 2440 daemons/fenced/fenced_commands.c if (pcmk__str_eq(query->action, "reboot", pcmk__str_none)) { action 2452 daemons/fenced/fenced_commands.c add_disallowed(dev, action, device, query->target, action 2490 daemons/fenced/fenced_commands.c free(query->action); action 2521 daemons/fenced/fenced_commands.c && !pcmk__str_eq(cmd->action, "metadata", pcmk__str_none)) { action 2528 daemons/fenced/fenced_commands.c && !pcmk__str_eq(cmd->action, "metadata", pcmk__str_none)) { action 2534 daemons/fenced/fenced_commands.c pcmk__g_strcat(msg, "Operation '", cmd->action, "' ", NULL); action 2615 daemons/fenced/fenced_commands.c if (!stand_alone && pcmk__is_fencing_action(cmd->action) action 2621 daemons/fenced/fenced_commands.c cmd->action, cmd->target); action 2657 daemons/fenced/fenced_commands.c cmd->action, device->id); action 2704 daemons/fenced/fenced_commands.c !pcmk__str_eq(cmd->action, cmd_other->action, pcmk__str_none) || action 2712 daemons/fenced/fenced_commands.c cmd_other->action, action 2742 daemons/fenced/fenced_commands.c if (is_action_required(cmd->action, next_device)) { action 2769 daemons/fenced/fenced_commands.c (pcmk__strcase_any_of(cmd->action, "list", "monitor", "status", NULL))) { action 2781 daemons/fenced/fenced_commands.c && !is_action_required(cmd->action, device)) { action 2902 daemons/fenced/fenced_commands.c get_capable_devices(host, cmd->action, cmd->default_timeout, action 2904 daemons/fenced/fenced_commands.c fenced_support_flag(cmd->action)); action 3121 daemons/fenced/fenced_commands.c relay_op->id, relay_op->action, action 3124 daemons/fenced/fenced_commands.c relay_op->client_name, op_id, relay_op->action, action 3204 daemons/fenced/fenced_commands.c const char *action = NULL; action 3227 daemons/fenced/fenced_commands.c action = crm_element_value(dev, F_STONITH_ACTION); action 3239 daemons/fenced/fenced_commands.c pcmk__str_update(&query->action, action); action 3243 daemons/fenced/fenced_commands.c get_capable_devices(target, action, timeout, action 3328 daemons/fenced/fenced_commands.c const char *action = crm_element_value(dev, F_STONITH_ACTION); action 3335 daemons/fenced/fenced_commands.c pcmk__request_origin(request), action, action 3338 daemons/fenced/fenced_commands.c if (stonith_check_fence_tolerance(tolerance, target, action)) { action 3348 daemons/fenced/fenced_commands.c request->peer, action, target, action 252 daemons/fenced/fenced_history.c op->action = crm_element_value_copy(xml_op, F_STONITH_ACTION); action 369 daemons/fenced/fenced_history.c crm_xml_add(entry, F_STONITH_ACTION, op->action); action 212 daemons/fenced/fenced_remote.c fenced_support_flag(op->action)); action 251 daemons/fenced/fenced_remote.c free(op->action); action 295 daemons/fenced/fenced_remote.c return ((op->phase > st_phase_requested)? "reboot" : op->action); action 314 daemons/fenced/fenced_remote.c strcpy(op->action, "off"); action 332 daemons/fenced/fenced_remote.c strcpy(op->action, "on"); action 365 daemons/fenced/fenced_remote.c strcpy(op->action, "reboot"); action 385 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, F_STONITH_ACTION, op->action); action 452 daemons/fenced/fenced_remote.c crm_xml_add(data, F_STONITH_OPERATION, op->action); action 551 daemons/fenced/fenced_remote.c op->action, (op->target? " targeting " : ""), action 605 daemons/fenced/fenced_remote.c CRM_XS " id=%.8s", op->action, (op->target? " targeting " : ""), action 654 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op->id); action 669 daemons/fenced/fenced_remote.c " id=%.8s", op->action, op->target, op->client_name, op->id); action 692 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op->id); action 724 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op->id); action 962 daemons/fenced/fenced_remote.c && pcmk__str_eq(op->action, "reboot", pcmk__str_none)) { action 1010 daemons/fenced/fenced_remote.c if (!pcmk__str_eq(op->action, other_action, pcmk__str_none)) { action 1012 daemons/fenced/fenced_remote.c op->id, other->id, op->action, other_action); action 1028 daemons/fenced/fenced_remote.c other->action, other->target, other->client_name, action 1056 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, action 1170 daemons/fenced/fenced_remote.c op->action = crm_element_value_copy(dev, F_STONITH_ACTION); action 1205 daemons/fenced/fenced_remote.c (peer && dev)? "Recorded" : "Generated", op->id, op->action, action 1277 daemons/fenced/fenced_remote.c CRM_CHECK(op->action, return NULL); action 1289 daemons/fenced/fenced_remote.c CRM_XS " id=%.8s", op->action, op->target, op->id); action 1295 daemons/fenced/fenced_remote.c CRM_XS " id=%.8s", op->action, op->target, op->id); action 1301 daemons/fenced/fenced_remote.c op->action, op->target, op->id, action 1374 daemons/fenced/fenced_remote.c fenced_support_flag(op->action))) { action 1395 daemons/fenced/fenced_remote.c op->action, op->target, device); action 1398 daemons/fenced/fenced_remote.c op->action, op->target); action 1439 daemons/fenced/fenced_remote.c op->action, op->target, (device? device : "any device")); action 1518 daemons/fenced/fenced_remote.c if (pcmk__str_eq(op->action, "on", pcmk__str_none) action 1547 daemons/fenced/fenced_remote.c fenced_support_flag(op->action))) { action 1654 daemons/fenced/fenced_remote.c && pcmk__str_eq(op->action, "on", pcmk__str_none)) { action 1705 daemons/fenced/fenced_remote.c op->target, op->action, op->client_name, op->id); action 1800 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, F_STONITH_ACTION, op->action); action 1813 daemons/fenced/fenced_remote.c peer->host, op->action, op->target, device, action 1821 daemons/fenced/fenced_remote.c peer->host, op->action, op->target, op->client_name, action 1833 daemons/fenced/fenced_remote.c && !pcmk__str_eq(op->action, "on", pcmk__str_none))) action 1872 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name); action 1877 daemons/fenced/fenced_remote.c CRM_XS " state=%s", op->action, op->target, op->client_name, action 1898 daemons/fenced/fenced_remote.c op->replies, op->action, op->target, op->client_name, action 1919 daemons/fenced/fenced_remote.c op->replies, op->action, op->target, op->client_name, action 1929 daemons/fenced/fenced_remote.c op->action, op->target, (device? " using " : ""), action 1974 daemons/fenced/fenced_remote.c if (pcmk__is_fencing_action(op->action)) { action 2014 daemons/fenced/fenced_remote.c const char *action, remote_fencing_op_t *op, action 2022 daemons/fenced/fenced_remote.c peer, device, action, props->custom_action_timeout[phase]); action 2029 daemons/fenced/fenced_remote.c peer, device, props->delay_max[phase], action); action 2036 daemons/fenced/fenced_remote.c peer, device, props->delay_base[phase], action); action 2040 daemons/fenced/fenced_remote.c if (pcmk__str_eq(action, "on", pcmk__str_none)) { action 2046 daemons/fenced/fenced_remote.c peer, device, action); action 2057 daemons/fenced/fenced_remote.c peer, action, device); action 2211 daemons/fenced/fenced_remote.c op->target, op->action, ndevices, pcmk__plural_s(ndevices), id); action 2235 daemons/fenced/fenced_remote.c fenced_support_flag(op->action)); action 2319 daemons/fenced/fenced_remote.c device, (const char *) op->devices->data, op->action, op->target); action 2368 daemons/fenced/fenced_remote.c op->action, op->target, action 2418 daemons/fenced/fenced_remote.c stonith_check_fence_tolerance(int tolerance, const char *target, const char *action) action 2425 daemons/fenced/fenced_remote.c action == NULL) { action 2438 daemons/fenced/fenced_remote.c } else if (strcmp(rop->action, action) != 0) { action 2445 daemons/fenced/fenced_remote.c target, action, tolerance, rop->delegate, rop->originator); action 22 daemons/fenced/pacemaker-fenced.h gboolean stonith_check_fence_tolerance(int tolerance, const char *target, const char *action); action 78 daemons/fenced/pacemaker-fenced.h char *action; action 300 daemons/fenced/pacemaker-fenced.h fenced_support_flag(const char *action) action 302 daemons/fenced/pacemaker-fenced.h if (pcmk__str_eq(action, "on", pcmk__str_none)) { action 176 include/crm/common/internal.h bool pcmk__is_fencing_action(const char *action); action 61 include/crm/fencing/internal.h void stonith__destroy_action(stonith_action_t *action); action 62 include/crm/fencing/internal.h pcmk__action_result_t *stonith__action_result(stonith_action_t *action); action 68 include/crm/fencing/internal.h int stonith__execute_async(stonith_action_t *action, void *userdata, action 283 include/crm/lrmd.h char *action; action 456 include/crm/lrmd.h int (*exec) (lrmd_t *lrmd, const char *rsc_id, const char *action, action 479 include/crm/lrmd.h int (*cancel) (lrmd_t *lrmd, const char *rsc_id, const char *action, action 86 include/crm/pengine/internal.h #define pe__set_action_flags(action, flags_to_set) do { \ action 87 include/crm/pengine/internal.h (action)->flags = pcmk__set_flags_as(__func__, __LINE__, \ action 89 include/crm/pengine/internal.h "Action", (action)->uuid, \ action 90 include/crm/pengine/internal.h (action)->flags, \ action 95 include/crm/pengine/internal.h #define pe__clear_action_flags(action, flags_to_clear) do { \ action 96 include/crm/pengine/internal.h (action)->flags = pcmk__clear_flags_as(__func__, __LINE__, \ action 98 include/crm/pengine/internal.h "Action", (action)->uuid, \ action 99 include/crm/pengine/internal.h (action)->flags, \ action 120 include/crm/pengine/internal.h #define pe__set_action_flags_as(function, line, action, flags_to_set) do { \ action 121 include/crm/pengine/internal.h (action)->flags = pcmk__set_flags_as((function), (line), \ action 123 include/crm/pengine/internal.h "Action", (action)->uuid, \ action 124 include/crm/pengine/internal.h (action)->flags, \ action 129 include/crm/pengine/internal.h #define pe__clear_action_flags_as(function, line, action, flags_to_clear) do { \ action 130 include/crm/pengine/internal.h (action)->flags = pcmk__clear_flags_as((function), (line), \ action 132 include/crm/pengine/internal.h "Action", (action)->uuid, \ action 133 include/crm/pengine/internal.h (action)->flags, \ action 212 include/crm/pengine/internal.h const char *action; action 294 include/crm/pengine/internal.h pe_action_t *action, action 297 include/crm/pengine/internal.h void pe__order_notifs_after_fencing(pe_action_t *action, pe_resource_t *rsc, action 450 include/crm/pengine/internal.h extern int pe_get_configured_timeout(pe_resource_t *rsc, const char *action, action 464 include/crm/pengine/internal.h extern void pe_free_action(pe_action_t * action); action 541 include/crm/pengine/internal.h char *pe__action2reason(pe_action_t *action, enum pe_action_flags flag); action 542 include/crm/pengine/internal.h void pe_action_set_reason(pe_action_t *action, const char *reason, bool overwrite); action 543 include/crm/pengine/internal.h void pe__add_action_expected_result(pe_action_t *action, int expected_result); action 530 include/crm/pengine/pe_types.h pe_action_t *action; action 122 include/crm/services.h char *action; action 254 include/crm/services.h const char *action, guint interval_ms, action 267 include/crm/services.h gboolean services_action_kick(const char *name, const char *action, action 360 include/crm/services.h gboolean services_action_cancel(const char *name, const char *action, action 367 include/crm/services.h gboolean services_alert_async(svc_action_t *action, action 370 include/crm/services.h enum ocf_exitcode services_result2ocf(const char *standard, const char *action, action 53 include/crm/services_compat.h svc_action_t *services_action_create(const char *name, const char *action, action 68 include/crm/services_compat.h services_get_ocf_exitcode(const char *action, int lsb_exitcode) action 71 include/crm/services_compat.h if (action && strcmp(action, "status") && strcmp(action, "monitor")) { action 41 include/crm/services_internal.h const char *action, action 46 include/crm/services_internal.h const char *services__exit_reason(svc_action_t *action); action 47 include/crm/services_internal.h char *services__grab_stdout(svc_action_t *action); action 48 include/crm/services_internal.h char *services__grab_stderr(svc_action_t *action); action 50 include/crm/services_internal.h void services__set_result(svc_action_t *action, int agent_status, action 54 include/crm/services_internal.h void services__format_result(svc_action_t *action, int agent_status, action 106 include/crm/stonith-ng.h char *action; action 129 include/crm/stonith-ng.h char *action; action 360 include/crm/stonith-ng.h const char *action, int timeout, int tolerance); action 543 include/crm/stonith-ng.h const char *node, const char *action, int timeout, action 690 include/crm/stonith-ng.h const char *stonith_action_str(const char *action); action 293 include/pacemaker.h int pcmk_request_fencing(stonith_t *st, const char *target, const char *action, action 49 include/pcmki/pcmki_fence.h int pcmk__request_fencing(stonith_t *st, const char *target, const char *action, action 27 include/pcmki/pcmki_sched_allocate.h enum pe_action_flags pcmk__bundle_action_flags(pe_action_t *action, action 39 include/pcmki/pcmki_sched_allocate.h enum pe_action_flags clone_action_flags(pe_action_t *action, action 38 include/pcmki/pcmki_sched_utils.h enum pe_action_flags summary_action_flags(pe_action_t *action, GList *children, action 40 include/pcmki/pcmki_sched_utils.h enum action_tasks clone_child_action(pe_action_t * action); action 82 include/pcmki/pcmki_transition.h #define pcmk__set_graph_action_flags(action, flags_to_set) do { \ action 83 include/pcmki/pcmki_transition.h (action)->flags = pcmk__set_flags_as(__func__, __LINE__, \ action 86 include/pcmki/pcmki_transition.h (action)->flags, (flags_to_set), #flags_to_set); \ action 89 include/pcmki/pcmki_transition.h #define pcmk__clear_graph_action_flags(action, flags_to_clear) do { \ action 90 include/pcmki/pcmki_transition.h (action)->flags = pcmk__clear_flags_as(__func__, __LINE__, \ action 93 include/pcmki/pcmki_transition.h (action)->flags, (flags_to_clear), #flags_to_clear); \ action 134 include/pcmki/pcmki_transition.h int (*pseudo) (pcmk__graph_t *graph, pcmk__graph_action_t *action); action 135 include/pcmki/pcmki_transition.h int (*rsc) (pcmk__graph_t *graph, pcmk__graph_action_t *action); action 136 include/pcmki/pcmki_transition.h int (*cluster) (pcmk__graph_t *graph, pcmk__graph_action_t *action); action 137 include/pcmki/pcmki_transition.h int (*fence) (pcmk__graph_t *graph, pcmk__graph_action_t *action); action 138 include/pcmki/pcmki_transition.h bool (*allowed) (pcmk__graph_t *graph, pcmk__graph_action_t *action); action 151 include/pcmki/pcmki_transition.h void pcmk__update_graph(pcmk__graph_t *graph, pcmk__graph_action_t *action); action 155 include/pcmki/pcmki_transition.h void pcmk__log_graph_action(int log_level, pcmk__graph_action_t *action); action 157 include/pcmki/pcmki_transition.h const pcmk__graph_action_t *action, action 535 lib/common/operations.c pcmk__is_fencing_action(const char *action) action 537 lib/common/operations.c return pcmk__str_any_of(action, "off", "reboot", "poweroff", NULL); action 14 lib/fencing/fencing_private.h int stonith__execute(stonith_action_t *action); action 32 lib/fencing/st_actions.c char *action; action 53 lib/fencing/st_actions.c static int internal_stonith_action_execute(stonith_action_t *action); action 54 lib/fencing/st_actions.c static void log_action(stonith_action_t *action, pid_t pid); action 64 lib/fencing/st_actions.c set_result_from_svc_action(stonith_action_t *action, svc_action_t *svc_action) action 66 lib/fencing/st_actions.c pcmk__set_result(&(action->result), svc_action->rc, svc_action->status, action 68 lib/fencing/st_actions.c pcmk__set_result_output(&(action->result), action 74 lib/fencing/st_actions.c log_action(stonith_action_t *action, pid_t pid) action 79 lib/fencing/st_actions.c if (action->result.action_stderr != NULL) { action 81 lib/fencing/st_actions.c char *prefix = crm_strdup_printf("%s[%d] stderr:", action->agent, pid); action 83 lib/fencing/st_actions.c crm_log_output(LOG_WARNING, prefix, action->result.action_stderr); action 123 lib/fencing/st_actions.c make_args(const char *agent, const char *action, const char *target, action 130 lib/fencing/st_actions.c CRM_CHECK(action != NULL, return NULL); action 138 lib/fencing/st_actions.c snprintf(buffer, sizeof(buffer), "pcmk_%s_action", action); action 142 lib/fencing/st_actions.c value, action, pcmk__s(target, "no node")); action 143 lib/fencing/st_actions.c action = value; action 147 lib/fencing/st_actions.c strdup(action)); action 166 lib/fencing/st_actions.c nodeid, action, pcmk__s(target, "no node")); action 197 lib/fencing/st_actions.c param, alias, action, pcmk__s(target, "no node")); action 217 lib/fencing/st_actions.c stonith__destroy_action(stonith_action_t *action) action 219 lib/fencing/st_actions.c if (action) { action 220 lib/fencing/st_actions.c free(action->agent); action 221 lib/fencing/st_actions.c if (action->args) { action 222 lib/fencing/st_actions.c g_hash_table_destroy(action->args); action 224 lib/fencing/st_actions.c free(action->action); action 225 lib/fencing/st_actions.c if (action->svc_action) { action 226 lib/fencing/st_actions.c services_action_free(action->svc_action); action 228 lib/fencing/st_actions.c pcmk__reset_result(&(action->result)); action 229 lib/fencing/st_actions.c free(action); action 242 lib/fencing/st_actions.c stonith__action_result(stonith_action_t *action) action 244 lib/fencing/st_actions.c return (action == NULL)? NULL : &(action->result); action 270 lib/fencing/st_actions.c stonith_action_t *action = calloc(1, sizeof(stonith_action_t)); action 272 lib/fencing/st_actions.c CRM_ASSERT(action != NULL); action 274 lib/fencing/st_actions.c action->args = make_args(agent, action_name, target, target_nodeid, action 278 lib/fencing/st_actions.c action->agent = strdup(agent); action 279 lib/fencing/st_actions.c action->action = strdup(action_name); action 280 lib/fencing/st_actions.c action->timeout = action->remaining_timeout = timeout_sec; action 281 lib/fencing/st_actions.c action->max_retries = FAILURE_MAX_RETRIES; action 283 lib/fencing/st_actions.c pcmk__set_result(&(action->result), PCMK_OCF_UNKNOWN, PCMK_EXEC_UNKNOWN, action 294 lib/fencing/st_actions.c action->max_retries = atoi(value); action 298 lib/fencing/st_actions.c return action; action 302 lib/fencing/st_actions.c update_remaining_timeout(stonith_action_t * action) action 304 lib/fencing/st_actions.c int diff = time(NULL) - action->initial_start_time; action 306 lib/fencing/st_actions.c if (action->tries >= action->max_retries) { action 308 lib/fencing/st_actions.c action->agent, action->action, action->max_retries); action 309 lib/fencing/st_actions.c action->remaining_timeout = 0; action 310 lib/fencing/st_actions.c } else if ((action->result.execution_status != PCMK_EXEC_TIMEOUT) action 311 lib/fencing/st_actions.c && (diff < (action->timeout * 0.7))) { action 314 lib/fencing/st_actions.c action->remaining_timeout = action->timeout - diff; action 316 lib/fencing/st_actions.c action->remaining_timeout = 0; action 318 lib/fencing/st_actions.c return action->remaining_timeout ? TRUE : FALSE; action 536 lib/fencing/st_actions.c stonith_action_t *action = (stonith_action_t *) svc_action->cb_data; action 538 lib/fencing/st_actions.c set_result_from_svc_action(action, svc_action); action 540 lib/fencing/st_actions.c log_action(action, action->pid); action 542 lib/fencing/st_actions.c if (!pcmk__result_ok(&(action->result)) action 543 lib/fencing/st_actions.c && update_remaining_timeout(action)) { action 545 lib/fencing/st_actions.c int rc = internal_stonith_action_execute(action); action 551 lib/fencing/st_actions.c if (action->done_cb) { action 552 lib/fencing/st_actions.c action->done_cb(action->pid, &(action->result), action->userdata); action 555 lib/fencing/st_actions.c action->svc_action = NULL; // don't remove our caller action 556 lib/fencing/st_actions.c stonith__destroy_action(action); action 562 lib/fencing/st_actions.c stonith_action_t *action = (stonith_action_t *) svc_action->cb_data; action 564 lib/fencing/st_actions.c action->pid = svc_action->pid; action 565 lib/fencing/st_actions.c action->svc_action = svc_action; action 567 lib/fencing/st_actions.c if (action->fork_cb) { action 568 lib/fencing/st_actions.c (action->fork_cb) (svc_action->pid, action->userdata); action 571 lib/fencing/st_actions.c pcmk__set_result(&(action->result), PCMK_OCF_UNKNOWN, PCMK_EXEC_PENDING, action 575 lib/fencing/st_actions.c action->pid, action->action); action 579 lib/fencing/st_actions.c internal_stonith_action_execute(stonith_action_t * action) action 587 lib/fencing/st_actions.c CRM_CHECK(action != NULL, return -EINVAL); action 589 lib/fencing/st_actions.c if ((action->action == NULL) || (action->args == NULL) action 590 lib/fencing/st_actions.c || (action->agent == NULL)) { action 591 lib/fencing/st_actions.c pcmk__set_result(&(action->result), PCMK_OCF_UNKNOWN_ERROR, action 596 lib/fencing/st_actions.c if (!action->tries) { action 597 lib/fencing/st_actions.c action->initial_start_time = time(NULL); action 599 lib/fencing/st_actions.c action->tries++; action 601 lib/fencing/st_actions.c if (action->tries > 1) { action 603 lib/fencing/st_actions.c action->tries, action->agent, action->action, action->remaining_timeout); action 608 lib/fencing/st_actions.c basename(action->agent)); action 613 lib/fencing/st_actions.c set_result_from_svc_action(action, svc_action); action 618 lib/fencing/st_actions.c svc_action->timeout = 1000 * action->remaining_timeout; action 620 lib/fencing/st_actions.c svc_action->id = crm_strdup_printf("%s_%s_%dof%d", basename(action->agent), action 621 lib/fencing/st_actions.c action->action, action->tries, action 622 lib/fencing/st_actions.c action->max_retries); action 623 lib/fencing/st_actions.c svc_action->agent = strdup(action->agent); action 625 lib/fencing/st_actions.c svc_action->params = action->args; action 626 lib/fencing/st_actions.c svc_action->cb_data = (void *) action; action 635 lib/fencing/st_actions.c pcmk__reset_result(&(action->result)); action 639 lib/fencing/st_actions.c if (action->async) { action 653 lib/fencing/st_actions.c set_result_from_svc_action(action, svc_action); action 671 lib/fencing/st_actions.c stonith__execute_async(stonith_action_t * action, void *userdata, action 677 lib/fencing/st_actions.c if (!action) { action 681 lib/fencing/st_actions.c action->userdata = userdata; action 682 lib/fencing/st_actions.c action->done_cb = done; action 683 lib/fencing/st_actions.c action->fork_cb = fork_cb; action 684 lib/fencing/st_actions.c action->async = true; action 686 lib/fencing/st_actions.c return internal_stonith_action_execute(action); action 698 lib/fencing/st_actions.c stonith__execute(stonith_action_t *action) action 702 lib/fencing/st_actions.c CRM_CHECK(action != NULL, return -EINVAL); action 706 lib/fencing/st_actions.c rc = internal_stonith_action_execute(action); action 707 lib/fencing/st_actions.c } while ((rc != pcmk_ok) && update_remaining_timeout(action)); action 602 lib/fencing/st_client.c const char *action, const char *target, int timeout_sec, action 611 lib/fencing/st_client.c crm_xml_add(data, F_STONITH_ACTION, action); action 662 lib/fencing/st_client.c const char *action, int timeout, int tolerance, int delay) action 669 lib/fencing/st_client.c crm_xml_add(data, F_STONITH_ACTION, action); action 681 lib/fencing/st_client.c stonith_api_fence(stonith_t * stonith, int call_options, const char *node, const char *action, action 684 lib/fencing/st_client.c return stonith_api_fence_with_delay(stonith, call_options, node, action, action 729 lib/fencing/st_client.c kvp->action = crm_element_value_copy(op, F_STONITH_ACTION); action 761 lib/fencing/st_client.c free(hp->action); action 1431 lib/fencing/st_client.c event->action = crm_element_value_copy(data, F_STONITH_ACTION); action 1466 lib/fencing/st_client.c free(event->action); action 1963 lib/fencing/st_client.c const char *action = off? "off" : "reboot"; action 1968 lib/fencing/st_client.c action, nodeid, uname); action 1975 lib/fencing/st_client.c action, nodeid, uname, pcmk_strerror(rc), rc); action 1985 lib/fencing/st_client.c rc = st->cmds->fence(st, opts, name, action, timeout, 0); action 1990 lib/fencing/st_client.c action, nodeid, uname, pcmk_strerror(rc), rc); action 1992 lib/fencing/st_client.c api_log(LOG_NOTICE, "Node %u/%s kicked: %s", nodeid, uname, action); action 2096 lib/fencing/st_client.c stonith_action_str(const char *action) action 2098 lib/fencing/st_client.c if (action == NULL) { action 2100 lib/fencing/st_client.c } else if (!strcmp(action, "on")) { action 2102 lib/fencing/st_client.c } else if (!strcmp(action, "off")) { action 2105 lib/fencing/st_client.c return action; action 2258 lib/fencing/st_client.c pcmk__str_eq(event->action, prev_hp->action, pcmk__str_none) && action 2455 lib/fencing/st_client.c stonith_action_t *action = NULL; action 2458 lib/fencing/st_client.c action = stonith__action_create(agent, "metadata", NULL, 0, action 2461 lib/fencing/st_client.c rc = stonith__execute_async(action, user_data, callback, NULL); action 2463 lib/fencing/st_client.c callback(0, stonith__action_result(action), user_data); action 2464 lib/fencing/st_client.c stonith__destroy_action(action); action 2636 lib/fencing/st_client.c const char *action = pcmk__s(event->action, event->operation); action 2641 lib/fencing/st_client.c if (action == NULL) { action 2642 lib/fencing/st_client.c action = "(unknown)"; action 2679 lib/fencing/st_client.c action, target, executioner, origin, origin_node, action 85 lib/fencing/st_output.c stonith_action_str(history->action), " of ", history->target, action 445 lib/fencing/st_output.c "action", event->action, action 128 lib/fencing/st_rhcs.c stonith_action_t *action = stonith__action_create(agent, "metadata", NULL, action 131 lib/fencing/st_rhcs.c int rc = stonith__execute(action); action 132 lib/fencing/st_rhcs.c pcmk__action_result_t *result = stonith__action_result(action); action 139 lib/fencing/st_rhcs.c stonith__destroy_action(action); action 147 lib/fencing/st_rhcs.c stonith__destroy_action(action); action 155 lib/fencing/st_rhcs.c stonith__destroy_action(action); action 161 lib/fencing/st_rhcs.c stonith__destroy_action(action); action 166 lib/fencing/st_rhcs.c stonith__destroy_action(action); action 262 lib/fencing/st_rhcs.c stonith_action_t *action = NULL; action 295 lib/fencing/st_rhcs.c action = stonith__action_create(agent, "validate-all", target, 0, action 298 lib/fencing/st_rhcs.c rc = stonith__execute(action); action 299 lib/fencing/st_rhcs.c result = stonith__action_result(action); action 314 lib/fencing/st_rhcs.c stonith__destroy_action(action); action 1797 lib/lrmd/lrmd_client.c free(op_info->action); action 1852 lib/lrmd/lrmd_client.c op_info->action = crm_element_value_copy(op_xml, F_LRMD_RSC_ACTION); action 1940 lib/lrmd/lrmd_client.c svc_action_t *action = NULL; action 1957 lib/lrmd/lrmd_client.c action = services__create_resource_action(type, standard, provider, type, action 1963 lib/lrmd/lrmd_client.c if (action == NULL) { action 1966 lib/lrmd/lrmd_client.c if (action->rc != PCMK_OCF_UNKNOWN) { action 1967 lib/lrmd/lrmd_client.c services_action_free(action); action 1971 lib/lrmd/lrmd_client.c if (!services_action_sync(action)) { action 1974 lib/lrmd/lrmd_client.c services_action_free(action); action 1978 lib/lrmd/lrmd_client.c if (!action->stdout_data) { action 1981 lib/lrmd/lrmd_client.c services_action_free(action); action 1985 lib/lrmd/lrmd_client.c *output = strdup(action->stdout_data); action 1986 lib/lrmd/lrmd_client.c services_action_free(action); action 1992 lib/lrmd/lrmd_client.c lrmd_api_exec(lrmd_t *lrmd, const char *rsc_id, const char *action, action 2005 lib/lrmd/lrmd_client.c crm_xml_add(data, F_LRMD_RSC_ACTION, action); action 2050 lib/lrmd/lrmd_client.c lrmd_api_cancel(lrmd_t *lrmd, const char *rsc_id, const char *action, action 2057 lib/lrmd/lrmd_client.c crm_xml_add(data, F_LRMD_RSC_ACTION, action); action 2359 lib/lrmd/lrmd_client.c metadata_complete(svc_action_t *action) action 2361 lib/lrmd/lrmd_client.c struct metadata_cb *metadata_cb = (struct metadata_cb *) action->cb_data; action 2364 lib/lrmd/lrmd_client.c pcmk__set_result(&result, action->rc, action->status, action 2365 lib/lrmd/lrmd_client.c services__exit_reason(action)); action 2366 lib/lrmd/lrmd_client.c pcmk__set_result_output(&result, action->stdout_data, action->stderr_data); action 2398 lib/lrmd/lrmd_client.c svc_action_t *action = NULL; action 2419 lib/lrmd/lrmd_client.c action = services__create_resource_action(pcmk__s(rsc->id, rsc->type), action 2424 lib/lrmd/lrmd_client.c if (action == NULL) { action 2431 lib/lrmd/lrmd_client.c if (action->rc != PCMK_OCF_UNKNOWN) { action 2432 lib/lrmd/lrmd_client.c pcmk__set_result(&result, action->rc, action->status, action 2433 lib/lrmd/lrmd_client.c services__exit_reason(action)); action 2436 lib/lrmd/lrmd_client.c services_action_free(action); action 2440 lib/lrmd/lrmd_client.c action->cb_data = calloc(1, sizeof(struct metadata_cb)); action 2441 lib/lrmd/lrmd_client.c if (action->cb_data == NULL) { action 2442 lib/lrmd/lrmd_client.c services_action_free(action); action 2450 lib/lrmd/lrmd_client.c metadata_cb = (struct metadata_cb *) action->cb_data; action 2453 lib/lrmd/lrmd_client.c if (!services_action_async(action, metadata_complete)) { action 2454 lib/lrmd/lrmd_client.c services_action_free(action); action 41 lib/pacemaker/libpacemaker_private.h #define pcmk__set_updated_flags(au_flags, action, flags_to_set) do { \ action 44 lib/pacemaker/libpacemaker_private.h (action)->uuid, au_flags, \ action 48 lib/pacemaker/libpacemaker_private.h #define pcmk__clear_updated_flags(au_flags, action, flags_to_clear) do { \ action 51 lib/pacemaker/libpacemaker_private.h (action)->uuid, au_flags, \ action 154 lib/pacemaker/libpacemaker_private.h enum pe_action_flags (*action_flags)(pe_action_t *action, action 237 lib/pacemaker/libpacemaker_private.h void pcmk__update_action_for_orderings(pe_action_t *action, action 247 lib/pacemaker/libpacemaker_private.h void pcmk__log_action(const char *pre_text, pe_action_t *action, bool details); action 257 lib/pacemaker/libpacemaker_private.h bool pcmk__action_locks_rsc_to_node(const pe_action_t *action); action 260 lib/pacemaker/libpacemaker_private.h void pcmk__deduplicate_action_inputs(pe_action_t *action); action 288 lib/pacemaker/libpacemaker_private.h bool pcmk__action_is_recurring(const pe_action_t *action); action 294 lib/pacemaker/libpacemaker_private.h bool pcmk__graph_has_loop(pe_action_t *init_action, pe_action_t *action, action 311 lib/pacemaker/libpacemaker_private.h pe_action_t *action, enum pe_ordering order); action 413 lib/pacemaker/libpacemaker_private.h void pcmk__block_colocation_dependents(pe_action_t *action, action 564 lib/pacemaker/libpacemaker_private.h pe_node_t *pcmk__connection_host_for_action(pe_action_t *action); action 570 lib/pacemaker/libpacemaker_private.h void pcmk__add_bundle_meta_to_xml(xmlNode *args_xml, pe_action_t *action); action 585 lib/pacemaker/libpacemaker_private.h enum pe_action_flags pcmk__primitive_action_flags(pe_action_t *action, action 631 lib/pacemaker/libpacemaker_private.h enum pe_action_flags pcmk__group_action_flags(pe_action_t *action, action 30 lib/pacemaker/pcmk_fence.c const char *action; action 98 lib/pacemaker/pcmk_fence.c pcmk__str_eq(hp->action, np->action, pcmk__str_none) && action 123 lib/pacemaker/pcmk_fence.c && pcmk__str_eq(async_fence_data.action, e->action, pcmk__str_none)) { action 161 lib/pacemaker/pcmk_fence.c async_fence_data.action, action 182 lib/pacemaker/pcmk_fence.c pcmk__request_fencing(stonith_t *st, const char *target, const char *action, action 192 lib/pacemaker/pcmk_fence.c async_fence_data.action = action; action 219 lib/pacemaker/pcmk_fence.c pcmk_request_fencing(stonith_t *st, const char *target, const char *action, action 223 lib/pacemaker/pcmk_fence.c return pcmk__request_fencing(st, target, action, name, timeout, tolerance, action 83 lib/pacemaker/pcmk_graph_consumer.c pcmk__graph_action_t *action = (pcmk__graph_action_t *) lpc->data; action 85 lib/pacemaker/pcmk_graph_consumer.c if (action->id == action_id) { action 88 lib/pacemaker/pcmk_graph_consumer.c pcmk__set_graph_action_flags(action, pcmk__graph_action_confirmed); action 90 lib/pacemaker/pcmk_graph_consumer.c } else if (all_confirmed && !(pcmk_is_set(action->flags, pcmk__graph_action_confirmed))) { action 111 lib/pacemaker/pcmk_graph_consumer.c pcmk__update_graph(pcmk__graph_t *graph, pcmk__graph_action_t *action) action 120 lib/pacemaker/pcmk_graph_consumer.c update_synapse_confirmed(synapse, action->id); action 122 lib/pacemaker/pcmk_graph_consumer.c } else if (!(pcmk_is_set(action->flags, pcmk__graph_action_failed)) || (synapse->priority == INFINITY)) { action 123 lib/pacemaker/pcmk_graph_consumer.c update_synapse_ready(synapse, action->id); action 227 lib/pacemaker/pcmk_graph_consumer.c initiate_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) action 229 lib/pacemaker/pcmk_graph_consumer.c const char *id = ID(action->xml); action 232 lib/pacemaker/pcmk_graph_consumer.c CRM_CHECK(!pcmk_is_set(action->flags, pcmk__graph_action_executed), action 235 lib/pacemaker/pcmk_graph_consumer.c pcmk__set_graph_action_flags(action, pcmk__graph_action_executed); action 236 lib/pacemaker/pcmk_graph_consumer.c switch (action->type) { action 238 lib/pacemaker/pcmk_graph_consumer.c crm_trace("Executing pseudo-action %d (%s)", action->id, id); action 239 lib/pacemaker/pcmk_graph_consumer.c return graph_fns->pseudo(graph, action); action 242 lib/pacemaker/pcmk_graph_consumer.c crm_trace("Executing resource action %d (%s)", action->id, id); action 243 lib/pacemaker/pcmk_graph_consumer.c return graph_fns->rsc(graph, action); action 246 lib/pacemaker/pcmk_graph_consumer.c if (pcmk__str_eq(crm_element_value(action->xml, XML_LRM_ATTR_TASK), action 249 lib/pacemaker/pcmk_graph_consumer.c action->id, id); action 250 lib/pacemaker/pcmk_graph_consumer.c return graph_fns->fence(graph, action); action 252 lib/pacemaker/pcmk_graph_consumer.c crm_trace("Executing cluster action %d (%s)", action->id, id); action 253 lib/pacemaker/pcmk_graph_consumer.c return graph_fns->cluster(graph, action); action 257 lib/pacemaker/pcmk_graph_consumer.c crm_element_name(action->xml), id); action 276 lib/pacemaker/pcmk_graph_consumer.c pcmk__graph_action_t *action = (pcmk__graph_action_t *) lpc->data; action 277 lib/pacemaker/pcmk_graph_consumer.c int rc = initiate_action(graph, action); action 281 lib/pacemaker/pcmk_graph_consumer.c crm_element_name(action->xml), action->id, synapse->id, action 284 lib/pacemaker/pcmk_graph_consumer.c pcmk__set_graph_action_flags(action, action 305 lib/pacemaker/pcmk_graph_consumer.c pseudo_action_dummy(pcmk__graph_t * graph, pcmk__graph_action_t *action) action 320 lib/pacemaker/pcmk_graph_consumer.c if (action->id == fail) { action 321 lib/pacemaker/pcmk_graph_consumer.c crm_err("Dummy event handler: pretending action %d failed", action->id); action 322 lib/pacemaker/pcmk_graph_consumer.c pcmk__set_graph_action_flags(action, pcmk__graph_action_failed); action 325 lib/pacemaker/pcmk_graph_consumer.c crm_trace("Dummy event handler: action %d initiated", action->id); action 327 lib/pacemaker/pcmk_graph_consumer.c pcmk__set_graph_action_flags(action, pcmk__graph_action_confirmed); action 328 lib/pacemaker/pcmk_graph_consumer.c pcmk__update_graph(graph, action); action 470 lib/pacemaker/pcmk_graph_consumer.c pcmk__graph_action_t *action = NULL; action 498 lib/pacemaker/pcmk_graph_consumer.c action = calloc(1, sizeof(pcmk__graph_action_t)); action 499 lib/pacemaker/pcmk_graph_consumer.c if (action == NULL) { action 505 lib/pacemaker/pcmk_graph_consumer.c pcmk__scan_min_int(value, &(action->id), -1); action 506 lib/pacemaker/pcmk_graph_consumer.c action->type = pcmk__rsc_graph_action; action 507 lib/pacemaker/pcmk_graph_consumer.c action->xml = copy_xml(xml_action); action 508 lib/pacemaker/pcmk_graph_consumer.c action->synapse = parent; action 509 lib/pacemaker/pcmk_graph_consumer.c action->type = action_type; action 510 lib/pacemaker/pcmk_graph_consumer.c action->params = xml2list(action->xml); action 512 lib/pacemaker/pcmk_graph_consumer.c value = g_hash_table_lookup(action->params, "CRM_meta_timeout"); action 513 lib/pacemaker/pcmk_graph_consumer.c pcmk__scan_min_int(value, &(action->timeout), 0); action 516 lib/pacemaker/pcmk_graph_consumer.c value = g_hash_table_lookup(action->params, "CRM_meta_start_delay"); action 521 lib/pacemaker/pcmk_graph_consumer.c action->timeout += start_delay; action 524 lib/pacemaker/pcmk_graph_consumer.c if (pcmk__guint_from_hash(action->params, action 526 lib/pacemaker/pcmk_graph_consumer.c &(action->interval_ms)) != pcmk_rc_ok) { action 527 lib/pacemaker/pcmk_graph_consumer.c action->interval_ms = 0; action 530 lib/pacemaker/pcmk_graph_consumer.c value = g_hash_table_lookup(action->params, "CRM_meta_can_fail"); action 536 lib/pacemaker/pcmk_graph_consumer.c pcmk__set_graph_action_flags(action, pcmk__graph_action_can_fail); action 538 lib/pacemaker/pcmk_graph_consumer.c pcmk__clear_graph_action_flags(action, pcmk__graph_action_can_fail); action 542 lib/pacemaker/pcmk_graph_consumer.c if (pcmk_is_set(action->flags, pcmk__graph_action_can_fail)) { action 549 lib/pacemaker/pcmk_graph_consumer.c crm_trace("Action %d has timer set to %dms", action->id, action->timeout); action 551 lib/pacemaker/pcmk_graph_consumer.c return action; action 593 lib/pacemaker/pcmk_graph_consumer.c for (xmlNode *action = pcmk__xml_first_child(action_set); action 594 lib/pacemaker/pcmk_graph_consumer.c action != NULL; action = pcmk__xml_next(action)) { action 597 lib/pacemaker/pcmk_graph_consumer.c action); action 755 lib/pacemaker/pcmk_graph_consumer.c pcmk__graph_action_t *action = user_data; action 757 lib/pacemaker/pcmk_graph_consumer.c if (action->timer != 0) { action 758 lib/pacemaker/pcmk_graph_consumer.c crm_warn("Cancelling timer for graph action %d", action->id); action 759 lib/pacemaker/pcmk_graph_consumer.c g_source_remove(action->timer); action 761 lib/pacemaker/pcmk_graph_consumer.c if (action->params != NULL) { action 762 lib/pacemaker/pcmk_graph_consumer.c g_hash_table_destroy(action->params); action 764 lib/pacemaker/pcmk_graph_consumer.c free_xml(action->xml); action 765 lib/pacemaker/pcmk_graph_consumer.c free(action); action 819 lib/pacemaker/pcmk_graph_consumer.c const pcmk__graph_action_t *action, action 828 lib/pacemaker/pcmk_graph_consumer.c CRM_CHECK(action != NULL, return NULL); action 829 lib/pacemaker/pcmk_graph_consumer.c CRM_CHECK(action->type == pcmk__rsc_graph_action, return NULL); action 831 lib/pacemaker/pcmk_graph_consumer.c action_resource = first_named_child(action->xml, XML_CIB_TAG_RESOURCE); action 832 lib/pacemaker/pcmk_graph_consumer.c CRM_CHECK(action_resource != NULL, crm_log_xml_warn(action->xml, "invalid"); action 836 lib/pacemaker/pcmk_graph_consumer.c crm_element_value(action->xml, XML_LRM_ATTR_TASK), action 837 lib/pacemaker/pcmk_graph_consumer.c action->interval_ms); action 843 lib/pacemaker/pcmk_graph_consumer.c g_hash_table_iter_init(&iter, action->params); action 77 lib/pacemaker/pcmk_graph_logging.c pcmk__graph_action_t *action = (pcmk__graph_action_t *) aIter->data; action 79 lib/pacemaker/pcmk_graph_logging.c if (action->id == id) { action 80 lib/pacemaker/pcmk_graph_logging.c return action; action 162 lib/pacemaker/pcmk_graph_logging.c pcmk__graph_action_t *action, const char *pending_inputs) action 164 lib/pacemaker/pcmk_graph_logging.c const char *key = crm_element_value(action->xml, XML_LRM_ATTR_TASK_KEY); action 165 lib/pacemaker/pcmk_graph_logging.c const char *host = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 168 lib/pacemaker/pcmk_graph_logging.c actiontype2text(action->type), key); action 172 lib/pacemaker/pcmk_graph_logging.c action->id, desc, (host? " on " : ""), (host? host : ""), action 207 lib/pacemaker/pcmk_graph_logging.c pcmk__log_graph_action(int log_level, pcmk__graph_action_t *action) action 209 lib/pacemaker/pcmk_graph_logging.c log_synapse(log_level, NULL, action->synapse); action 116 lib/pacemaker/pcmk_graph_producer.c pe_action_t *action = NULL; action 120 lib/pacemaker/pcmk_graph_producer.c action = get_pseudo_op(CRM_OP_MAINTENANCE_NODES, data_set); action 121 lib/pacemaker/pcmk_graph_producer.c pe__set_action_flags(action, pe_action_print_always); action 138 lib/pacemaker/pcmk_graph_producer.c add_downed_nodes(xmlNode *xml, const pe_action_t *action, action 141 lib/pacemaker/pcmk_graph_producer.c CRM_CHECK(xml && action && action->node && data_set, return); action 143 lib/pacemaker/pcmk_graph_producer.c if (pcmk__str_eq(action->task, CRM_OP_SHUTDOWN, pcmk__str_casei)) { action 147 lib/pacemaker/pcmk_graph_producer.c add_node_to_xml_by_id(action->node->details->id, downed); action 149 lib/pacemaker/pcmk_graph_producer.c } else if (pcmk__str_eq(action->task, CRM_OP_FENCE, pcmk__str_casei)) { action 152 lib/pacemaker/pcmk_graph_producer.c const char *fence = g_hash_table_lookup(action->meta, "stonith_action"); action 156 lib/pacemaker/pcmk_graph_producer.c add_node_to_xml_by_id(action->node->details->id, downed); action 157 lib/pacemaker/pcmk_graph_producer.c pe_foreach_guest_node(data_set, action->node, add_node_to_xml, downed); action 160 lib/pacemaker/pcmk_graph_producer.c } else if (action->rsc && action->rsc->is_remote_node action 161 lib/pacemaker/pcmk_graph_producer.c && pcmk__str_eq(action->task, CRMD_ACTION_STOP, pcmk__str_casei)) { action 170 lib/pacemaker/pcmk_graph_producer.c for (iter = action->actions_before; iter != NULL; iter = iter->next) { action 171 lib/pacemaker/pcmk_graph_producer.c input = ((pe_action_wrapper_t *) iter->data)->action; action 172 lib/pacemaker/pcmk_graph_producer.c if (input->rsc && pcmk__str_eq(action->rsc->id, input->rsc->id, pcmk__str_casei) action 180 lib/pacemaker/pcmk_graph_producer.c add_node_to_xml_by_id(action->rsc->id, downed); action 195 lib/pacemaker/pcmk_graph_producer.c clone_op_key(pe_action_t *action, guint interval_ms) action 197 lib/pacemaker/pcmk_graph_producer.c if (pcmk__str_eq(action->task, RSC_NOTIFY, pcmk__str_none)) { action 198 lib/pacemaker/pcmk_graph_producer.c const char *n_type = g_hash_table_lookup(action->meta, "notify_type"); action 199 lib/pacemaker/pcmk_graph_producer.c const char *n_task = g_hash_table_lookup(action->meta, action 203 lib/pacemaker/pcmk_graph_producer.c return pcmk__notify_key(action->rsc->clone_name, n_type, n_task); action 205 lib/pacemaker/pcmk_graph_producer.c } else if (action->cancel_task != NULL) { action 206 lib/pacemaker/pcmk_graph_producer.c return pcmk__op_key(action->rsc->clone_name, action->cancel_task, action 209 lib/pacemaker/pcmk_graph_producer.c return pcmk__op_key(action->rsc->clone_name, action->task, interval_ms); action 221 lib/pacemaker/pcmk_graph_producer.c add_node_details(pe_action_t *action, xmlNode *xml) action 223 lib/pacemaker/pcmk_graph_producer.c pe_node_t *router_node = pcmk__connection_host_for_action(action); action 225 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(xml, XML_LRM_ATTR_TARGET, action->node->details->uname); action 226 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(xml, XML_LRM_ATTR_TARGET_UUID, action->node->details->id); action 240 lib/pacemaker/pcmk_graph_producer.c add_resource_details(pe_action_t *action, xmlNode *action_xml) action 252 lib/pacemaker/pcmk_graph_producer.c if (pcmk__action_locks_rsc_to_node(action)) { action 254 lib/pacemaker/pcmk_graph_producer.c (long long) action->rsc->lock_time); action 259 lib/pacemaker/pcmk_graph_producer.c rsc_xml = create_xml_node(action_xml, crm_element_name(action->rsc->xml)); action 260 lib/pacemaker/pcmk_graph_producer.c if (pcmk_is_set(action->rsc->flags, pe_rsc_orphan) action 261 lib/pacemaker/pcmk_graph_producer.c && (action->rsc->clone_name != NULL)) { action 271 lib/pacemaker/pcmk_graph_producer.c action->rsc->id, action->rsc->clone_name); action 272 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(rsc_xml, XML_ATTR_ID, action->rsc->clone_name); action 273 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->id); action 275 lib/pacemaker/pcmk_graph_producer.c } else if (!pcmk_is_set(action->rsc->flags, pe_rsc_unique)) { action 276 lib/pacemaker/pcmk_graph_producer.c const char *xml_id = ID(action->rsc->xml); action 279 lib/pacemaker/pcmk_graph_producer.c xml_id, action->rsc->id, action->rsc->clone_name); action 295 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc->clone_name != NULL) action 296 lib/pacemaker/pcmk_graph_producer.c && !pcmk__str_eq(xml_id, action->rsc->clone_name, action 298 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->clone_name); action 300 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->id); action 304 lib/pacemaker/pcmk_graph_producer.c CRM_ASSERT(action->rsc->clone_name == NULL); action 305 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(rsc_xml, XML_ATTR_ID, action->rsc->id); action 310 lib/pacemaker/pcmk_graph_producer.c g_hash_table_lookup(action->rsc->meta, attr_list[lpc])); action 322 lib/pacemaker/pcmk_graph_producer.c add_action_attributes(pe_action_t *action, xmlNode *action_xml) action 333 lib/pacemaker/pcmk_graph_producer.c g_hash_table_foreach(action->extra, hash2field, args_xml); action 335 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc != NULL) && (action->node != NULL)) { action 337 lib/pacemaker/pcmk_graph_producer.c GHashTable *params = pe_rsc_params(action->rsc, action->node, action 338 lib/pacemaker/pcmk_graph_producer.c action->rsc->cluster); action 340 lib/pacemaker/pcmk_graph_producer.c pcmk__substitute_remote_addr(action->rsc, params); action 344 lib/pacemaker/pcmk_graph_producer.c } else if ((action->rsc != NULL) && (action->rsc->variant <= pe_native)) { action 345 lib/pacemaker/pcmk_graph_producer.c GHashTable *params = pe_rsc_params(action->rsc, NULL, action 346 lib/pacemaker/pcmk_graph_producer.c action->rsc->cluster); action 351 lib/pacemaker/pcmk_graph_producer.c g_hash_table_foreach(action->meta, hash2metafield, args_xml); action 352 lib/pacemaker/pcmk_graph_producer.c if (action->rsc != NULL) { action 353 lib/pacemaker/pcmk_graph_producer.c pe_resource_t *parent = action->rsc; action 360 lib/pacemaker/pcmk_graph_producer.c pcmk__add_bundle_meta_to_xml(args_xml, action); action 362 lib/pacemaker/pcmk_graph_producer.c } else if (pcmk__str_eq(action->task, CRM_OP_FENCE, pcmk__str_none) action 363 lib/pacemaker/pcmk_graph_producer.c && (action->node != NULL)) { action 370 lib/pacemaker/pcmk_graph_producer.c g_hash_table_foreach(action->node->details->attrs, hash2metafield, args_xml); action 387 lib/pacemaker/pcmk_graph_producer.c create_graph_action(xmlNode *parent, pe_action_t *action, bool skip_details, action 394 lib/pacemaker/pcmk_graph_producer.c if ((action == NULL) || (data_set == NULL)) { action 400 lib/pacemaker/pcmk_graph_producer.c if (pcmk__str_eq(action->task, CRM_OP_FENCE, pcmk__str_casei)) { action 403 lib/pacemaker/pcmk_graph_producer.c pcmk_is_set(action->flags, pe_action_pseudo)? action 407 lib/pacemaker/pcmk_graph_producer.c } else if (pcmk__str_any_of(action->task, action 412 lib/pacemaker/pcmk_graph_producer.c } else if (pcmk__str_eq(action->task, CRM_OP_LRM_DELETE, pcmk__str_none)) { action 417 lib/pacemaker/pcmk_graph_producer.c } else if (pcmk_is_set(action->flags, pe_action_pseudo)) { action 418 lib/pacemaker/pcmk_graph_producer.c if (pcmk__str_eq(action->task, CRM_OP_MAINTENANCE_NODES, action 429 lib/pacemaker/pcmk_graph_producer.c crm_xml_add_int(action_xml, XML_ATTR_ID, action->id); action 430 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(action_xml, XML_LRM_ATTR_TASK, action->task); action 432 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc != NULL) && (action->rsc->clone_name != NULL)) { action 436 lib/pacemaker/pcmk_graph_producer.c if (pcmk__guint_from_hash(action->meta, XML_LRM_ATTR_INTERVAL_MS, 0, action 440 lib/pacemaker/pcmk_graph_producer.c clone_key = clone_op_key(action, interval_ms); action 442 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(action_xml, "internal_" XML_LRM_ATTR_TASK_KEY, action->uuid); action 445 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(action_xml, XML_LRM_ATTR_TASK_KEY, action->uuid); action 448 lib/pacemaker/pcmk_graph_producer.c if (needs_node_info && (action->node != NULL)) { action 449 lib/pacemaker/pcmk_graph_producer.c add_node_details(action, action_xml); action 450 lib/pacemaker/pcmk_graph_producer.c g_hash_table_insert(action->meta, strdup(XML_LRM_ATTR_TARGET), action 451 lib/pacemaker/pcmk_graph_producer.c strdup(action->node->details->uname)); action 452 lib/pacemaker/pcmk_graph_producer.c g_hash_table_insert(action->meta, strdup(XML_LRM_ATTR_TARGET_UUID), action 453 lib/pacemaker/pcmk_graph_producer.c strdup(action->node->details->id)); action 460 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc != NULL) action 461 lib/pacemaker/pcmk_graph_producer.c && !pcmk_is_set(action->flags, pe_action_pseudo)) { action 464 lib/pacemaker/pcmk_graph_producer.c add_resource_details(action, action_xml); action 468 lib/pacemaker/pcmk_graph_producer.c add_action_attributes(action, action_xml); action 471 lib/pacemaker/pcmk_graph_producer.c if (needs_node_info && (action->node != NULL)) { action 472 lib/pacemaker/pcmk_graph_producer.c add_downed_nodes(action_xml, action, data_set); action 489 lib/pacemaker/pcmk_graph_producer.c should_add_action_to_graph(pe_action_t *action) action 491 lib/pacemaker/pcmk_graph_producer.c if (!pcmk_is_set(action->flags, pe_action_runnable)) { action 493 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id); action 497 lib/pacemaker/pcmk_graph_producer.c if (pcmk_is_set(action->flags, pe_action_optional) action 498 lib/pacemaker/pcmk_graph_producer.c && !pcmk_is_set(action->flags, pe_action_print_always)) { action 500 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id); action 507 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc != NULL) action 508 lib/pacemaker/pcmk_graph_producer.c && !pcmk_is_set(action->rsc->flags, pe_rsc_managed) action 509 lib/pacemaker/pcmk_graph_producer.c && !pcmk__str_eq(action->task, RSC_STATUS, pcmk__str_none)) { action 517 lib/pacemaker/pcmk_graph_producer.c interval_ms_s = g_hash_table_lookup(action->meta, action 521 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action->rsc->id); action 529 lib/pacemaker/pcmk_graph_producer.c if (pcmk_is_set(action->flags, pe_action_pseudo) action 530 lib/pacemaker/pcmk_graph_producer.c || pcmk__strcase_any_of(action->task, CRM_OP_FENCE, CRM_OP_SHUTDOWN, action 535 lib/pacemaker/pcmk_graph_producer.c if (action->node == NULL) { action 538 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id); action 539 lib/pacemaker/pcmk_graph_producer.c pcmk__log_action("Unallocated", action, false); action 543 lib/pacemaker/pcmk_graph_producer.c if (pcmk_is_set(action->flags, pe_action_dc)) { action 546 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, pe__node_name(action->node)); action 548 lib/pacemaker/pcmk_graph_producer.c } else if (pe__is_guest_node(action->node) action 549 lib/pacemaker/pcmk_graph_producer.c && !action->node->details->remote_requires_reset) { action 552 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, pe__node_name(action->node)); action 554 lib/pacemaker/pcmk_graph_producer.c } else if (!action->node->details->online) { action 557 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id); action 558 lib/pacemaker/pcmk_graph_producer.c pcmk__log_action("Offline node", action, false); action 561 lib/pacemaker/pcmk_graph_producer.c } else if (action->node->details->unclean) { action 564 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id); action 565 lib/pacemaker/pcmk_graph_producer.c pcmk__log_action("Unclean node", action, false); action 599 lib/pacemaker/pcmk_graph_producer.c should_add_input_to_graph(pe_action_t *action, pe_action_wrapper_t *input) action 608 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 609 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id); action 612 lib/pacemaker/pcmk_graph_producer.c } else if (!pcmk_is_set(input->action->flags, pe_action_runnable) action 616 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 617 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id); action 620 lib/pacemaker/pcmk_graph_producer.c } else if (!pcmk_is_set(input->action->flags, pe_action_runnable) action 624 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 625 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id); action 629 lib/pacemaker/pcmk_graph_producer.c && !pcmk_is_set(input->action->flags, pe_action_runnable)) { action 632 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 633 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id); action 637 lib/pacemaker/pcmk_graph_producer.c && pcmk_is_set(input->action->flags, pe_action_migrate_runnable)) { action 640 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 641 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id); action 645 lib/pacemaker/pcmk_graph_producer.c && pcmk_is_set(input->action->flags, pe_action_migrate_runnable) action 646 lib/pacemaker/pcmk_graph_producer.c && pcmk__ends_with(input->action->uuid, "_stop_0")) { action 649 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 650 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id); action 654 lib/pacemaker/pcmk_graph_producer.c pe_node_t *input_node = input->action->node; action 658 lib/pacemaker/pcmk_graph_producer.c if (action->rsc && pcmk__str_eq(action->task, RSC_MIGRATE, pcmk__str_casei)) { action 659 lib/pacemaker/pcmk_graph_producer.c pe_node_t *allocated = action->rsc->allocated_to; action 668 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 669 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id, action 676 lib/pacemaker/pcmk_graph_producer.c } else if ((input_node == NULL) || (action->node == NULL) action 677 lib/pacemaker/pcmk_graph_producer.c || (input_node->details != action->node->details)) { action 680 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 681 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id, action 682 lib/pacemaker/pcmk_graph_producer.c (action->node? action->node->details->uname : "<none>"), action 687 lib/pacemaker/pcmk_graph_producer.c } else if (pcmk_is_set(input->action->flags, pe_action_optional)) { action 690 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 691 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id); action 697 lib/pacemaker/pcmk_graph_producer.c if (input->action->node && action->node action 698 lib/pacemaker/pcmk_graph_producer.c && (input->action->node->details != action->node->details)) { action 701 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 702 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id, action 703 lib/pacemaker/pcmk_graph_producer.c pe__node_name(action->node), action 704 lib/pacemaker/pcmk_graph_producer.c pe__node_name(input->action->node)); action 708 lib/pacemaker/pcmk_graph_producer.c } else if (pcmk_is_set(input->action->flags, pe_action_optional)) { action 711 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 712 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id); action 717 lib/pacemaker/pcmk_graph_producer.c } else if (input->action->rsc action 718 lib/pacemaker/pcmk_graph_producer.c && input->action->rsc != action->rsc action 719 lib/pacemaker/pcmk_graph_producer.c && pcmk_is_set(input->action->rsc->flags, pe_rsc_failed) action 720 lib/pacemaker/pcmk_graph_producer.c && !pcmk_is_set(input->action->rsc->flags, pe_rsc_managed) action 721 lib/pacemaker/pcmk_graph_producer.c && pcmk__ends_with(input->action->uuid, "_stop_0") action 722 lib/pacemaker/pcmk_graph_producer.c && action->rsc && pe_rsc_is_clone(action->rsc)) { action 725 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, action->uuid); action 728 lib/pacemaker/pcmk_graph_producer.c } else if (pcmk_is_set(input->action->flags, pe_action_optional) action 729 lib/pacemaker/pcmk_graph_producer.c && !pcmk_any_flags_set(input->action->flags, action 731 lib/pacemaker/pcmk_graph_producer.c && !should_add_action_to_graph(input->action)) { action 734 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action 735 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id); action 740 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action_type_str(input->action->flags), action 741 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, input->action->id, action 742 lib/pacemaker/pcmk_graph_producer.c action_node_str(input->action), action 743 lib/pacemaker/pcmk_graph_producer.c action_runnable_str(input->action->flags), action 744 lib/pacemaker/pcmk_graph_producer.c action_optional_str(input->action->flags), input->type); action 761 lib/pacemaker/pcmk_graph_producer.c pcmk__graph_has_loop(pe_action_t *init_action, pe_action_t *action, action 766 lib/pacemaker/pcmk_graph_producer.c if (pcmk_is_set(input->action->flags, pe_action_tracking)) { action 768 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, action 769 lib/pacemaker/pcmk_graph_producer.c input->action->node? input->action->node->details->uname : "", action 770 lib/pacemaker/pcmk_graph_producer.c action->uuid, action 771 lib/pacemaker/pcmk_graph_producer.c action->node? action->node->details->uname : "", action 777 lib/pacemaker/pcmk_graph_producer.c if (!should_add_input_to_graph(action, input)) { action 781 lib/pacemaker/pcmk_graph_producer.c if (input->action == init_action) { action 783 lib/pacemaker/pcmk_graph_producer.c action->uuid, action 784 lib/pacemaker/pcmk_graph_producer.c action->node? action->node->details->uname : "", action 790 lib/pacemaker/pcmk_graph_producer.c pe__set_action_flags(input->action, pe_action_tracking); action 794 lib/pacemaker/pcmk_graph_producer.c action->uuid, action 795 lib/pacemaker/pcmk_graph_producer.c action->node? action->node->details->uname : "", action 796 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, action 797 lib/pacemaker/pcmk_graph_producer.c input->action->node? input->action->node->details->uname : "", action 803 lib/pacemaker/pcmk_graph_producer.c for (GList *iter = input->action->actions_before; action 806 lib/pacemaker/pcmk_graph_producer.c if (pcmk__graph_has_loop(init_action, input->action, action 814 lib/pacemaker/pcmk_graph_producer.c pe__clear_action_flags(input->action, pe_action_tracking); action 818 lib/pacemaker/pcmk_graph_producer.c input->action->uuid, action 819 lib/pacemaker/pcmk_graph_producer.c input->action->node? input->action->node->details->uname : "", action 820 lib/pacemaker/pcmk_graph_producer.c action->uuid, action 821 lib/pacemaker/pcmk_graph_producer.c action->node? action->node->details->uname : "", action 837 lib/pacemaker/pcmk_graph_producer.c create_graph_synapse(pe_action_t *action, pe_working_set_t *data_set) action 845 lib/pacemaker/pcmk_graph_producer.c if (action->rsc != NULL) { action 846 lib/pacemaker/pcmk_graph_producer.c synapse_priority = action->rsc->priority; action 848 lib/pacemaker/pcmk_graph_producer.c if (action->priority > synapse_priority) { action 849 lib/pacemaker/pcmk_graph_producer.c synapse_priority = action->priority; action 876 lib/pacemaker/pcmk_graph_producer.c pe_action_t *action = (pe_action_t *) data; action 887 lib/pacemaker/pcmk_graph_producer.c if (!pcmk_is_set(action->flags, pe_action_dedup)) { action 888 lib/pacemaker/pcmk_graph_producer.c pcmk__deduplicate_action_inputs(action); action 889 lib/pacemaker/pcmk_graph_producer.c pe__set_action_flags(action, pe_action_dedup); action 892 lib/pacemaker/pcmk_graph_producer.c if (pcmk_is_set(action->flags, pe_action_dumped) // Already added, or action 893 lib/pacemaker/pcmk_graph_producer.c || !should_add_action_to_graph(action)) { // shouldn't be added action 896 lib/pacemaker/pcmk_graph_producer.c pe__set_action_flags(action, pe_action_dumped); action 899 lib/pacemaker/pcmk_graph_producer.c action->id, action->uuid, action 900 lib/pacemaker/pcmk_graph_producer.c ((action->node == NULL)? "" : " on "), action 901 lib/pacemaker/pcmk_graph_producer.c ((action->node == NULL)? "" : action->node->details->uname)); action 903 lib/pacemaker/pcmk_graph_producer.c syn = create_graph_synapse(action, data_set); action 907 lib/pacemaker/pcmk_graph_producer.c create_graph_action(set, action, false, data_set); action 909 lib/pacemaker/pcmk_graph_producer.c for (GList *lpc = action->actions_before; lpc != NULL; lpc = lpc->next) { action 912 lib/pacemaker/pcmk_graph_producer.c if (should_add_input_to_graph(action, input)) { action 916 lib/pacemaker/pcmk_graph_producer.c create_graph_action(input_xml, input->action, true, data_set); action 1050 lib/pacemaker/pcmk_graph_producer.c pe_action_t *action = (pe_action_t *) iter->data; action 1052 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc != NULL) action 1053 lib/pacemaker/pcmk_graph_producer.c && (action->node != NULL) action 1054 lib/pacemaker/pcmk_graph_producer.c && action->node->details->shutdown action 1055 lib/pacemaker/pcmk_graph_producer.c && !pcmk_is_set(action->rsc->flags, pe_rsc_maintenance) action 1056 lib/pacemaker/pcmk_graph_producer.c && !pcmk_any_flags_set(action->flags, action 1058 lib/pacemaker/pcmk_graph_producer.c && pcmk__str_eq(action->task, RSC_STOP, pcmk__str_none)) { action 1066 lib/pacemaker/pcmk_graph_producer.c action->node->details->unclean? "fence" : "shut down", action 1067 lib/pacemaker/pcmk_graph_producer.c pe__node_name(action->node), action->rsc->id, action 1068 lib/pacemaker/pcmk_graph_producer.c pcmk_is_set(action->rsc->flags, pe_rsc_managed)? " blocked" : " unmanaged", action 1069 lib/pacemaker/pcmk_graph_producer.c pcmk_is_set(action->rsc->flags, pe_rsc_failed)? " failed" : "", action 1070 lib/pacemaker/pcmk_graph_producer.c action->uuid); action 1074 lib/pacemaker/pcmk_graph_producer.c add_action_to_graph((gpointer) action, (gpointer) data_set); action 112 lib/pacemaker/pcmk_output.c pe_action_t *action = va_arg(args, pe_action_t *); action 125 lib/pacemaker/pcmk_output.c CRM_ASSERT(action); action 129 lib/pacemaker/pcmk_output.c source = action; action 208 lib/pacemaker/pcmk_output.c if(source->reason && !pcmk_is_set(action->flags, pe_action_runnable)) { action 214 lib/pacemaker/pcmk_output.c } else if (!pcmk_is_set(action->flags, pe_action_runnable)) { action 237 lib/pacemaker/pcmk_output.c pe_action_t *action = va_arg(args, pe_action_t *); action 247 lib/pacemaker/pcmk_output.c CRM_ASSERT(action); action 251 lib/pacemaker/pcmk_output.c source = action; action 341 lib/pacemaker/pcmk_output.c if (source->reason && !pcmk_is_set(action->flags, pe_action_runnable)) { action 350 lib/pacemaker/pcmk_output.c } else if (!pcmk_is_set(action->flags, pe_action_runnable)) { action 1434 lib/pacemaker/pcmk_output.c const char *action = va_arg(args, const char *); action 1441 lib/pacemaker/pcmk_output.c if (pcmk__str_eq(action, "Online", pcmk__str_none)) { action 1444 lib/pacemaker/pcmk_output.c } else if (pcmk__str_eq(action, "Offline", pcmk__str_none)) { action 1447 lib/pacemaker/pcmk_output.c } else if (pcmk__str_eq(action, "Failing", pcmk__str_none)) { action 1459 lib/pacemaker/pcmk_output.c const char *action = va_arg(args, const char *); action 1467 lib/pacemaker/pcmk_output.c "action", action, action 1477 lib/pacemaker/pcmk_output.c const char *action = va_arg(args, const char *); action 1484 lib/pacemaker/pcmk_output.c if (pcmk__str_eq(action, "Standby", pcmk__str_none)) { action 1487 lib/pacemaker/pcmk_output.c out->list_item(out, NULL, "%s ticket %s", action, ticket); action 1497 lib/pacemaker/pcmk_output.c const char *action = va_arg(args, const char *); action 1505 lib/pacemaker/pcmk_output.c "action", action, action 31 lib/pacemaker/pcmk_sched_actions.c action_flags_for_ordering(pe_action_t *action, pe_node_t *node) action 37 lib/pacemaker/pcmk_sched_actions.c if (action->rsc == NULL) { action 38 lib/pacemaker/pcmk_sched_actions.c return action->flags; action 45 lib/pacemaker/pcmk_sched_actions.c flags = action->rsc->cmds->action_flags(action, NULL); action 46 lib/pacemaker/pcmk_sched_actions.c if ((node == NULL) || !pe_rsc_is_clone(action->rsc)) { action 56 lib/pacemaker/pcmk_sched_actions.c flags = action->rsc->cmds->action_flags(action, node); action 67 lib/pacemaker/pcmk_sched_actions.c pe__set_raw_action_flags(flags, action->rsc->id, action 185 lib/pacemaker/pcmk_sched_actions.c action_for_ordering(pe_action_t *action) action 187 lib/pacemaker/pcmk_sched_actions.c pe_action_t *result = action; action 188 lib/pacemaker/pcmk_sched_actions.c pe_resource_t *rsc = action->rsc; action 190 lib/pacemaker/pcmk_sched_actions.c if ((rsc != NULL) && (rsc->variant >= pe_group) && (action->uuid != NULL)) { action 191 lib/pacemaker/pcmk_sched_actions.c char *uuid = action_uuid_for_ordering(action->uuid, rsc); action 196 lib/pacemaker/pcmk_sched_actions.c "remapped action", action->uuid, uuid, rsc->id); action 197 lib/pacemaker/pcmk_sched_actions.c result = action; action 534 lib/pacemaker/pcmk_sched_actions.c pe_action_t *first = other->action; action 568 lib/pacemaker/pcmk_sched_actions.c other->action->uuid, pe__node_name(first_node), action 583 lib/pacemaker/pcmk_sched_actions.c pe__set_action_flags(other->action, pe_action_optional); action 593 lib/pacemaker/pcmk_sched_actions.c if (first != other->action) { action 595 lib/pacemaker/pcmk_sched_actions.c then->uuid, first->uuid, other->action->uuid); action 603 lib/pacemaker/pcmk_sched_actions.c if (first == other->action) { action 627 lib/pacemaker/pcmk_sched_actions.c other->action->uuid, then->uuid, first->uuid, action 640 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(other->action, data_set); action 665 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(other->action, data_set); action 671 lib/pacemaker/pcmk_sched_actions.c is_primitive_action(pe_action_t *action) action 673 lib/pacemaker/pcmk_sched_actions.c return action && action->rsc && (action->rsc->variant == pe_native); action 684 lib/pacemaker/pcmk_sched_actions.c #define clear_action_flag_because(action, flag, reason) do { \ action 685 lib/pacemaker/pcmk_sched_actions.c if (pcmk_is_set((action)->flags, (flag))) { \ action 686 lib/pacemaker/pcmk_sched_actions.c pe__clear_action_flags(action, flag); \ action 687 lib/pacemaker/pcmk_sched_actions.c if ((action)->rsc != (reason)->rsc) { \ action 689 lib/pacemaker/pcmk_sched_actions.c pe_action_set_reason((action), reason_text, \ action 956 lib/pacemaker/pcmk_sched_actions.c pcmk__log_action(const char *pre_text, pe_action_t *action, bool details) action 962 lib/pacemaker/pcmk_sched_actions.c CRM_CHECK(action != NULL, return); action 964 lib/pacemaker/pcmk_sched_actions.c if (!pcmk_is_set(action->flags, pe_action_pseudo)) { action 965 lib/pacemaker/pcmk_sched_actions.c if (action->node != NULL) { action 966 lib/pacemaker/pcmk_sched_actions.c node_uname = action->node->details->uname; action 967 lib/pacemaker/pcmk_sched_actions.c node_uuid = action->node->details->id; action 973 lib/pacemaker/pcmk_sched_actions.c switch (text2task(action->task)) { action 976 lib/pacemaker/pcmk_sched_actions.c if (pcmk_is_set(action->flags, pe_action_pseudo)) { action 978 lib/pacemaker/pcmk_sched_actions.c } else if (pcmk_is_set(action->flags, pe_action_optional)) { action 980 lib/pacemaker/pcmk_sched_actions.c } else if (!pcmk_is_set(action->flags, pe_action_runnable)) { action 982 lib/pacemaker/pcmk_sched_actions.c } else if (pcmk_is_set(action->flags, pe_action_processed)) { action 990 lib/pacemaker/pcmk_sched_actions.c desc, action->id, action->uuid, action 996 lib/pacemaker/pcmk_sched_actions.c if (pcmk_is_set(action->flags, pe_action_optional)) { action 998 lib/pacemaker/pcmk_sched_actions.c } else if (pcmk_is_set(action->flags, pe_action_pseudo)) { action 1000 lib/pacemaker/pcmk_sched_actions.c } else if (!pcmk_is_set(action->flags, pe_action_runnable)) { action 1002 lib/pacemaker/pcmk_sched_actions.c } else if (pcmk_is_set(action->flags, pe_action_processed)) { action 1010 lib/pacemaker/pcmk_sched_actions.c desc, action->id, action->uuid, action 1011 lib/pacemaker/pcmk_sched_actions.c (action->rsc? action->rsc->id : "<none>"), action 1022 lib/pacemaker/pcmk_sched_actions.c for (iter = action->actions_before; iter != NULL; iter = iter->next) { action 1025 lib/pacemaker/pcmk_sched_actions.c pcmk__log_action("\t\t", other->action, false); action 1028 lib/pacemaker/pcmk_sched_actions.c for (iter = action->actions_after; iter != NULL; iter = iter->next) { action 1031 lib/pacemaker/pcmk_sched_actions.c pcmk__log_action("\t\t", other->action, false); action 1037 lib/pacemaker/pcmk_sched_actions.c g_list_length(action->actions_before), action 1038 lib/pacemaker/pcmk_sched_actions.c g_list_length(action->actions_after)); action 1296 lib/pacemaker/pcmk_sched_actions.c pcmk__action_locks_rsc_to_node(const pe_action_t *action) action 1299 lib/pacemaker/pcmk_sched_actions.c if ((action == NULL) || (action->rsc == NULL) action 1300 lib/pacemaker/pcmk_sched_actions.c || (action->rsc->lock_node == NULL) || (action->node == NULL) action 1301 lib/pacemaker/pcmk_sched_actions.c || (action->node->details != action->rsc->lock_node->details)) { action 1308 lib/pacemaker/pcmk_sched_actions.c if (action->node->details->shutdown && (action->task != NULL) action 1309 lib/pacemaker/pcmk_sched_actions.c && (strcmp(action->task, RSC_STOP) != 0)) { action 1329 lib/pacemaker/pcmk_sched_actions.c if (action_wrapper1->action->id < action_wrapper2->action->id) { action 1332 lib/pacemaker/pcmk_sched_actions.c if (action_wrapper1->action->id > action_wrapper2->action->id) { action 1345 lib/pacemaker/pcmk_sched_actions.c pcmk__deduplicate_action_inputs(pe_action_t *action) action 1351 lib/pacemaker/pcmk_sched_actions.c action->actions_before = g_list_sort(action->actions_before, action 1353 lib/pacemaker/pcmk_sched_actions.c for (item = action->actions_before; item != NULL; item = next) { action 1358 lib/pacemaker/pcmk_sched_actions.c && (input->action->id == last_input->action->id)) { action 1360 lib/pacemaker/pcmk_sched_actions.c input->action->uuid, input->action->id, action 1361 lib/pacemaker/pcmk_sched_actions.c action->uuid, action->id); action 1373 lib/pacemaker/pcmk_sched_actions.c action->actions_before = g_list_delete_link(action->actions_before, action 1397 lib/pacemaker/pcmk_sched_actions.c pe_action_t *action = (pe_action_t *) iter->data; action 1399 lib/pacemaker/pcmk_sched_actions.c if (action->rsc != NULL) { action 1402 lib/pacemaker/pcmk_sched_actions.c } else if (pcmk_is_set(action->flags, pe_action_optional)) { action 1406 lib/pacemaker/pcmk_sched_actions.c if (pcmk__str_eq(action->task, CRM_OP_SHUTDOWN, pcmk__str_casei)) { action 1409 lib/pacemaker/pcmk_sched_actions.c } else if (pcmk__str_eq(action->task, CRM_OP_FENCE, pcmk__str_casei)) { action 1410 lib/pacemaker/pcmk_sched_actions.c const char *op = g_hash_table_lookup(action->meta, "stonith_action"); action 1418 lib/pacemaker/pcmk_sched_actions.c if (pe__is_guest_node(action->node)) { action 1420 lib/pacemaker/pcmk_sched_actions.c pe__node_name(action->node), action 1421 lib/pacemaker/pcmk_sched_actions.c action->node->details->remote_rsc->container->id); action 1422 lib/pacemaker/pcmk_sched_actions.c } else if (action->node != NULL) { action 1423 lib/pacemaker/pcmk_sched_actions.c node_name = crm_strdup_printf("%s", pe__node_name(action->node)); action 1426 lib/pacemaker/pcmk_sched_actions.c out->message(out, "node-action", task, node_name, action->reason); action 500 lib/pacemaker/pcmk_sched_allocate.c add_nondc_fencing(GList *list, pe_action_t *action, pe_working_set_t *data_set) action 509 lib/pacemaker/pcmk_sched_allocate.c order_actions((pe_action_t *) list->data, action, pe_order_optional); action 511 lib/pacemaker/pcmk_sched_allocate.c return g_list_prepend(list, action); action 707 lib/pacemaker/pcmk_sched_allocate.c pe_action_t *action = (pe_action_t *) iter->data; action 709 lib/pacemaker/pcmk_sched_allocate.c if (!pcmk_any_flags_set(action->flags, flags)) { action 710 lib/pacemaker/pcmk_sched_allocate.c pcmk__log_action("\t", action, true); action 176 lib/pacemaker/pcmk_sched_bundle.c pe_action_t *action = NULL; action 208 lib/pacemaker/pcmk_sched_bundle.c action = pe__new_rsc_pseudo_action(rsc, RSC_PROMOTED, true, true); action 209 lib/pacemaker/pcmk_sched_bundle.c action->priority = INFINITY; action 213 lib/pacemaker/pcmk_sched_bundle.c action = pe__new_rsc_pseudo_action(rsc, RSC_DEMOTED, true, true); action 214 lib/pacemaker/pcmk_sched_bundle.c action->priority = INFINITY; action 545 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_action_flags(pe_action_t *action, const pe_node_t *node) action 551 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(data, action->rsc); action 553 lib/pacemaker/pcmk_sched_bundle.c enum action_tasks task = get_complex_task(data->child, action->task, TRUE); action 562 lib/pacemaker/pcmk_sched_bundle.c return summary_action_flags(action, data->child->children, node); action 568 lib/pacemaker/pcmk_sched_bundle.c containers = get_container_list(action->rsc); action 569 lib/pacemaker/pcmk_sched_bundle.c flags = summary_action_flags(action, containers, node); action 876 lib/pacemaker/pcmk_sched_bundle.c pcmk__update_action_for_orderings(next->action, action 387 lib/pacemaker/pcmk_sched_clone.c pe_action_t *action = (pe_action_t *) gIter->data; action 392 lib/pacemaker/pcmk_sched_clone.c } else if (pcmk_is_set(action->flags, pe_action_optional)) { action 393 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Skipping optional: %s", action->uuid); action 396 lib/pacemaker/pcmk_sched_clone.c } else if (!pcmk_any_flags_set(action->flags, action 398 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Skipping unrunnable: %s", action->uuid); action 401 lib/pacemaker/pcmk_sched_clone.c } else if (pcmk__str_eq(RSC_STOP, action->task, pcmk__str_casei)) { action 402 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Stopping due to: %s", action->uuid); action 405 lib/pacemaker/pcmk_sched_clone.c } else if (pcmk__str_eq(RSC_START, action->task, pcmk__str_casei)) { action 406 lib/pacemaker/pcmk_sched_clone.c if (!pcmk_is_set(action->flags, pe_action_runnable)) { action 408 lib/pacemaker/pcmk_sched_clone.c action->uuid, action 409 lib/pacemaker/pcmk_sched_clone.c pcmk_is_set(action->flags, pe_action_runnable), action 410 lib/pacemaker/pcmk_sched_clone.c pcmk_is_set(action->flags, pe_action_pseudo)); action 412 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Starting due to: %s", action->uuid); action 414 lib/pacemaker/pcmk_sched_clone.c action->uuid, action 415 lib/pacemaker/pcmk_sched_clone.c pcmk_is_set(action->flags, pe_action_runnable), action 416 lib/pacemaker/pcmk_sched_clone.c pcmk_is_set(action->flags, pe_action_pseudo)); action 823 lib/pacemaker/pcmk_sched_clone.c clone_child_action(pe_action_t * action) action 826 lib/pacemaker/pcmk_sched_clone.c pe_resource_t *child = (pe_resource_t *) action->rsc->children->data; action 828 lib/pacemaker/pcmk_sched_clone.c if (pcmk__strcase_any_of(action->task, "notify", "notified", NULL)) { action 833 lib/pacemaker/pcmk_sched_clone.c char *key = action->uuid; action 855 lib/pacemaker/pcmk_sched_clone.c result = get_complex_task(child, action->task, TRUE); action 860 lib/pacemaker/pcmk_sched_clone.c #define pe__clear_action_summary_flags(flags, action, flag) do { \ action 862 lib/pacemaker/pcmk_sched_clone.c "Action summary", action->rsc->id, \ action 867 lib/pacemaker/pcmk_sched_clone.c summary_action_flags(pe_action_t *action, GList *children, action 873 lib/pacemaker/pcmk_sched_clone.c enum action_tasks task = clone_child_action(action); action 882 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(action->rsc, "Checking for %s in %s on %s (%s)", task_s, child->id, action 889 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(child, "%s is mandatory because of %s", action->uuid, action 891 lib/pacemaker/pcmk_sched_clone.c pe__clear_action_summary_flags(flags, action, pe_action_optional); action 892 lib/pacemaker/pcmk_sched_clone.c pe__clear_action_flags(action, pe_action_optional); action 901 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(action->rsc, "%s is not runnable because no children are", action->uuid); action 902 lib/pacemaker/pcmk_sched_clone.c pe__clear_action_summary_flags(flags, action, pe_action_runnable); action 904 lib/pacemaker/pcmk_sched_clone.c pe__clear_action_flags(action, pe_action_runnable); action 912 lib/pacemaker/pcmk_sched_clone.c clone_action_flags(pe_action_t *action, const pe_node_t *node) action 914 lib/pacemaker/pcmk_sched_clone.c return summary_action_flags(action, action->rsc->children, node); action 805 lib/pacemaker/pcmk_sched_colocation.c pe_action_t *action = (pe_action_t *) gIter->data; action 807 lib/pacemaker/pcmk_sched_colocation.c if (pcmk_is_set(action->flags, pe_action_runnable) action 808 lib/pacemaker/pcmk_sched_colocation.c && pcmk__str_eq(action->task, task, pcmk__str_casei)) { action 810 lib/pacemaker/pcmk_sched_colocation.c pe__clear_action_flags(action, pe_action_runnable); action 811 lib/pacemaker/pcmk_sched_colocation.c pe_action_set_reason(action, reason_text, false); action 812 lib/pacemaker/pcmk_sched_colocation.c pcmk__block_colocation_dependents(action, rsc->cluster); action 813 lib/pacemaker/pcmk_sched_colocation.c pcmk__update_action_for_orderings(action, rsc->cluster); action 836 lib/pacemaker/pcmk_sched_colocation.c pcmk__block_colocation_dependents(pe_action_t *action, action 843 lib/pacemaker/pcmk_sched_colocation.c if (pcmk_is_set(action->flags, pe_action_runnable)) { action 847 lib/pacemaker/pcmk_sched_colocation.c is_start = pcmk__str_eq(action->task, RSC_START, pcmk__str_none); action 848 lib/pacemaker/pcmk_sched_colocation.c if (!is_start && !pcmk__str_eq(action->task, RSC_PROMOTE, pcmk__str_none)) { action 852 lib/pacemaker/pcmk_sched_colocation.c CRM_ASSERT(action->rsc != NULL); // Start and promote are resource actions action 858 lib/pacemaker/pcmk_sched_colocation.c rsc = uber_parent(action->rsc); action 871 lib/pacemaker/pcmk_sched_colocation.c action->task, NULL); action 877 lib/pacemaker/pcmk_sched_colocation.c rsc->id, child->id, action->task); action 883 lib/pacemaker/pcmk_sched_colocation.c rsc->id, action->rsc->id, action->task); action 906 lib/pacemaker/pcmk_sched_colocation.c action->rsc); action 908 lib/pacemaker/pcmk_sched_colocation.c mark_action_blocked(colocation->dependent, RSC_START, action->rsc); action 65 lib/pacemaker/pcmk_sched_fencing.c pe_action_t *action = (pe_action_t *) gIter->data; action 67 lib/pacemaker/pcmk_sched_fencing.c switch (action->needs) { action 73 lib/pacemaker/pcmk_sched_fencing.c order_actions(stonith_op, action, pe_order_optional); action 77 lib/pacemaker/pcmk_sched_fencing.c if (pcmk__str_eq(action->task, RSC_START, pcmk__str_casei) action 90 lib/pacemaker/pcmk_sched_fencing.c pe_rsc_debug(rsc, "Ordering %s after %s recovery", action->uuid, action 92 lib/pacemaker/pcmk_sched_fencing.c order_actions(stonith_op, action, action 143 lib/pacemaker/pcmk_sched_fencing.c pe_action_t *action = (pe_action_t *) gIter->data; action 146 lib/pacemaker/pcmk_sched_fencing.c pe__set_action_flags(action, pe_action_pseudo|pe_action_runnable); action 149 lib/pacemaker/pcmk_sched_fencing.c pe__set_action_flags(action, pe_action_implied_by_stonith); action 164 lib/pacemaker/pcmk_sched_fencing.c order_actions(stonith_op, action, pe_order_preserve); action 175 lib/pacemaker/pcmk_sched_fencing.c action->uuid, (order_implicit? "after" : "because"), action 180 lib/pacemaker/pcmk_sched_fencing.c pe__order_notifs_after_fencing(action, rsc, stonith_op); action 216 lib/pacemaker/pcmk_sched_fencing.c pe_action_t *action = (pe_action_t *) gIter->data; action 218 lib/pacemaker/pcmk_sched_fencing.c if (!(action->node->details->online) || action->node->details->unclean action 227 lib/pacemaker/pcmk_sched_fencing.c action->uuid, pe__node_name(target)); action 233 lib/pacemaker/pcmk_sched_fencing.c pe__set_action_flags(action, pe_action_pseudo|pe_action_runnable); action 239 lib/pacemaker/pcmk_sched_fencing.c order_actions(stonith_op, action, pe_order_preserve|pe_order_optional); action 309 lib/pacemaker/pcmk_sched_fencing.c pcmk__order_vs_unfence(pe_resource_t *rsc, pe_node_t *node, pe_action_t *action, action 330 lib/pacemaker/pcmk_sched_fencing.c order_actions(unfence, action, order); action 335 lib/pacemaker/pcmk_sched_fencing.c rsc->id, action->task); action 159 lib/pacemaker/pcmk_sched_group.c create_group_pseudo_op(pe_resource_t *group, const char *action) action 161 lib/pacemaker/pcmk_sched_group.c pe_action_t *op = custom_action(group, pcmk__op_key(group->id, action, 0), action 162 lib/pacemaker/pcmk_sched_group.c action, NULL, TRUE, TRUE, group->cluster); action 511 lib/pacemaker/pcmk_sched_group.c pcmk__group_action_flags(pe_action_t *action, const pe_node_t *node) action 518 lib/pacemaker/pcmk_sched_group.c CRM_ASSERT(action != NULL); action 521 lib/pacemaker/pcmk_sched_group.c for (GList *iter = action->rsc->children; iter != NULL; iter = iter->next) { action 525 lib/pacemaker/pcmk_sched_group.c enum action_tasks task = get_complex_task(member, action->task, TRUE); action 538 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(action->rsc, "%s is mandatory because %s is", action 539 lib/pacemaker/pcmk_sched_group.c action->uuid, member_action->uuid); action 542 lib/pacemaker/pcmk_sched_group.c pe__clear_action_flags(action, pe_action_optional); action 546 lib/pacemaker/pcmk_sched_group.c if (!pcmk__str_eq(task_s, action->task, pcmk__str_none) action 550 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(action->rsc, "%s is unrunnable because %s is", action 551 lib/pacemaker/pcmk_sched_group.c action->uuid, member_action->uuid); action 554 lib/pacemaker/pcmk_sched_group.c pe__clear_action_flags(action, pe_action_runnable); action 561 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(action->rsc, action 563 lib/pacemaker/pcmk_sched_group.c action->uuid, member->id, task_s); action 28 lib/pacemaker/pcmk_sched_migration.c add_migration_meta(pe_action_t *action, const pe_node_t *source, action 31 lib/pacemaker/pcmk_sched_migration.c add_hash_param(action->meta, XML_LRM_ATTR_MIGRATE_SOURCE, action 34 lib/pacemaker/pcmk_sched_migration.c add_hash_param(action->meta, XML_LRM_ATTR_MIGRATE_TARGET, action 233 lib/pacemaker/pcmk_sched_migration.c task_from_action_or_key(const pe_action_t *action, const char *key) action 237 lib/pacemaker/pcmk_sched_migration.c if (action != NULL) { action 238 lib/pacemaker/pcmk_sched_migration.c res = strdup(action->task); action 41 lib/pacemaker/pcmk_sched_ordering.c invert_action(const char *action) action 43 lib/pacemaker/pcmk_sched_ordering.c if (pcmk__str_eq(action, RSC_START, pcmk__str_casei)) { action 46 lib/pacemaker/pcmk_sched_ordering.c } else if (pcmk__str_eq(action, RSC_STOP, pcmk__str_casei)) { action 49 lib/pacemaker/pcmk_sched_ordering.c } else if (pcmk__str_eq(action, RSC_PROMOTE, pcmk__str_casei)) { action 52 lib/pacemaker/pcmk_sched_ordering.c } else if (pcmk__str_eq(action, RSC_DEMOTE, pcmk__str_casei)) { action 55 lib/pacemaker/pcmk_sched_ordering.c } else if (pcmk__str_eq(action, RSC_PROMOTED, pcmk__str_casei)) { action 58 lib/pacemaker/pcmk_sched_ordering.c } else if (pcmk__str_eq(action, RSC_DEMOTED, pcmk__str_casei)) { action 61 lib/pacemaker/pcmk_sched_ordering.c } else if (pcmk__str_eq(action, RSC_STARTED, pcmk__str_casei)) { action 64 lib/pacemaker/pcmk_sched_ordering.c } else if (pcmk__str_eq(action, RSC_STOPPED, pcmk__str_casei)) { action 67 lib/pacemaker/pcmk_sched_ordering.c crm_warn("Unknown action '%s' specified in order constraint", action); action 607 lib/pacemaker/pcmk_sched_ordering.c const char *action = crm_element_value(set, "action"); action 611 lib/pacemaker/pcmk_sched_ordering.c if (action == NULL) { action 612 lib/pacemaker/pcmk_sched_ordering.c action = RSC_START; action 625 lib/pacemaker/pcmk_sched_ordering.c flags = ordering_flags_for_kind(local_kind, action, symmetry); action 644 lib/pacemaker/pcmk_sched_ordering.c key = pcmk__op_key(resource->id, action, 0); action 651 lib/pacemaker/pcmk_sched_ordering.c char *then_key = pcmk__op_key(then_rsc->id, action, 0); action 659 lib/pacemaker/pcmk_sched_ordering.c pcmk__order_resource_actions(last, action, resource, action, action 672 lib/pacemaker/pcmk_sched_ordering.c action = invert_action(action); action 674 lib/pacemaker/pcmk_sched_ordering.c flags = ordering_flags_for_kind(local_kind, action, action 684 lib/pacemaker/pcmk_sched_ordering.c pcmk__order_resource_actions(resource, action, last, action, action 1068 lib/pacemaker/pcmk_sched_ordering.c ordering_is_invalid(pe_action_t *action, pe_action_wrapper_t *input) action 1074 lib/pacemaker/pcmk_sched_ordering.c && (input->action->rsc != NULL) action 1075 lib/pacemaker/pcmk_sched_ordering.c && pcmk__rsc_corresponds_to_guest(action->rsc, input->action->node)) { action 1078 lib/pacemaker/pcmk_sched_ordering.c input->action->rsc->id, action->rsc->id); action 1089 lib/pacemaker/pcmk_sched_ordering.c if ((input->type == pe_order_load) && action->rsc action 1090 lib/pacemaker/pcmk_sched_ordering.c && pcmk__str_eq(action->task, RSC_MIGRATE, pcmk__str_casei) action 1091 lib/pacemaker/pcmk_sched_ordering.c && pcmk__graph_has_loop(action, action, input)) { action 1102 lib/pacemaker/pcmk_sched_ordering.c pe_action_t *action = (pe_action_t *) iter->data; action 1105 lib/pacemaker/pcmk_sched_ordering.c for (GList *input_iter = action->actions_before; action 1109 lib/pacemaker/pcmk_sched_ordering.c if (ordering_is_invalid(action, input)) { action 1129 lib/pacemaker/pcmk_sched_ordering.c pe_action_t *action = (pe_action_t *) iter->data; action 1132 lib/pacemaker/pcmk_sched_ordering.c if ((action->rsc == NULL) || (action->node == NULL) action 1133 lib/pacemaker/pcmk_sched_ordering.c || (action->node->details != node->details) action 1134 lib/pacemaker/pcmk_sched_ordering.c || !pcmk__str_eq(action->task, RSC_STOP, pcmk__str_casei)) { action 1140 lib/pacemaker/pcmk_sched_ordering.c if (pcmk_is_set(action->rsc->flags, pe_rsc_maintenance)) { action 1141 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_trace(action->rsc, action 1144 lib/pacemaker/pcmk_sched_ordering.c action->uuid, pe__node_name(node)); action 1148 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_trace(action->rsc, action 1151 lib/pacemaker/pcmk_sched_ordering.c action->uuid, pe__node_name(node)); action 1159 lib/pacemaker/pcmk_sched_ordering.c if (!pcmk_any_flags_set(action->rsc->flags, action 1161 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_trace(action->rsc, action 1164 lib/pacemaker/pcmk_sched_ordering.c action->uuid, pe__node_name(node)); action 1168 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_trace(action->rsc, "Ordering %s before shutdown of %s", action 1169 lib/pacemaker/pcmk_sched_ordering.c action->uuid, pe__node_name(node)); action 1170 lib/pacemaker/pcmk_sched_ordering.c pe__clear_action_flags(action, pe_action_optional); action 1171 lib/pacemaker/pcmk_sched_ordering.c pcmk__new_ordering(action->rsc, NULL, action, NULL, action 1060 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_action_flags(pe_action_t *action, const pe_node_t *node) action 1062 lib/pacemaker/pcmk_sched_primitive.c CRM_ASSERT(action != NULL); action 1063 lib/pacemaker/pcmk_sched_primitive.c return action->flags; action 558 lib/pacemaker/pcmk_sched_probes.c || (after_wrapper->action->rsc == NULL) action 559 lib/pacemaker/pcmk_sched_probes.c || (after_wrapper->action->rsc->variant > pe_group) action 560 lib/pacemaker/pcmk_sched_probes.c || (after->rsc != after_wrapper->action->rsc->parent)) { action 569 lib/pacemaker/pcmk_sched_probes.c || (compatible_rsc != after_wrapper->action->rsc))) { action 577 lib/pacemaker/pcmk_sched_probes.c after_wrapper->action->uuid, action 578 lib/pacemaker/pcmk_sched_probes.c pe__node_name(after_wrapper->action->node), action 581 lib/pacemaker/pcmk_sched_probes.c add_restart_orderings_for_probe(probe, after_wrapper->action, data_set); action 597 lib/pacemaker/pcmk_sched_probes.c pe_action_t *action = (pe_action_t *) gIter->data; action 599 lib/pacemaker/pcmk_sched_probes.c pe__clear_action_flags(action, pe_action_tracking); action 634 lib/pacemaker/pcmk_sched_probes.c add_restart_orderings_for_probe(probe, then->action, data_set); action 709 lib/pacemaker/pcmk_sched_probes.c pe_action_t *first = before->action; action 720 lib/pacemaker/pcmk_sched_probes.c first->uuid, before->action->uuid, start->uuid); action 722 lib/pacemaker/pcmk_sched_probes.c CRM_ASSERT(before->action->rsc != NULL); action 723 lib/pacemaker/pcmk_sched_probes.c first_rsc = before->action->rsc; action 90 lib/pacemaker/pcmk_sched_promotable.c pe_action_t *action = (pe_action_t *) iter->data; action 95 lib/pacemaker/pcmk_sched_promotable.c } else if (pcmk_is_set(action->flags, pe_action_optional)) { action 98 lib/pacemaker/pcmk_sched_promotable.c } else if (pcmk__str_eq(RSC_DEMOTE, action->task, pcmk__str_none)) { action 101 lib/pacemaker/pcmk_sched_promotable.c } else if (pcmk__str_eq(RSC_PROMOTE, action->task, pcmk__str_none)) { action 409 lib/pacemaker/pcmk_sched_recurring.c pe_action_t *action) action 414 lib/pacemaker/pcmk_sched_recurring.c order_actions((pe_action_t *) iter->data, action, action 430 lib/pacemaker/pcmk_sched_recurring.c pe_action_t *action) action 438 lib/pacemaker/pcmk_sched_recurring.c && !pcmk_is_set(action->flags, pe_action_optional) action 441 lib/pacemaker/pcmk_sched_recurring.c action->uuid, pe__node_name(node)); action 442 lib/pacemaker/pcmk_sched_recurring.c pe__set_action_flags(action, pe_action_optional); action 447 lib/pacemaker/pcmk_sched_recurring.c action->uuid, pe__node_name(node)); action 448 lib/pacemaker/pcmk_sched_recurring.c pe__clear_action_flags(action, pe_action_runnable); action 453 lib/pacemaker/pcmk_sched_recurring.c NULL, NULL, action, action 704 lib/pacemaker/pcmk_sched_recurring.c pcmk__action_is_recurring(const pe_action_t *action) action 708 lib/pacemaker/pcmk_sched_recurring.c if (pcmk__guint_from_hash(action->meta, action 165 lib/pacemaker/pcmk_sched_remote.c apply_remote_ordering(pe_action_t *action, pe_working_set_t *data_set) action 168 lib/pacemaker/pcmk_sched_remote.c enum action_tasks task = text2task(action->task); action 169 lib/pacemaker/pcmk_sched_remote.c enum remote_connection_state state = get_remote_node_state(action->node); action 173 lib/pacemaker/pcmk_sched_remote.c if (action->rsc == NULL) { action 177 lib/pacemaker/pcmk_sched_remote.c CRM_ASSERT(pe__is_guest_or_remote_node(action->node)); action 179 lib/pacemaker/pcmk_sched_remote.c remote_rsc = action->node->details->remote_rsc; action 183 lib/pacemaker/pcmk_sched_remote.c action->task, action->uuid, action 187 lib/pacemaker/pcmk_sched_remote.c if (pcmk__strcase_any_of(action->task, CRMD_ACTION_MIGRATE, action 206 lib/pacemaker/pcmk_sched_remote.c order_start_then_action(remote_rsc, action, order_opts, data_set); action 211 lib/pacemaker/pcmk_sched_remote.c order_action_then_stop(action, remote_rsc, action 221 lib/pacemaker/pcmk_sched_remote.c pe_fence_node(data_set, action->node, action 230 lib/pacemaker/pcmk_sched_remote.c order_action_then_stop(action, remote_rsc, action 237 lib/pacemaker/pcmk_sched_remote.c order_start_then_action(remote_rsc, action, pe_order_none, action 250 lib/pacemaker/pcmk_sched_remote.c order_start_then_action(remote_rsc, action, pe_order_none, action 257 lib/pacemaker/pcmk_sched_remote.c if (pcmk__action_is_recurring(action)) { action 262 lib/pacemaker/pcmk_sched_remote.c order_start_then_action(remote_rsc, action, action 273 lib/pacemaker/pcmk_sched_remote.c pe_fence_node(data_set, action->node, action 283 lib/pacemaker/pcmk_sched_remote.c order_action_then_stop(action, remote_rsc, action 287 lib/pacemaker/pcmk_sched_remote.c order_start_then_action(remote_rsc, action, pe_order_none, action 296 lib/pacemaker/pcmk_sched_remote.c apply_container_ordering(pe_action_t *action, pe_working_set_t *data_set) action 307 lib/pacemaker/pcmk_sched_remote.c enum action_tasks task = text2task(action->task); action 309 lib/pacemaker/pcmk_sched_remote.c CRM_ASSERT(action->rsc != NULL); action 310 lib/pacemaker/pcmk_sched_remote.c CRM_ASSERT(action->node != NULL); action 311 lib/pacemaker/pcmk_sched_remote.c CRM_ASSERT(pe__is_guest_or_remote_node(action->node)); action 313 lib/pacemaker/pcmk_sched_remote.c remote_rsc = action->node->details->remote_rsc; action 320 lib/pacemaker/pcmk_sched_remote.c pe_fence_node(data_set, action->node, "container failed", FALSE); action 324 lib/pacemaker/pcmk_sched_remote.c action->task, action->uuid, action 330 lib/pacemaker/pcmk_sched_remote.c if (pcmk__strcase_any_of(action->task, CRMD_ACTION_MIGRATE, action 342 lib/pacemaker/pcmk_sched_remote.c order_start_then_action(container, action, pe_order_implies_then, action 346 lib/pacemaker/pcmk_sched_remote.c order_start_then_action(remote_rsc, action, pe_order_none, action 368 lib/pacemaker/pcmk_sched_remote.c order_action_then_stop(action, remote_rsc, pe_order_none, action 375 lib/pacemaker/pcmk_sched_remote.c if (pcmk__action_is_recurring(action)) { action 381 lib/pacemaker/pcmk_sched_remote.c order_start_then_action(remote_rsc, action, action 385 lib/pacemaker/pcmk_sched_remote.c order_start_then_action(remote_rsc, action, pe_order_none, action 408 lib/pacemaker/pcmk_sched_remote.c pe_action_t *action = (pe_action_t *) gIter->data; action 412 lib/pacemaker/pcmk_sched_remote.c if (action->rsc == NULL) { action 420 lib/pacemaker/pcmk_sched_remote.c if (action->rsc->is_remote_node && action 421 lib/pacemaker/pcmk_sched_remote.c pcmk__str_eq(action->task, CRM_OP_CLEAR_FAILCOUNT, pcmk__str_casei)) { action 423 lib/pacemaker/pcmk_sched_remote.c pcmk__new_ordering(action->rsc, NULL, action, action->rsc, action 424 lib/pacemaker/pcmk_sched_remote.c pcmk__op_key(action->rsc->id, RSC_START, 0), action 431 lib/pacemaker/pcmk_sched_remote.c if (action->node == NULL) { action 435 lib/pacemaker/pcmk_sched_remote.c if (!pe__is_guest_or_remote_node(action->node)) { action 445 lib/pacemaker/pcmk_sched_remote.c if (pcmk_is_set(action->flags, pe_action_pseudo)) { action 449 lib/pacemaker/pcmk_sched_remote.c remote = action->node->details->remote_rsc; action 460 lib/pacemaker/pcmk_sched_remote.c if (pcmk__str_eq(action->task, RSC_START, pcmk__str_casei)) { action 461 lib/pacemaker/pcmk_sched_remote.c for (GList *item = action->rsc->actions; item != NULL; action 465 lib/pacemaker/pcmk_sched_remote.c if ((rsc_action->node->details != action->node->details) action 468 lib/pacemaker/pcmk_sched_remote.c action->rsc, NULL, rsc_action, action 484 lib/pacemaker/pcmk_sched_remote.c crm_trace("Container ordering for %s", action->uuid); action 485 lib/pacemaker/pcmk_sched_remote.c apply_container_ordering(action, data_set); action 488 lib/pacemaker/pcmk_sched_remote.c crm_trace("Remote ordering for %s", action->uuid); action 489 lib/pacemaker/pcmk_sched_remote.c apply_remote_ordering(action, data_set); action 542 lib/pacemaker/pcmk_sched_remote.c pcmk__connection_host_for_action(pe_action_t *action) action 547 lib/pacemaker/pcmk_sched_remote.c const char *task = action->task; action 550 lib/pacemaker/pcmk_sched_remote.c || !pe__is_guest_or_remote_node(action->node)) { action 554 lib/pacemaker/pcmk_sched_remote.c CRM_ASSERT(action->node->details->remote_rsc != NULL); action 556 lib/pacemaker/pcmk_sched_remote.c began_on = pe__current_node(action->node->details->remote_rsc); action 557 lib/pacemaker/pcmk_sched_remote.c ended_on = action->node->details->remote_rsc->allocated_to; action 558 lib/pacemaker/pcmk_sched_remote.c if (action->node->details->remote_rsc action 559 lib/pacemaker/pcmk_sched_remote.c && (action->node->details->remote_rsc->container == NULL) action 560 lib/pacemaker/pcmk_sched_remote.c && action->node->details->remote_rsc->partial_migration_target) { action 567 lib/pacemaker/pcmk_sched_remote.c action->task, (action->rsc? action->rsc->id : "no resource"), action 576 lib/pacemaker/pcmk_sched_remote.c action->task, (action->rsc? action->rsc->id : "no resource"), action 585 lib/pacemaker/pcmk_sched_remote.c action->task, (action->rsc? action->rsc->id : "no resource"), action 599 lib/pacemaker/pcmk_sched_remote.c task = g_hash_table_lookup(action->meta, "notify_operation"); action 618 lib/pacemaker/pcmk_sched_remote.c action->task, (action->rsc? action->rsc->id : "no resource"), action 630 lib/pacemaker/pcmk_sched_remote.c action->task, (action->rsc? action->rsc->id : "no resource"), action 677 lib/pacemaker/pcmk_sched_remote.c pcmk__add_bundle_meta_to_xml(xmlNode *args_xml, pe_action_t *action) action 682 lib/pacemaker/pcmk_sched_remote.c if (!pe__is_guest_node(action->node)) { action 686 lib/pacemaker/pcmk_sched_remote.c task = text2task(action->task); action 688 lib/pacemaker/pcmk_sched_remote.c task = text2task(g_hash_table_lookup(action->meta, "notify_operation")); action 697 lib/pacemaker/pcmk_sched_remote.c host = pe__current_node(action->node->details->remote_rsc->container); action 706 lib/pacemaker/pcmk_sched_remote.c host = action->node->details->remote_rsc->container->allocated_to; action 715 lib/pacemaker/pcmk_sched_remote.c (gpointer) g_hash_table_lookup(action->rsc->meta, action 44 lib/pacemaker/pcmk_simulate.c create_action_name(pe_action_t *action, bool verbose) action 50 lib/pacemaker/pcmk_simulate.c const char *task = action->task; action 52 lib/pacemaker/pcmk_simulate.c if (action->node != NULL) { action 53 lib/pacemaker/pcmk_simulate.c action_host = action->node->details->uname; action 54 lib/pacemaker/pcmk_simulate.c } else if (!pcmk_is_set(action->flags, pe_action_pseudo)) { action 58 lib/pacemaker/pcmk_simulate.c if (pcmk__str_eq(action->task, RSC_CANCEL, pcmk__str_none)) { action 60 lib/pacemaker/pcmk_simulate.c task = action->cancel_task; action 63 lib/pacemaker/pcmk_simulate.c if (action->rsc != NULL) { action 64 lib/pacemaker/pcmk_simulate.c clone_name = action->rsc->clone_name; action 71 lib/pacemaker/pcmk_simulate.c if (pcmk__guint_from_hash(action->meta, action 77 lib/pacemaker/pcmk_simulate.c if (pcmk__strcase_any_of(action->task, RSC_NOTIFY, RSC_NOTIFIED, action 79 lib/pacemaker/pcmk_simulate.c const char *n_type = g_hash_table_lookup(action->meta, action 81 lib/pacemaker/pcmk_simulate.c const char *n_task = g_hash_table_lookup(action->meta, action 99 lib/pacemaker/pcmk_simulate.c } else if (pcmk__str_eq(action->task, CRM_OP_FENCE, pcmk__str_casei)) { action 100 lib/pacemaker/pcmk_simulate.c const char *op = g_hash_table_lookup(action->meta, "stonith_action"); action 103 lib/pacemaker/pcmk_simulate.c prefix, action->task, op, action_host); action 105 lib/pacemaker/pcmk_simulate.c } else if (action->rsc && action_host) { action 107 lib/pacemaker/pcmk_simulate.c prefix, action->uuid, action_host); action 111 lib/pacemaker/pcmk_simulate.c prefix, action->task, action_host); action 114 lib/pacemaker/pcmk_simulate.c action_name = crm_strdup_printf("%s", action->uuid); action 118 lib/pacemaker/pcmk_simulate.c char *with_id = crm_strdup_printf("%s (%d)", action_name, action->id); action 230 lib/pacemaker/pcmk_simulate.c pe_action_t *action = (pe_action_t *) gIter->data; action 234 lib/pacemaker/pcmk_simulate.c char *action_name = create_action_name(action, verbose); action 236 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(action->flags, pe_action_pseudo)) { action 240 lib/pacemaker/pcmk_simulate.c if (pcmk_is_set(action->flags, pe_action_dumped)) { action 244 lib/pacemaker/pcmk_simulate.c } else if ((action->rsc != NULL) action 245 lib/pacemaker/pcmk_simulate.c && !pcmk_is_set(action->rsc->flags, pe_rsc_managed)) { action 252 lib/pacemaker/pcmk_simulate.c } else if (pcmk_is_set(action->flags, pe_action_optional)) { action 260 lib/pacemaker/pcmk_simulate.c CRM_LOG_ASSERT(!pcmk_is_set(action->flags, pe_action_runnable)); action 263 lib/pacemaker/pcmk_simulate.c pe__set_action_flags(action, pe_action_dumped); action 271 lib/pacemaker/pcmk_simulate.c pe_action_t *action = (pe_action_t *) gIter->data; action 275 lib/pacemaker/pcmk_simulate.c for (gIter2 = action->actions_before; gIter2 != NULL; gIter2 = gIter2->next) { action 288 lib/pacemaker/pcmk_simulate.c } else if (pcmk_is_set(before->action->flags, pe_action_dumped) action 289 lib/pacemaker/pcmk_simulate.c && pcmk_is_set(action->flags, pe_action_dumped) action 295 lib/pacemaker/pcmk_simulate.c before_name = create_action_name(before->action, verbose); action 296 lib/pacemaker/pcmk_simulate.c after_name = create_action_name(action, verbose); action 465 lib/pacemaker/pcmk_simulate.c simulate_pseudo_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) action 467 lib/pacemaker/pcmk_simulate.c const char *node = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 468 lib/pacemaker/pcmk_simulate.c const char *task = crm_element_value(action->xml, XML_LRM_ATTR_TASK_KEY); action 470 lib/pacemaker/pcmk_simulate.c pcmk__set_graph_action_flags(action, pcmk__graph_action_confirmed); action 473 lib/pacemaker/pcmk_simulate.c pcmk__update_graph(graph, action); action 487 lib/pacemaker/pcmk_simulate.c simulate_resource_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) action 498 lib/pacemaker/pcmk_simulate.c const char *operation = crm_element_value(action->xml, "operation"); action 499 lib/pacemaker/pcmk_simulate.c const char *target_rc_s = crm_meta_value(action->params, action 504 lib/pacemaker/pcmk_simulate.c xmlNode *action_rsc = first_named_child(action->xml, XML_CIB_TAG_RESOURCE); action 506 lib/pacemaker/pcmk_simulate.c char *node = crm_element_value_copy(action->xml, XML_LRM_ATTR_TARGET); action 508 lib/pacemaker/pcmk_simulate.c const char *router_node = crm_element_value(action->xml, action 518 lib/pacemaker/pcmk_simulate.c crm_log_xml_err(action->xml, "Bad"); action 530 lib/pacemaker/pcmk_simulate.c crm_log_xml_err(action->xml, "No ID"); action 561 lib/pacemaker/pcmk_simulate.c uuid = crm_element_value_copy(action->xml, XML_LRM_ATTR_TARGET_UUID); action 573 lib/pacemaker/pcmk_simulate.c action->id, resource); action 580 lib/pacemaker/pcmk_simulate.c op = pcmk__event_from_graph_action(cib_resource, action, PCMK_EXEC_DONE, action 624 lib/pacemaker/pcmk_simulate.c action->id, op->rc); action 625 lib/pacemaker/pcmk_simulate.c pcmk__set_graph_action_flags(action, pcmk__graph_action_failed); action 641 lib/pacemaker/pcmk_simulate.c pcmk__set_graph_action_flags(action, pcmk__graph_action_confirmed); action 642 lib/pacemaker/pcmk_simulate.c pcmk__update_graph(graph, action); action 656 lib/pacemaker/pcmk_simulate.c simulate_cluster_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) action 658 lib/pacemaker/pcmk_simulate.c const char *node = crm_element_value(action->xml, XML_LRM_ATTR_TARGET); action 659 lib/pacemaker/pcmk_simulate.c const char *task = crm_element_value(action->xml, XML_LRM_ATTR_TASK); action 660 lib/pacemaker/pcmk_simulate.c xmlNode *rsc = first_named_child(action->xml, XML_CIB_TAG_RESOURCE); action 662 lib/pacemaker/pcmk_simulate.c pcmk__set_graph_action_flags(action, pcmk__graph_action_confirmed); action 664 lib/pacemaker/pcmk_simulate.c pcmk__update_graph(graph, action); action 678 lib/pacemaker/pcmk_simulate.c simulate_fencing_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) action 680 lib/pacemaker/pcmk_simulate.c const char *op = crm_meta_value(action->params, "stonith_action"); action 681 lib/pacemaker/pcmk_simulate.c char *target = crm_element_value_copy(action->xml, XML_LRM_ATTR_TARGET); action 719 lib/pacemaker/pcmk_simulate.c pcmk__set_graph_action_flags(action, pcmk__graph_action_confirmed); action 720 lib/pacemaker/pcmk_simulate.c pcmk__update_graph(graph, action); action 1261 lib/pengine/clone.c pe_action_t *action = NULL; action 1268 lib/pengine/clone.c action = pe__new_rsc_pseudo_action(clone, RSC_PROMOTE, !any_promoting, action 1280 lib/pengine/clone.c action, action 1285 lib/pengine/clone.c action = pe__new_rsc_pseudo_action(clone, RSC_DEMOTE, !any_demoting, true); action 1296 lib/pengine/clone.c action, action 20 lib/pengine/pe_actions.c static void unpack_operation(pe_action_t *action, xmlNode *xml_obj, action 25 lib/pengine/pe_actions.c add_singleton(pe_working_set_t *data_set, pe_action_t *action) action 30 lib/pengine/pe_actions.c g_hash_table_insert(data_set->singletons, action->uuid, action); action 58 lib/pengine/pe_actions.c pe_action_t *action = NULL; action 70 lib/pengine/pe_actions.c action = matches->data; action 72 lib/pengine/pe_actions.c return action; action 171 lib/pengine/pe_actions.c pe_action_t *action = calloc(1, sizeof(pe_action_t)); action 173 lib/pengine/pe_actions.c CRM_ASSERT(action != NULL); action 175 lib/pengine/pe_actions.c action->rsc = rsc; action 176 lib/pengine/pe_actions.c action->task = strdup(task); CRM_ASSERT(action->task != NULL); action 177 lib/pengine/pe_actions.c action->uuid = key; action 178 lib/pengine/pe_actions.c action->extra = pcmk__strkey_table(free, free); action 179 lib/pengine/pe_actions.c action->meta = pcmk__strkey_table(free, free); action 182 lib/pengine/pe_actions.c action->node = pe__copy_node(node); action 187 lib/pengine/pe_actions.c pe__set_action_flags(action, pe_action_dc); action 190 lib/pengine/pe_actions.c pe__set_action_flags(action, pe_action_runnable); action 192 lib/pengine/pe_actions.c pe__set_action_flags(action, pe_action_optional); action 194 lib/pengine/pe_actions.c pe__clear_action_flags(action, pe_action_optional); action 200 lib/pengine/pe_actions.c action->op_entry = find_rsc_op_entry_helper(rsc, key, TRUE); action 202 lib/pengine/pe_actions.c unpack_operation(action, action->op_entry, rsc->container, data_set, action 212 lib/pengine/pe_actions.c action->id = data_set->action_id++; action 214 lib/pengine/pe_actions.c data_set->actions = g_list_prepend(data_set->actions, action); action 216 lib/pengine/pe_actions.c add_singleton(data_set, action); action 218 lib/pengine/pe_actions.c rsc->actions = g_list_prepend(rsc->actions, action); action 221 lib/pengine/pe_actions.c return action; action 232 lib/pengine/pe_actions.c unpack_action_node_attributes(pe_action_t *action, pe_working_set_t *data_set) action 234 lib/pengine/pe_actions.c if (!pcmk_is_set(action->flags, pe_action_have_node_attrs) action 235 lib/pengine/pe_actions.c && (action->op_entry != NULL)) { action 238 lib/pengine/pe_actions.c .node_hash = action->node->details->attrs, action 246 lib/pengine/pe_actions.c pe__set_action_flags(action, pe_action_have_node_attrs); action 247 lib/pengine/pe_actions.c pe__unpack_dataset_nvpairs(action->op_entry, XML_TAG_ATTR_SETS, action 248 lib/pengine/pe_actions.c &rule_data, action->extra, NULL, action 261 lib/pengine/pe_actions.c update_action_optional(pe_action_t *action, gboolean optional) action 264 lib/pengine/pe_actions.c if ((action->rsc != NULL) && (action->node != NULL) action 265 lib/pengine/pe_actions.c && !pcmk_is_set(action->flags, pe_action_pseudo) action 266 lib/pengine/pe_actions.c && !pcmk_is_set(action->rsc->flags, pe_rsc_managed) action 267 lib/pengine/pe_actions.c && (g_hash_table_lookup(action->meta, action 269 lib/pengine/pe_actions.c pe_rsc_debug(action->rsc, "%s on %s is optional (%s is unmanaged)", action 270 lib/pengine/pe_actions.c action->uuid, pe__node_name(action->node), action 271 lib/pengine/pe_actions.c action->rsc->id); action 272 lib/pengine/pe_actions.c pe__set_action_flags(action, pe_action_optional); action 277 lib/pengine/pe_actions.c pe__clear_action_flags(action, pe_action_optional); action 318 lib/pengine/pe_actions.c update_resource_action_runnable(pe_action_t *action, bool for_graph, action 321 lib/pengine/pe_actions.c if (pcmk_is_set(action->flags, pe_action_pseudo)) { action 325 lib/pengine/pe_actions.c if (action->node == NULL) { action 326 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "%s is unrunnable (unallocated)", action 327 lib/pengine/pe_actions.c action->uuid); action 328 lib/pengine/pe_actions.c pe__clear_action_flags(action, pe_action_runnable); action 330 lib/pengine/pe_actions.c } else if (!pcmk_is_set(action->flags, pe_action_dc) action 331 lib/pengine/pe_actions.c && !(action->node->details->online) action 332 lib/pengine/pe_actions.c && (!pe__is_guest_node(action->node) action 333 lib/pengine/pe_actions.c || action->node->details->remote_requires_reset)) { action 334 lib/pengine/pe_actions.c pe__clear_action_flags(action, pe_action_runnable); action 337 lib/pengine/pe_actions.c action->uuid, pe__node_name(action->node)); action 338 lib/pengine/pe_actions.c if (pcmk_is_set(action->rsc->flags, pe_rsc_managed) action 340 lib/pengine/pe_actions.c && pcmk__str_eq(action->task, CRMD_ACTION_STOP, pcmk__str_casei) action 341 lib/pengine/pe_actions.c && !(action->node->details->unclean)) { action 342 lib/pengine/pe_actions.c pe_fence_node(data_set, action->node, "stop is unrunnable", false); action 345 lib/pengine/pe_actions.c } else if (!pcmk_is_set(action->flags, pe_action_dc) action 346 lib/pengine/pe_actions.c && action->node->details->pending) { action 347 lib/pengine/pe_actions.c pe__clear_action_flags(action, pe_action_runnable); action 350 lib/pengine/pe_actions.c action->uuid, pe__node_name(action->node)); action 352 lib/pengine/pe_actions.c } else if (action->needs == rsc_req_nothing) { action 353 lib/pengine/pe_actions.c pe_action_set_reason(action, NULL, TRUE); action 354 lib/pengine/pe_actions.c if (pe__is_guest_node(action->node) action 355 lib/pengine/pe_actions.c && !pe_can_fence(data_set, action->node)) { action 361 lib/pengine/pe_actions.c pe_rsc_debug(action->rsc, "%s on %s is unrunnable " action 363 lib/pengine/pe_actions.c action->uuid, pe__node_name(action->node)); action 364 lib/pengine/pe_actions.c pe__clear_action_flags(action, pe_action_runnable); action 366 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, action 368 lib/pengine/pe_actions.c action->uuid, pe__node_name(action->node)); action 369 lib/pengine/pe_actions.c pe__set_action_flags(action, pe_action_runnable); action 373 lib/pengine/pe_actions.c switch (effective_quorum_policy(action->rsc, data_set)) { action 375 lib/pengine/pe_actions.c pe_rsc_debug(action->rsc, "%s on %s is unrunnable (no quorum)", action 376 lib/pengine/pe_actions.c action->uuid, pe__node_name(action->node)); action 377 lib/pengine/pe_actions.c pe__clear_action_flags(action, pe_action_runnable); action 378 lib/pengine/pe_actions.c pe_action_set_reason(action, "no quorum", true); action 382 lib/pengine/pe_actions.c if (!action->rsc->fns->active(action->rsc, TRUE) action 383 lib/pengine/pe_actions.c || (action->rsc->next_role > action->rsc->role)) { action 384 lib/pengine/pe_actions.c pe_rsc_debug(action->rsc, action 386 lib/pengine/pe_actions.c action->uuid, pe__node_name(action->node)); action 387 lib/pengine/pe_actions.c pe__clear_action_flags(action, pe_action_runnable); action 388 lib/pengine/pe_actions.c pe_action_set_reason(action, "quorum freeze", true); action 394 lib/pengine/pe_actions.c pe__set_action_flags(action, pe_action_runnable); action 408 lib/pengine/pe_actions.c update_resource_flags_for_action(pe_resource_t *rsc, pe_action_t *action) action 413 lib/pengine/pe_actions.c if (pcmk__str_eq(action->task, CRMD_ACTION_STOP, pcmk__str_casei)) { action 416 lib/pengine/pe_actions.c } else if (pcmk__str_eq(action->task, CRMD_ACTION_START, pcmk__str_casei)) { action 417 lib/pengine/pe_actions.c if (pcmk_is_set(action->flags, pe_action_runnable)) { action 432 lib/pengine/pe_actions.c unpack_operation_on_fail(pe_action_t * action) action 438 lib/pengine/pe_actions.c const char *value = g_hash_table_lookup(action->meta, XML_OP_ATTR_ON_FAIL); action 440 lib/pengine/pe_actions.c if (pcmk__str_eq(action->task, CRMD_ACTION_STOP, pcmk__str_casei) action 445 lib/pengine/pe_actions.c "allowed for stop", action->rsc->id, value); action 448 lib/pengine/pe_actions.c } else if (pcmk__str_eq(action->task, CRMD_ACTION_DEMOTE, pcmk__str_casei) && !value) { action 452 lib/pengine/pe_actions.c CRM_CHECK(action->rsc != NULL, return NULL); action 454 lib/pengine/pe_actions.c for (operation = pcmk__xe_first_child(action->rsc->ops_xml); action 483 lib/pengine/pe_actions.c } else if (pcmk__str_eq(action->task, CRM_OP_LRM_DELETE, pcmk__str_casei)) { action 487 lib/pengine/pe_actions.c name = crm_element_value(action->op_entry, "name"); action 488 lib/pengine/pe_actions.c role = crm_element_value(action->op_entry, "role"); action 489 lib/pengine/pe_actions.c interval_spec = crm_element_value(action->op_entry, action 499 lib/pengine/pe_actions.c "allowed for it", action->rsc->id, name); action 635 lib/pengine/pe_actions.c unpack_operation(pe_action_t * action, xmlNode * xml_obj, pe_resource_t * container, action 643 lib/pengine/pe_actions.c .standard = crm_element_value(action->rsc->xml, XML_AGENT_ATTR_CLASS), action 644 lib/pengine/pe_actions.c .provider = crm_element_value(action->rsc->xml, XML_AGENT_ATTR_PROVIDER), action 645 lib/pengine/pe_actions.c .agent = crm_element_value(action->rsc->xml, XML_EXPR_ATTR_TYPE) action 649 lib/pengine/pe_actions.c .op_name = action->task, action 662 lib/pengine/pe_actions.c CRM_CHECK(action && action->rsc, return); action 664 lib/pengine/pe_actions.c is_probe = pcmk_is_probe(action->task, interval_ms); action 668 lib/pengine/pe_actions.c action->meta, NULL, FALSE, data_set); action 672 lib/pengine/pe_actions.c xmlNode *min_interval_mon = find_min_interval_mon(action->rsc, FALSE); action 678 lib/pengine/pe_actions.c "monitor's timeout '%s'", action->uuid, value); action 679 lib/pengine/pe_actions.c g_hash_table_replace(action->meta, strdup(XML_ATTR_TIMEOUT), action 690 lib/pengine/pe_actions.c action->meta, NULL, TRUE, data_set); action 699 lib/pengine/pe_actions.c g_hash_table_replace(action->meta, strdup(prop_name), strdup(prop_value)); action 703 lib/pengine/pe_actions.c g_hash_table_remove(action->meta, "id"); action 707 lib/pengine/pe_actions.c g_hash_table_replace(action->meta, strdup(XML_LRM_ATTR_INTERVAL), action 710 lib/pengine/pe_actions.c g_hash_table_remove(action->meta, XML_LRM_ATTR_INTERVAL); action 729 lib/pengine/pe_actions.c && (pcmk__str_eq(action->task, RSC_START, pcmk__str_casei) action 732 lib/pengine/pe_actions.c GHashTable *params = pe_rsc_params(action->rsc, action->node, data_set); action 738 lib/pengine/pe_actions.c "overriding default", action->uuid, value); action 739 lib/pengine/pe_actions.c g_hash_table_replace(action->meta, strdup(XML_ATTR_TIMEOUT), action 745 lib/pengine/pe_actions.c value = g_hash_table_lookup(action->meta, XML_ATTR_TIMEOUT); action 747 lib/pengine/pe_actions.c g_hash_table_replace(action->meta, strdup(XML_ATTR_TIMEOUT), action 750 lib/pengine/pe_actions.c if (!pcmk__strcase_any_of(action->task, RSC_START, RSC_PROMOTE, NULL)) { action 751 lib/pengine/pe_actions.c action->needs = rsc_req_nothing; action 754 lib/pengine/pe_actions.c } else if (pcmk_is_set(action->rsc->flags, pe_rsc_needs_fencing)) { action 755 lib/pengine/pe_actions.c action->needs = rsc_req_stonith; action 758 lib/pengine/pe_actions.c } else if (pcmk_is_set(action->rsc->flags, pe_rsc_needs_quorum)) { action 759 lib/pengine/pe_actions.c action->needs = rsc_req_quorum; action 763 lib/pengine/pe_actions.c action->needs = rsc_req_nothing; action 766 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "%s requires %s", action->uuid, value); action 768 lib/pengine/pe_actions.c value = unpack_operation_on_fail(action); action 773 lib/pengine/pe_actions.c action->on_fail = action_fail_block; action 774 lib/pengine/pe_actions.c g_hash_table_insert(action->meta, strdup(XML_OP_ATTR_ON_FAIL), strdup("block")); action 778 lib/pengine/pe_actions.c action->on_fail = action_fail_fence; action 784 lib/pengine/pe_actions.c "valid when fencing is disabled", action->uuid); action 785 lib/pengine/pe_actions.c action->on_fail = action_fail_stop; action 786 lib/pengine/pe_actions.c action->fail_role = RSC_ROLE_STOPPED; action 791 lib/pengine/pe_actions.c action->on_fail = action_fail_standby; action 796 lib/pengine/pe_actions.c action->on_fail = action_fail_ignore; action 800 lib/pengine/pe_actions.c action->on_fail = action_fail_migrate; action 804 lib/pengine/pe_actions.c action->on_fail = action_fail_stop; action 805 lib/pengine/pe_actions.c action->fail_role = RSC_ROLE_STOPPED; action 809 lib/pengine/pe_actions.c action->on_fail = action_fail_recover; action 814 lib/pengine/pe_actions.c action->on_fail = action_fail_restart_container; action 822 lib/pengine/pe_actions.c action->on_fail = action_fail_demote; action 826 lib/pengine/pe_actions.c pe_err("Resource %s: Unknown failure type (%s)", action->rsc->id, value); action 832 lib/pengine/pe_actions.c action->on_fail = action_fail_restart_container; action 843 lib/pengine/pe_actions.c } else if (((value == NULL) || !pcmk_is_set(action->rsc->flags, pe_rsc_managed)) action 844 lib/pengine/pe_actions.c && pe__resource_is_remote_conn(action->rsc, data_set) action 845 lib/pengine/pe_actions.c && !(pcmk__str_eq(action->task, CRMD_ACTION_STATUS, pcmk__str_casei) action 847 lib/pengine/pe_actions.c && !pcmk__str_eq(action->task, CRMD_ACTION_START, pcmk__str_casei)) { action 849 lib/pengine/pe_actions.c if (!pcmk_is_set(action->rsc->flags, pe_rsc_managed)) { action 850 lib/pengine/pe_actions.c action->on_fail = action_fail_stop; action 851 lib/pengine/pe_actions.c action->fail_role = RSC_ROLE_STOPPED; action 861 lib/pengine/pe_actions.c if (action->rsc->remote_reconnect_ms) { action 862 lib/pengine/pe_actions.c action->fail_role = RSC_ROLE_STOPPED; action 864 lib/pengine/pe_actions.c action->on_fail = action_fail_reset_remote; action 867 lib/pengine/pe_actions.c } else if (value == NULL && pcmk__str_eq(action->task, CRMD_ACTION_STOP, pcmk__str_casei)) { action 869 lib/pengine/pe_actions.c action->on_fail = action_fail_fence; action 873 lib/pengine/pe_actions.c action->on_fail = action_fail_block; action 878 lib/pengine/pe_actions.c action->on_fail = action_fail_recover; action 882 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "%s failure handling: %s", action 883 lib/pengine/pe_actions.c action->uuid, value); action 887 lib/pengine/pe_actions.c value = g_hash_table_lookup(action->meta, "role_after_failure"); action 893 lib/pengine/pe_actions.c if (value != NULL && action->fail_role == RSC_ROLE_UNKNOWN) { action 894 lib/pengine/pe_actions.c action->fail_role = text2role(value); action 897 lib/pengine/pe_actions.c if (action->fail_role == RSC_ROLE_UNKNOWN) { action 898 lib/pengine/pe_actions.c if (pcmk__str_eq(action->task, CRMD_ACTION_PROMOTE, pcmk__str_casei)) { action 899 lib/pengine/pe_actions.c action->fail_role = RSC_ROLE_UNPROMOTED; action 901 lib/pengine/pe_actions.c action->fail_role = RSC_ROLE_STARTED; action 904 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "%s failure results in: %s", action 905 lib/pengine/pe_actions.c action->uuid, role2text(action->fail_role)); action 907 lib/pengine/pe_actions.c value = g_hash_table_lookup(action->meta, XML_OP_ATTR_START_DELAY); action 909 lib/pengine/pe_actions.c unpack_start_delay(value, action->meta); action 913 lib/pengine/pe_actions.c value = g_hash_table_lookup(action->meta, XML_OP_ATTR_ORIGIN); action 916 lib/pengine/pe_actions.c g_hash_table_replace(action->meta, strdup(XML_OP_ATTR_START_DELAY), action 944 lib/pengine/pe_actions.c pe_action_t *action = NULL; action 949 lib/pengine/pe_actions.c action = find_existing_action(key, rsc, on_node, data_set); action 952 lib/pengine/pe_actions.c if (action == NULL) { action 953 lib/pengine/pe_actions.c action = new_action(key, task, rsc, on_node, optional, save_action, action 959 lib/pengine/pe_actions.c update_action_optional(action, optional); action 962 lib/pengine/pe_actions.c if (action->node != NULL) { action 963 lib/pengine/pe_actions.c unpack_action_node_attributes(action, data_set); action 966 lib/pengine/pe_actions.c update_resource_action_runnable(action, save_action, data_set); action 969 lib/pengine/pe_actions.c update_resource_flags_for_action(rsc, action); action 973 lib/pengine/pe_actions.c return action; action 1193 lib/pengine/pe_actions.c pe_free_action(pe_action_t * action) action 1195 lib/pengine/pe_actions.c if (action == NULL) { action 1198 lib/pengine/pe_actions.c g_list_free_full(action->actions_before, free); /* pe_action_wrapper_t* */ action 1199 lib/pengine/pe_actions.c g_list_free_full(action->actions_after, free); /* pe_action_wrapper_t* */ action 1200 lib/pengine/pe_actions.c if (action->extra) { action 1201 lib/pengine/pe_actions.c g_hash_table_destroy(action->extra); action 1203 lib/pengine/pe_actions.c if (action->meta) { action 1204 lib/pengine/pe_actions.c g_hash_table_destroy(action->meta); action 1206 lib/pengine/pe_actions.c free(action->cancel_task); action 1207 lib/pengine/pe_actions.c free(action->reason); action 1208 lib/pengine/pe_actions.c free(action->task); action 1209 lib/pengine/pe_actions.c free(action->uuid); action 1210 lib/pengine/pe_actions.c free(action->node); action 1211 lib/pengine/pe_actions.c free(action); action 1215 lib/pengine/pe_actions.c pe_get_configured_timeout(pe_resource_t *rsc, const char *action, pe_working_set_t *data_set) action 1233 lib/pengine/pe_actions.c if (pcmk__str_eq(action, crm_element_value(child, XML_NVPAIR_ATTR_NAME), action 1302 lib/pengine/pe_actions.c pe_action_t *action = (pe_action_t *) gIter->data; action 1304 lib/pengine/pe_actions.c if (uuid != NULL && !pcmk__str_eq(uuid, action->uuid, pcmk__str_casei)) { action 1307 lib/pengine/pe_actions.c } else if (task != NULL && !pcmk__str_eq(task, action->task, pcmk__str_casei)) { action 1311 lib/pengine/pe_actions.c return action; action 1313 lib/pengine/pe_actions.c } else if (action->node == NULL) { action 1316 lib/pengine/pe_actions.c } else if (on_node->details == action->node->details) { action 1317 lib/pengine/pe_actions.c return action; action 1333 lib/pengine/pe_actions.c pe_action_t *action = (pe_action_t *) gIter->data; action 1335 lib/pengine/pe_actions.c if (!pcmk__str_eq(key, action->uuid, pcmk__str_casei)) { action 1340 lib/pengine/pe_actions.c result = g_list_prepend(result, action); action 1342 lib/pengine/pe_actions.c } else if (action->node == NULL) { action 1346 lib/pengine/pe_actions.c action->node = pe__copy_node(on_node); action 1347 lib/pengine/pe_actions.c result = g_list_prepend(result, action); action 1349 lib/pengine/pe_actions.c } else if (on_node->details == action->node->details) { action 1351 lib/pengine/pe_actions.c result = g_list_prepend(result, action); action 1370 lib/pengine/pe_actions.c pe_action_t *action = (pe_action_t *) gIter->data; action 1372 lib/pengine/pe_actions.c if ((action->node != NULL) action 1373 lib/pengine/pe_actions.c && pcmk__str_eq(key, action->uuid, pcmk__str_casei) action 1374 lib/pengine/pe_actions.c && pcmk__str_eq(on_node->details->id, action->node->details->id, action 1378 lib/pengine/pe_actions.c result = g_list_prepend(result, action); action 1424 lib/pengine/pe_actions.c pe__action2reason(pe_action_t *action, enum pe_action_flags flag) action 1442 lib/pengine/pe_actions.c (action->rsc == NULL)? "" : " ", action 1443 lib/pengine/pe_actions.c (action->rsc == NULL)? "" : action->rsc->id, action 1444 lib/pengine/pe_actions.c action->task); action 1447 lib/pengine/pe_actions.c void pe_action_set_reason(pe_action_t *action, const char *reason, bool overwrite) action 1449 lib/pengine/pe_actions.c if (action->reason != NULL && overwrite) { action 1450 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "Changing %s reason from '%s' to '%s'", action 1451 lib/pengine/pe_actions.c action->uuid, action->reason, pcmk__s(reason, "(none)")); action 1452 lib/pengine/pe_actions.c } else if (action->reason == NULL) { action 1453 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "Set %s reason to '%s'", action 1454 lib/pengine/pe_actions.c action->uuid, pcmk__s(reason, "(none)")); action 1460 lib/pengine/pe_actions.c pcmk__str_update(&action->reason, reason); action 1650 lib/pengine/pe_actions.c pe_action_t *action = NULL; action 1654 lib/pengine/pe_actions.c action = custom_action(rsc, pcmk__op_key(rsc->id, task, 0), task, NULL, action 1656 lib/pengine/pe_actions.c pe__set_action_flags(action, pe_action_pseudo); action 1658 lib/pengine/pe_actions.c pe__set_action_flags(action, pe_action_runnable); action 1660 lib/pengine/pe_actions.c return action; action 1673 lib/pengine/pe_actions.c pe__add_action_expected_result(pe_action_t *action, int expected_result) action 1677 lib/pengine/pe_actions.c CRM_ASSERT((action != NULL) && (action->meta != NULL)); action 1682 lib/pengine/pe_actions.c g_hash_table_insert(action->meta, name, pcmk__itoa(expected_result)); action 105 lib/pengine/pe_digest.c pe_action_t *action = NULL; action 130 lib/pengine/pe_digest.c action = custom_action(rsc, pcmk__op_key(rsc->id, task, *interval_ms), action 136 lib/pengine/pe_digest.c g_hash_table_foreach(action->extra, hash2field, data->params_all); action 137 lib/pengine/pe_digest.c g_hash_table_foreach(action->meta, hash2metafield, data->params_all); action 151 lib/pengine/pe_digest.c && g_hash_table_size(action->extra) > 0) { action 155 lib/pengine/pe_digest.c pe_free_action(action); action 256 lib/pengine/pe_notif.c add_notify_data_to_action_meta(notify_data_t *n_data, pe_action_t *action) action 261 lib/pengine/pe_notif.c add_hash_param(action->meta, nvpair->name, nvpair->value); action 277 lib/pengine/pe_notif.c new_notify_pseudo_action(pe_resource_t *rsc, const pe_action_t *action, action 283 lib/pengine/pe_notif.c pcmk__notify_key(rsc->id, notif_type, action->task), action 285 lib/pengine/pe_notif.c pcmk_is_set(action->flags, pe_action_optional), action 289 lib/pengine/pe_notif.c add_hash_param(notify->meta, "notify_key_operation", action->task); action 429 lib/pengine/pe_notif.c pe_action_t *action, pe_action_t *complete) action 440 lib/pengine/pe_notif.c n_data->action = task; action 442 lib/pengine/pe_notif.c if (action != NULL) { // Need "pre-" pseudo-actions action 445 lib/pengine/pe_notif.c n_data->pre = new_notify_pseudo_action(rsc, action, RSC_NOTIFY, "pre"); action 448 lib/pengine/pe_notif.c add_hash_param(n_data->pre->meta, "notify_operation", n_data->action); action 451 lib/pengine/pe_notif.c n_data->pre_done = new_notify_pseudo_action(rsc, action, RSC_NOTIFIED, action 456 lib/pengine/pe_notif.c "notify_operation", n_data->action); action 460 lib/pengine/pe_notif.c order_actions(n_data->pre_done, action, pe_order_optional); action 475 lib/pengine/pe_notif.c add_hash_param(n_data->post->meta, "notify_operation", n_data->action); action 489 lib/pengine/pe_notif.c "notify_operation", n_data->action); action 497 lib/pengine/pe_notif.c if ((action != NULL) && (complete != NULL)) { action 672 lib/pengine/pe_notif.c && pcmk__str_eq(n_data->action, RSC_STOP, pcmk__str_none)) { action 679 lib/pengine/pe_notif.c && pcmk__str_eq(n_data->action, RSC_START, pcmk__str_none)) { action 688 lib/pengine/pe_notif.c && pcmk__str_eq(n_data->action, RSC_DEMOTE, pcmk__str_none)) { action 697 lib/pengine/pe_notif.c && pcmk__str_eq(n_data->action, RSC_PROMOTE, pcmk__str_none)) { action 773 lib/pengine/pe_notif.c find_remote_start(pe_action_t *action) action 775 lib/pengine/pe_notif.c if ((action != NULL) && (action->node != NULL)) { action 776 lib/pengine/pe_notif.c pe_resource_t *remote_rsc = action->node->details->remote_rsc; action 799 lib/pengine/pe_notif.c enum action_tasks task = text2task(n_data->action); action 830 lib/pengine/pe_notif.c rsc->id, n_data->action); action 838 lib/pengine/pe_notif.c rsc->id, n_data->action); action 846 lib/pengine/pe_notif.c rsc->id, n_data->action); action 857 lib/pengine/pe_notif.c rsc->id, n_data->action); action 3199 lib/pengine/unpack.c pe_action_t *action = NULL; action 3248 lib/pengine/unpack.c action = custom_action(rsc, strdup(key), task, NULL, TRUE, FALSE, data_set); action 3249 lib/pengine/unpack.c if (cmp_on_fail(*on_fail, action->on_fail) < 0) { action 3251 lib/pengine/unpack.c fail2text(action->on_fail), action->uuid, key); action 3252 lib/pengine/unpack.c *on_fail = action->on_fail; action 3268 lib/pengine/unpack.c if (action->on_fail == action_fail_block) { action 3299 lib/pengine/unpack.c fail2text(action->on_fail), role2text(action->fail_role)); action 3301 lib/pengine/unpack.c if (action->fail_role != RSC_ROLE_STARTED && rsc->next_role < action->fail_role) { action 3302 lib/pengine/unpack.c pe__set_next_role(rsc, action->fail_role, "failure"); action 3305 lib/pengine/unpack.c if (action->fail_role == RSC_ROLE_STOPPED) { action 3331 lib/pengine/unpack.c pe_free_action(action); action 3593 lib/pengine/unpack.c order_after_remote_fencing(pe_action_t *action, pe_resource_t *remote_conn, action 3602 lib/pengine/unpack.c order_actions(fence, action, pe_order_implies_then); action 3802 lib/pengine/unpack.c pe_action_t *action = custom_action(rsc, strdup(key), task, NULL, TRUE, FALSE, data_set); action 3804 lib/pengine/unpack.c result = action->on_fail; action 3805 lib/pengine/unpack.c pe_free_action(action); action 499 lib/pengine/utils.c if (after->action == rh_action && (after->type & order)) { action 505 lib/pengine/utils.c wrapper->action = rh_action; action 512 lib/pengine/utils.c wrapper->action = lh_action; action 180 lib/services/services.c const char *agent, const char *action) action 206 lib/services/services.c if (pcmk__str_empty(action)) { action 218 lib/services/services.c const char *agent, const char *action) action 236 lib/services/services.c && pcmk__str_eq(action, "monitor", pcmk__str_casei)) { action 237 lib/services/services.c action = "status"; action 239 lib/services/services.c op->action = strdup(action); action 240 lib/services/services.c if (op->action == NULL) { action 256 lib/services/services.c const char *action, guint interval_ms, int timeout, action 286 lib/services/services.c action)) { action 293 lib/services/services.c op->id = pcmk__op_key(name, action, interval_ms); action 296 lib/services/services.c action) != pcmk_rc_ok) { action 298 lib/services/services.c action, name, strerror(ENOMEM)); action 328 lib/services/services.c action, name, strerror(rc)); action 337 lib/services/services.c const char *action, guint interval_ms, int timeout, action 341 lib/services/services.c provider, agent, action, interval_ms, timeout, action 416 lib/services/services.c svc_action_t *action = services_action_create_generic(exec, NULL); action 418 lib/services/services.c action->id = strdup(id); action 419 lib/services/services.c action->standard = strdup(PCMK_RESOURCE_CLASS_ALERT); action 420 lib/services/services.c CRM_ASSERT((action->id != NULL) && (action->standard != NULL)); action 422 lib/services/services.c action->timeout = timeout; action 423 lib/services/services.c action->params = params; action 424 lib/services/services.c action->sequence = sequence; action 425 lib/services/services.c action->cb_data = cb_data; action 426 lib/services/services.c return action; action 465 lib/services/services.c services_alert_async(svc_action_t *action, void (*cb)(svc_action_t *op)) action 467 lib/services/services.c action->synchronous = false; action 468 lib/services/services.c action->opaque->callback = cb; action 469 lib/services/services.c return services__execute_file(action) == pcmk_rc_ok; action 509 lib/services/services.c crm_trace("Removing timer for call %s to %s", op->action, op->rsc); action 550 lib/services/services.c services_result2ocf(const char *standard, const char *action, int exit_status) action 575 lib/services/services.c return services__lsb2ocf(action, exit_status); action 620 lib/services/services.c free(op->action); action 664 lib/services/services.c services_action_cancel(const char *name, const char *action, guint interval_ms) action 667 lib/services/services.c char *id = pcmk__op_key(name, action, interval_ms); action 732 lib/services/services.c services_action_kick(const char *name, const char *action, guint interval_ms) action 735 lib/services/services.c char *id = pcmk__op_key(name, action, interval_ms); action 1031 lib/services/services.c if (pcmk__str_eq(op->action, "meta-data", pcmk__str_casei)) { action 1044 lib/services/services.c op->rsc, op->action, op->interval_ms, op->opaque->exec, op->rc); action 1271 lib/services/services.c services__set_result(svc_action_t *action, int agent_status, action 1274 lib/services/services.c if (action == NULL) { action 1278 lib/services/services.c action->rc = agent_status; action 1279 lib/services/services.c action->status = exec_status; action 1281 lib/services/services.c if (!pcmk__str_eq(action->opaque->exit_reason, reason, action 1283 lib/services/services.c free(action->opaque->exit_reason); action 1284 lib/services/services.c action->opaque->exit_reason = (reason == NULL)? NULL : strdup(reason); action 1300 lib/services/services.c services__format_result(svc_action_t *action, int agent_status, action 1308 lib/services/services.c if (action == NULL) { action 1312 lib/services/services.c action->rc = agent_status; action 1313 lib/services/services.c action->status = exec_status; action 1321 lib/services/services.c free(action->opaque->exit_reason); action 1322 lib/services/services.c action->opaque->exit_reason = reason; action 1334 lib/services/services.c services__set_cancelled(svc_action_t *action) action 1336 lib/services/services.c if (action != NULL) { action 1337 lib/services/services.c action->status = PCMK_EXEC_CANCELLED; action 1338 lib/services/services.c free(action->opaque->exit_reason); action 1339 lib/services/services.c action->opaque->exit_reason = NULL; action 1352 lib/services/services.c services__action_kind(svc_action_t *action) action 1354 lib/services/services.c if ((action == NULL) || (action->standard == NULL)) { action 1356 lib/services/services.c } else if (pcmk__str_eq(action->standard, PCMK_RESOURCE_CLASS_STONITH, action 1359 lib/services/services.c } else if (pcmk__str_eq(action->standard, PCMK_RESOURCE_CLASS_ALERT, action 1376 lib/services/services.c services__exit_reason(svc_action_t *action) action 1378 lib/services/services.c return action->opaque->exit_reason; action 1392 lib/services/services.c services__grab_stdout(svc_action_t *action) action 1394 lib/services/services.c char *output = action->stdout_data; action 1396 lib/services/services.c action->stdout_data = NULL; action 1411 lib/services/services.c services__grab_stderr(svc_action_t *action) action 1413 lib/services/services.c char *output = action->stderr_data; action 1415 lib/services/services.c action->stderr_data = NULL; action 728 lib/services/services_linux.c && pcmk__str_eq(op->action, "status", pcmk__str_casei)) { action 763 lib/services/services_linux.c && pcmk__str_eq(op->action, "status", pcmk__str_casei)) { action 798 lib/services/services_linux.c && pcmk__str_eq(op->action, "status", pcmk__str_casei)) { action 834 lib/services/services_linux.c && pcmk__str_eq(op->action, "status", pcmk__str_casei)) { action 957 lib/services/services_linux.c if (pcmk__str_eq(op->action, "stop", pcmk__str_casei)) { action 273 lib/services/services_lsb.c op->opaque->args[1] = strdup(op->action); action 290 lib/services/services_lsb.c services__lsb2ocf(const char *action, int exit_status) action 293 lib/services/services_lsb.c if (!pcmk__str_any_of(action, "status", "monitor", NULL)) { action 327 lib/services/services_lsb.c services_action_create(const char *name, const char *action, action 331 lib/services/services_lsb.c action, interval_ms, timeout, NULL, 0); action 19 lib/services/services_lsb.h enum ocf_exitcode services__lsb2ocf(const char *action, int exit_status); action 52 lib/services/services_nagios.c if (pcmk__str_eq(op->action, "monitor", pcmk__str_casei) action 149 lib/services/services_ocf.c op->opaque->args[1] = strdup(op->action); action 48 lib/services/services_private.h const char *services__action_kind(svc_action_t *action); action 85 lib/services/services_private.h void services__set_cancelled(svc_action_t *action); action 311 lib/services/systemd.c if (pcmk__str_eq(op->action, "stop", pcmk__str_casei)) { action 325 lib/services/systemd.c op->action, op->agent, action 462 lib/services/systemd.c name = systemd_service_name(arg_name, op == NULL || pcmk__str_eq(op->action, "meta-data", pcmk__str_none)); action 731 lib/services/systemd.c op->action, pcmk__s(op->rsc, "unknown resource")); action 742 lib/services/systemd.c op->action, pcmk__s(op->rsc, "unknown resource"), path); action 935 lib/services/systemd.c if (pcmk__str_any_of(op->action, "monitor", "status", NULL)) { action 958 lib/services/systemd.c } else if (pcmk__str_eq(op->action, "start", pcmk__str_none)) { action 962 lib/services/systemd.c } else if (pcmk__str_eq(op->action, "stop", pcmk__str_none)) { action 966 lib/services/systemd.c } else if (pcmk__str_eq(op->action, "restart", pcmk__str_none)) { action 974 lib/services/systemd.c pcmk__s(op->action, "(unspecified)")); action 991 lib/services/systemd.c char *name = systemd_service_name(op->agent, pcmk__str_eq(op->action, "meta-data", pcmk__str_none)); action 1030 lib/services/systemd.c op->action, op->agent, op->rsc); action 1033 lib/services/systemd.c "did not complete in time", op->action, op->agent); action 1059 lib/services/systemd.c if ((op->action == NULL) || (op->agent == NULL)) { action 1072 lib/services/systemd.c (op->synchronous? "" : "a"), op->action, op->agent, action 1075 lib/services/systemd.c if (pcmk__str_eq(op->action, "meta-data", pcmk__str_casei)) { action 415 lib/services/upstart.c if (pcmk__str_eq(op->action, "stop", pcmk__str_casei)) { action 426 lib/services/upstart.c } else if (pcmk__str_eq(op->action, "start", pcmk__str_casei) action 436 lib/services/upstart.c op->action, op->agent, pcmk__s(op->rsc, "with unknown name"), action 465 lib/services/upstart.c } else if (pcmk__str_eq(op->action, "stop", pcmk__str_none)) { action 474 lib/services/upstart.c "return type was unexpected", op->action, action 484 lib/services/upstart.c op->action, pcmk__s(op->rsc, "unknown resource"), path); action 521 lib/services/upstart.c const char *action = op->action; action 530 lib/services/upstart.c if ((op->action == NULL) || (op->agent == NULL)) { action 542 lib/services/upstart.c if (pcmk__str_eq(op->action, "meta-data", pcmk__str_casei)) { action 549 lib/services/upstart.c if (pcmk__str_eq(action, "stop", pcmk__str_none)) { action 566 lib/services/upstart.c if (pcmk__strcase_any_of(op->action, "monitor", "status", NULL)) { action 601 lib/services/upstart.c } else if (pcmk__str_eq(action, "start", pcmk__str_none)) { action 602 lib/services/upstart.c action = "Start"; action 604 lib/services/upstart.c } else if (pcmk__str_eq(action, "stop", pcmk__str_none)) { action 605 lib/services/upstart.c action = "Stop"; action 607 lib/services/upstart.c } else if (pcmk__str_eq(action, "restart", pcmk__str_none)) { action 608 lib/services/upstart.c action = "Restart"; action 622 lib/services/upstart.c action, pcmk__s(op->rsc, "unknown resource"), job); action 627 lib/services/upstart.c action); // method name action 668 lib/services/upstart.c } else if (pcmk__str_eq(op->action, "stop", pcmk__str_none)) { action 675 lib/services/upstart.c op->action); action 683 lib/services/upstart.c crm_debug("Call to %s passed: %s", op->action, path); action 184 maint/gnulib/lib/c-stack.c c_stack_action (_GL_ASYNC_SAFE void (*action) (int)) action 186 maint/gnulib/lib/c-stack.c segv_action = action ? action : null_action; action 208 maint/gnulib/lib/c-stack.c c_stack_action (_GL_ASYNC_SAFE void (*action) (_GL_UNUSED int) ) action 100 maint/gnulib/lib/fatal-signal.c struct sigaction action; action 102 maint/gnulib/lib/fatal-signal.c if (sigaction (fatal_signals[i], NULL, &action) >= 0 action 103 maint/gnulib/lib/fatal-signal.c && get_handler (&action) == SIG_IGN) action 122 maint/gnulib/lib/fatal-signal.c volatile action_t action; action 162 maint/gnulib/lib/fatal-signal.c action_t action; action 168 maint/gnulib/lib/fatal-signal.c action = actions[n].action; action 170 maint/gnulib/lib/fatal-signal.c action (sig); action 188 maint/gnulib/lib/fatal-signal.c struct sigaction action; action 190 maint/gnulib/lib/fatal-signal.c action.sa_handler = &fatal_signal_handler; action 194 maint/gnulib/lib/fatal-signal.c action.sa_flags = SA_NODEFER; action 195 maint/gnulib/lib/fatal-signal.c sigemptyset (&action.sa_mask); action 203 maint/gnulib/lib/fatal-signal.c sigaction (sig, &action, &saved_sigactions[sig]); action 214 maint/gnulib/lib/fatal-signal.c at_fatal_signal (action_t action) action 270 maint/gnulib/lib/fatal-signal.c actions[actions_count].action = action; action 178 maint/gnulib/lib/fcntl.c static int klibc_fcntl (int fd, int action, /* arg */...); action 202 maint/gnulib/lib/fcntl.c fcntl (int fd, int action, /* arg */...) action 210 maint/gnulib/lib/fcntl.c va_start (arg, action); action 211 maint/gnulib/lib/fcntl.c switch (action) action 259 maint/gnulib/lib/fcntl.c switch (action) action 328 maint/gnulib/lib/fcntl.c result = fcntl (fd, action); action 424 maint/gnulib/lib/fcntl.c result = fcntl (fd, action, x); action 432 maint/gnulib/lib/fcntl.c result = fcntl (fd, action, p); action 551 maint/gnulib/lib/fcntl.c klibc_fcntl (int fd, int action, /* arg */...) action 558 maint/gnulib/lib/fcntl.c va_start (arg_ptr, action); action 560 maint/gnulib/lib/fcntl.c result = fcntl (fd, action, arg); action 567 maint/gnulib/lib/fcntl.c switch (action) action 138 maint/gnulib/lib/fcntl.in.h _GL_FUNCDECL_RPL (fcntl, int, (int fd, int action, ...)); action 139 maint/gnulib/lib/fcntl.in.h _GL_CXXALIAS_RPL (fcntl, int, (int fd, int action, ...)); action 145 maint/gnulib/lib/fcntl.in.h _GL_FUNCDECL_SYS (fcntl, int, (int fd, int action, ...)); action 150 maint/gnulib/lib/fcntl.in.h _GL_CXXALIAS_SYS (fcntl, int, (int fd, int action, ...)); action 237 maint/gnulib/lib/gl_anytree_oset.h void (*action) (const void * /*elt*/, void * /*action_data*/), action 245 maint/gnulib/lib/gl_anytree_oset.h action (elt, action_data); action 292 maint/gnulib/lib/gl_array_oset.c void (*action) (const void * /*elt*/, void * /*action_data*/), action 300 maint/gnulib/lib/gl_array_oset.c action (elt, action_data); action 158 maint/gnulib/lib/gl_oset.h void (*action) (const void *elt, void *action_data), action 227 maint/gnulib/lib/gl_oset.h void (*action) (const void * /*elt*/, void * /*action_data*/), action 296 maint/gnulib/lib/gl_oset.h void (*action) (const void * /*elt*/, void * /*action_data*/), action 300 maint/gnulib/lib/gl_oset.h ->update (set, elt, action, action_data); action 113 maint/gnulib/lib/gl_oset.hh void (*action) (ELTYPE * /*elt*/, DT * /*action_data*/), action 117 maint/gnulib/lib/gl_oset.hh reinterpret_cast<void (*) (const void *, void *)> (action), action 212 maint/gnulib/lib/search.in.h (const void *vroot, _gl_search_action_fn action) action 215 maint/gnulib/lib/search.in.h (const void *vroot, _gl_search_action_fn action)); action 219 maint/gnulib/lib/search.in.h (const void *vroot, _gl_search_action_fn action) action 223 maint/gnulib/lib/search.in.h (const void *vroot, _gl_search_action_fn action)); action 64 maint/gnulib/lib/sigpipe-die.c struct sigaction action; action 66 maint/gnulib/lib/sigpipe-die.c action.sa_handler = sigpipe_die_handler; action 67 maint/gnulib/lib/sigpipe-die.c action.sa_flags = 0; action 68 maint/gnulib/lib/sigpipe-die.c sigemptyset (&action.sa_mask); action 69 maint/gnulib/lib/sigpipe-die.c if (sigaction (SIGPIPE, &action, NULL) >= 0) action 1174 maint/gnulib/lib/sigsegv.c struct sigaction action; action 1177 maint/gnulib/lib/sigsegv.c action.sa_sigaction = &sigsegv_handler; action 1179 maint/gnulib/lib/sigsegv.c action.sa_handler = (void (*) (int)) &sigsegv_handler; action 1189 maint/gnulib/lib/sigsegv.c sigemptyset (&action.sa_mask); action 1191 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGHUP); action 1194 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGINT); action 1197 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGQUIT); action 1200 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGPIPE); action 1203 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGALRM); action 1206 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGTERM); action 1209 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGUSR1); action 1212 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGUSR2); action 1215 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGCHLD); action 1218 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGCLD); action 1221 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGURG); action 1224 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGIO); action 1227 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGPOLL); action 1230 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGXCPU); action 1233 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGXFSZ); action 1236 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGVTALRM); action 1239 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGPROF); action 1242 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGPWR); action 1245 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGLOST); action 1248 maint/gnulib/lib/sigsegv.c sigaddset (&action.sa_mask,SIGWINCH); action 1253 maint/gnulib/lib/sigsegv.c action.sa_flags = SA_SIGINFO; action 1255 maint/gnulib/lib/sigsegv.c action.sa_flags = 0; action 1263 maint/gnulib/lib/sigsegv.c action.sa_flags |= SA_ONSTACK; action 1265 maint/gnulib/lib/sigsegv.c sigaction (sig, &action, (struct sigaction *) NULL); action 61 maint/gnulib/lib/spawn_faction_addchdir.c rec->action.chdir_action.path = path_copy; action 61 maint/gnulib/lib/spawn_faction_addclose.c rec->action.open_action.fd = fd; action 61 maint/gnulib/lib/spawn_faction_adddup2.c rec->action.dup2_action.fd = fd; action 62 maint/gnulib/lib/spawn_faction_adddup2.c rec->action.dup2_action.newfd = newfd; action 60 maint/gnulib/lib/spawn_faction_addfchdir.c rec->action.fchdir_action.fd = fd; action 74 maint/gnulib/lib/spawn_faction_addopen.c rec->action.open_action.fd = fd; action 75 maint/gnulib/lib/spawn_faction_addopen.c rec->action.open_action.path = path_copy; action 76 maint/gnulib/lib/spawn_faction_addopen.c rec->action.open_action.oflag = oflag; action 77 maint/gnulib/lib/spawn_faction_addopen.c rec->action.open_action.mode = mode; action 45 maint/gnulib/lib/spawn_faction_destroy.c free (sa->action.open_action.path); action 48 maint/gnulib/lib/spawn_faction_destroy.c free (sa->action.chdir_action.path); action 57 maint/gnulib/lib/spawn_int.h } action; action 569 maint/gnulib/lib/spawni.c struct __spawn_action *action = &file_actions->_actions[cnt]; action 571 maint/gnulib/lib/spawni.c switch (action->tag) action 575 maint/gnulib/lib/spawni.c int fd = action->action.close_action.fd; action 583 maint/gnulib/lib/spawni.c int newfd = action->action.open_action.fd; action 584 maint/gnulib/lib/spawni.c const char *filename = action->action.open_action.path; action 585 maint/gnulib/lib/spawni.c int flags = action->action.open_action.oflag; action 586 maint/gnulib/lib/spawni.c mode_t mode = action->action.open_action.mode; action 596 maint/gnulib/lib/spawni.c int oldfd = action->action.dup2_action.fd; action 597 maint/gnulib/lib/spawni.c int newfd = action->action.dup2_action.newfd; action 605 maint/gnulib/lib/spawni.c char *newdir = action->action.chdir_action.path; action 829 maint/gnulib/lib/spawni.c struct __spawn_action *action = &file_actions->_actions[cnt]; action 831 maint/gnulib/lib/spawni.c switch (action->tag) action 834 maint/gnulib/lib/spawni.c if (close_not_cancel (action->action.close_action.fd) != 0) action 841 maint/gnulib/lib/spawni.c int new_fd = open_not_cancel (action->action.open_action.path, action 842 maint/gnulib/lib/spawni.c action->action.open_action.oflag action 844 maint/gnulib/lib/spawni.c action->action.open_action.mode); action 851 maint/gnulib/lib/spawni.c if (new_fd != action->action.open_action.fd) action 853 maint/gnulib/lib/spawni.c if (dup2 (new_fd, action->action.open_action.fd) action 854 maint/gnulib/lib/spawni.c != action->action.open_action.fd) action 866 maint/gnulib/lib/spawni.c if (dup2 (action->action.dup2_action.fd, action 867 maint/gnulib/lib/spawni.c action->action.dup2_action.newfd) action 868 maint/gnulib/lib/spawni.c != action->action.dup2_action.newfd) action 874 maint/gnulib/lib/spawni.c if (chdir (action->action.chdir_action.path) < 0) action 880 maint/gnulib/lib/spawni.c if (fchdir (action->action.fchdir_action.fd) < 0) action 55 maint/gnulib/lib/supersede.c struct supersede_final_action *action) action 72 maint/gnulib/lib/supersede.c action->final_rename_temp = temp_filename; action 73 maint/gnulib/lib/supersede.c action->final_rename_dest = canon_filename; action 80 maint/gnulib/lib/supersede.c struct supersede_final_action *action) action 111 maint/gnulib/lib/supersede.c action->final_rename_temp = NULL; action 112 maint/gnulib/lib/supersede.c action->final_rename_dest = NULL; action 125 maint/gnulib/lib/supersede.c fd = create_temp_file (canon_filename, flags, mode, action); action 137 maint/gnulib/lib/supersede.c action->final_rename_temp = NULL; action 138 maint/gnulib/lib/supersede.c action->final_rename_dest = NULL; action 155 maint/gnulib/lib/supersede.c action->final_rename_temp = NULL; action 156 maint/gnulib/lib/supersede.c action->final_rename_dest = NULL; action 168 maint/gnulib/lib/supersede.c action); action 180 maint/gnulib/lib/supersede.c action->final_rename_temp = NULL; action 181 maint/gnulib/lib/supersede.c action->final_rename_dest = NULL; action 197 maint/gnulib/lib/supersede.c action->final_rename_temp = NULL; action 198 maint/gnulib/lib/supersede.c action->final_rename_dest = NULL; action 216 maint/gnulib/lib/supersede.c action->final_rename_temp = NULL; action 217 maint/gnulib/lib/supersede.c action->final_rename_dest = NULL; action 231 maint/gnulib/lib/supersede.c fd = create_temp_file (canon_filename, flags, mode, action); action 241 maint/gnulib/lib/supersede.c action->final_rename_temp = NULL; action 242 maint/gnulib/lib/supersede.c action->final_rename_dest = NULL; action 249 maint/gnulib/lib/supersede.c after_close_actions (int ret, const struct supersede_final_action *action) action 254 maint/gnulib/lib/supersede.c if (action->final_rename_temp != NULL) action 257 maint/gnulib/lib/supersede.c ignore_value (unlink (action->final_rename_temp)); action 258 maint/gnulib/lib/supersede.c free (action->final_rename_temp); action 259 maint/gnulib/lib/supersede.c free (action->final_rename_dest); action 265 maint/gnulib/lib/supersede.c if (action->final_rename_temp != NULL) action 270 maint/gnulib/lib/supersede.c if (stat (action->final_rename_temp, &temp_statbuf) < 0) action 275 maint/gnulib/lib/supersede.c ignore_value (unlink (action->final_rename_temp)); action 276 maint/gnulib/lib/supersede.c free (action->final_rename_temp); action 277 maint/gnulib/lib/supersede.c free (action->final_rename_dest); action 282 maint/gnulib/lib/supersede.c if (stat (action->final_rename_dest, &dest_statbuf) >= 0) action 291 maint/gnulib/lib/supersede.c ignore_value (utimens (action->final_rename_temp, ts)); action 297 maint/gnulib/lib/supersede.c ignore_value (chown (action->final_rename_temp, action 304 maint/gnulib/lib/supersede.c switch (qcopy_acl (action->final_rename_dest, -1, action 305 maint/gnulib/lib/supersede.c action->final_rename_temp, -1, action 312 maint/gnulib/lib/supersede.c ignore_value (unlink (action->final_rename_temp)); action 313 maint/gnulib/lib/supersede.c free (action->final_rename_temp); action 314 maint/gnulib/lib/supersede.c free (action->final_rename_dest); action 319 maint/gnulib/lib/supersede.c chmod (action->final_rename_temp, dest_statbuf.st_mode); action 338 maint/gnulib/lib/supersede.c if (!MoveFileEx (action->final_rename_temp, action->final_rename_dest, action 349 maint/gnulib/lib/supersede.c ignore_value (unlink (action->final_rename_temp)); action 350 maint/gnulib/lib/supersede.c free (action->final_rename_temp); action 351 maint/gnulib/lib/supersede.c free (action->final_rename_dest); action 356 maint/gnulib/lib/supersede.c if (rename (action->final_rename_temp, action->final_rename_dest) < 0) action 359 maint/gnulib/lib/supersede.c ignore_value (unlink (action->final_rename_temp)); action 360 maint/gnulib/lib/supersede.c free (action->final_rename_temp); action 361 maint/gnulib/lib/supersede.c free (action->final_rename_dest); action 367 maint/gnulib/lib/supersede.c unregister_temporary_file (action->final_rename_temp); action 369 maint/gnulib/lib/supersede.c free (action->final_rename_temp); action 370 maint/gnulib/lib/supersede.c free (action->final_rename_dest); action 377 maint/gnulib/lib/supersede.c close_supersede (int fd, const struct supersede_final_action *action) action 381 maint/gnulib/lib/supersede.c free (action->final_rename_temp); action 382 maint/gnulib/lib/supersede.c free (action->final_rename_dest); action 387 maint/gnulib/lib/supersede.c if (action->final_rename_temp != NULL) action 391 maint/gnulib/lib/supersede.c return after_close_actions (ret, action); action 397 maint/gnulib/lib/supersede.c struct supersede_final_action *action) action 444 maint/gnulib/lib/supersede.c action); action 453 maint/gnulib/lib/supersede.c close_supersede (-1, action); action 460 maint/gnulib/lib/supersede.c fclose_supersede (FILE *stream, const struct supersede_final_action *action) action 465 maint/gnulib/lib/supersede.c if (action->final_rename_temp != NULL) action 469 maint/gnulib/lib/supersede.c return after_close_actions (ret, action); action 474 maint/gnulib/lib/supersede.c fwriteerror_supersede (FILE *stream, const struct supersede_final_action *action) action 479 maint/gnulib/lib/supersede.c if (action->final_rename_temp != NULL) action 483 maint/gnulib/lib/supersede.c return after_close_actions (ret, action); action 97 maint/gnulib/lib/supersede.h struct supersede_final_action *action); action 103 maint/gnulib/lib/supersede.h const struct supersede_final_action *action); action 138 maint/gnulib/lib/supersede.h struct supersede_final_action *action); action 144 maint/gnulib/lib/supersede.h const struct supersede_final_action *action); action 151 maint/gnulib/lib/supersede.h const struct supersede_final_action *action); action 597 maint/gnulib/lib/term-style-control.c struct sigaction action; action 599 maint/gnulib/lib/term-style-control.c return (sigaction (sig, NULL, &action) >= 0 action 600 maint/gnulib/lib/term-style-control.c && get_handler (&action) == SIG_IGN); action 712 maint/gnulib/lib/term-style-control.c struct sigaction action; action 713 maint/gnulib/lib/term-style-control.c action.sa_handler = SIG_DFL; action 714 maint/gnulib/lib/term-style-control.c action.sa_flags = SA_NODEFER; action 715 maint/gnulib/lib/term-style-control.c sigemptyset (&action.sa_mask); action 716 maint/gnulib/lib/term-style-control.c sigaction (sig, &action, NULL); action 745 maint/gnulib/lib/term-style-control.c struct sigaction action; action 746 maint/gnulib/lib/term-style-control.c action.sa_handler = &stopping_signal_handler; action 751 maint/gnulib/lib/term-style-control.c action.sa_flags = SA_NODEFER; action 752 maint/gnulib/lib/term-style-control.c sigemptyset (&action.sa_mask); action 753 maint/gnulib/lib/term-style-control.c sigaction (sig, &action, NULL); action 794 maint/gnulib/lib/term-style-control.c struct sigaction action; action 795 maint/gnulib/lib/term-style-control.c action.sa_handler = &continuing_signal_handler; action 799 maint/gnulib/lib/term-style-control.c action.sa_flags = SA_NODEFER; action 800 maint/gnulib/lib/term-style-control.c sigemptyset (&action.sa_mask); action 801 maint/gnulib/lib/term-style-control.c sigaction (sig, &action, NULL); action 835 maint/gnulib/lib/term-style-control.c struct sigaction action; action 836 maint/gnulib/lib/term-style-control.c action.sa_handler = &stopping_signal_handler; action 840 maint/gnulib/lib/term-style-control.c action.sa_flags = SA_NODEFER; action 841 maint/gnulib/lib/term-style-control.c sigemptyset (&action.sa_mask); action 842 maint/gnulib/lib/term-style-control.c sigaction (sig, &action, NULL); action 620 maint/gnulib/lib/tsearch.c trecurse (const void *vroot, __action_fn_t action, int level) action 625 maint/gnulib/lib/tsearch.c (*action) (root, leaf, level); action 628 maint/gnulib/lib/tsearch.c (*action) (root, preorder, level); action 630 maint/gnulib/lib/tsearch.c trecurse (root->left, action, level + 1); action 631 maint/gnulib/lib/tsearch.c (*action) (root, postorder, level); action 633 maint/gnulib/lib/tsearch.c trecurse (root->right, action, level + 1); action 634 maint/gnulib/lib/tsearch.c (*action) (root, endorder, level); action 643 maint/gnulib/lib/tsearch.c __twalk (const void *vroot, __action_fn_t action) action 649 maint/gnulib/lib/tsearch.c if (root != NULL && action != NULL) action 650 maint/gnulib/lib/tsearch.c trecurse (root, action, 0); action 347 maint/gnulib/tests/test-asyncsafe-linked_list-strong.c struct sigaction action; action 348 maint/gnulib/tests/test-asyncsafe-linked_list-strong.c action.sa_handler = sigint_handler; action 349 maint/gnulib/tests/test-asyncsafe-linked_list-strong.c action.sa_flags = SA_RESTART | SA_NODEFER; action 350 maint/gnulib/tests/test-asyncsafe-linked_list-strong.c sigemptyset (&action.sa_mask); action 351 maint/gnulib/tests/test-asyncsafe-linked_list-strong.c ASSERT (sigaction (MY_SIGNAL, &action, NULL) == 0); action 469 maint/gnulib/tests/test-asyncsafe-linked_list-weak.c struct sigaction action; action 470 maint/gnulib/tests/test-asyncsafe-linked_list-weak.c action.sa_handler = sigint_handler; action 471 maint/gnulib/tests/test-asyncsafe-linked_list-weak.c action.sa_flags = SA_RESTART | SA_NODEFER; action 472 maint/gnulib/tests/test-asyncsafe-linked_list-weak.c sigemptyset (&action.sa_mask); action 473 maint/gnulib/tests/test-asyncsafe-linked_list-weak.c ASSERT (sigaction (MY_SIGNAL, &action, NULL) == 0); action 72 maint/gnulib/tests/test-oset-c++.cc ASSERT (set1.update (A, action, &data) == 1); action 61 maint/gnulib/tests/test-oset-update.h ASSERT (gl_oset_update (set1, B, action, &data) == 1); action 83 maint/gnulib/tests/test-oset-update.h ASSERT (gl_oset_update (set1, D, action, &data) == 0); action 105 maint/gnulib/tests/test-oset-update.h ASSERT (gl_oset_update (set1, A, action, &data) == -1); action 124 maint/gnulib/tests/test-oset-update.h ASSERT (gl_oset_update (set1, A, action, &data) == 0); action 32 maint/gnulib/tests/test-supersede-fopen.h struct supersede_final_action action; action 36 maint/gnulib/tests/test-supersede-fopen.h &action); action 43 maint/gnulib/tests/test-supersede-fopen.h ASSERT (fclose_supersede (fp, &action) == 0); action 59 maint/gnulib/tests/test-supersede-fopen.h struct supersede_final_action action; action 63 maint/gnulib/tests/test-supersede-fopen.h &action); action 81 maint/gnulib/tests/test-supersede-fopen.h ASSERT (fclose_supersede (fp, &action) == 0); action 107 maint/gnulib/tests/test-supersede-fopen.h struct supersede_final_action action; action 111 maint/gnulib/tests/test-supersede-fopen.h &action); action 115 maint/gnulib/tests/test-supersede-fopen.h ASSERT (fclose_supersede (fp, &action) == 0); action 131 maint/gnulib/tests/test-supersede-fopen.h struct supersede_final_action action; action 135 maint/gnulib/tests/test-supersede-fopen.h &action); action 153 maint/gnulib/tests/test-supersede-fopen.h ASSERT (fclose_supersede (fp, &action) == 0); action 188 maint/gnulib/tests/test-supersede-fopen.h struct supersede_final_action action; action 192 maint/gnulib/tests/test-supersede-fopen.h &action); action 196 maint/gnulib/tests/test-supersede-fopen.h ASSERT (fclose_supersede (fp, &action) == 0); action 217 maint/gnulib/tests/test-supersede-fopen.h struct supersede_final_action action; action 221 maint/gnulib/tests/test-supersede-fopen.h &action); action 228 maint/gnulib/tests/test-supersede-fopen.h ASSERT (fclose_supersede (fp, &action) == 0); action 251 maint/gnulib/tests/test-supersede-fopen.h struct supersede_final_action action; action 255 maint/gnulib/tests/test-supersede-fopen.h &action); action 32 maint/gnulib/tests/test-supersede-open.h struct supersede_final_action action; action 35 maint/gnulib/tests/test-supersede-open.h &action); action 42 maint/gnulib/tests/test-supersede-open.h ASSERT (close_supersede (fd, &action) == 0); action 58 maint/gnulib/tests/test-supersede-open.h struct supersede_final_action action; action 61 maint/gnulib/tests/test-supersede-open.h &action); action 79 maint/gnulib/tests/test-supersede-open.h ASSERT (close_supersede (fd, &action) == 0); action 105 maint/gnulib/tests/test-supersede-open.h struct supersede_final_action action; action 108 maint/gnulib/tests/test-supersede-open.h &action); action 112 maint/gnulib/tests/test-supersede-open.h ASSERT (close_supersede (fd, &action) == 0); action 128 maint/gnulib/tests/test-supersede-open.h struct supersede_final_action action; action 132 maint/gnulib/tests/test-supersede-open.h &action); action 150 maint/gnulib/tests/test-supersede-open.h ASSERT (close_supersede (fd, &action) == 0); action 185 maint/gnulib/tests/test-supersede-open.h struct supersede_final_action action; action 189 maint/gnulib/tests/test-supersede-open.h &action); action 193 maint/gnulib/tests/test-supersede-open.h ASSERT (close_supersede (fd, &action) == 0); action 214 maint/gnulib/tests/test-supersede-open.h struct supersede_final_action action; action 218 maint/gnulib/tests/test-supersede-open.h &action); action 225 maint/gnulib/tests/test-supersede-open.h ASSERT (close_supersede (fd, &action) == 0); action 248 maint/gnulib/tests/test-supersede-open.h struct supersede_final_action action; action 252 maint/gnulib/tests/test-supersede-open.h &action); action 171 maint/gnulib/tests/test-tsearch.c mangle_tree (enum order how, enum action what, void **root, int lag) action 162 tools/crm_resource_print.c const char *action = va_arg(args, const char *); action 175 tools/crm_resource_print.c action, action 189 tools/crm_resource_print.c action, action 207 tools/crm_resource_print.c const char *action G_GNUC_UNUSED = va_arg(args, const char *); action 333 tools/crm_resource_print.c const char *action = va_arg(args, const char *); action 356 tools/crm_resource_print.c out->message(out, "agent-status", status, action, rsc_name, class, provider, action 360 tools/crm_resource_print.c if (verbose == 0 && pcmk__str_eq(action, "validate-all", pcmk__str_casei)) { action 392 tools/crm_resource_print.c const char *action = va_arg(args, const char *); action 401 tools/crm_resource_print.c "action", action, action 429 tools/crm_resource_print.c out->message(out, "agent-status", status, action, rsc_name, class, provider, action 1640 tools/crm_resource_runtime.c static inline bool action_is_pending(pe_action_t *action) action 1642 tools/crm_resource_runtime.c if (pcmk_any_flags_set(action->flags, pe_action_optional|pe_action_pseudo) action 1643 tools/crm_resource_runtime.c || !pcmk_is_set(action->flags, pe_action_runnable) action 1644 tools/crm_resource_runtime.c || pcmk__str_eq("notify", action->task, pcmk__str_casei)) { action 1661 tools/crm_resource_runtime.c GList *action; action 1663 tools/crm_resource_runtime.c for (action = actions; action != NULL; action = action->next) { action 1664 tools/crm_resource_runtime.c pe_action_t *a = (pe_action_t *)action->data; action 1676 tools/crm_resource_runtime.c GList *action; action 1679 tools/crm_resource_runtime.c for (action = actions; action != NULL; action = action->next) { action 1680 tools/crm_resource_runtime.c pe_action_t *a = (pe_action_t *) action->data; action 1782 tools/crm_resource_runtime.c const char *action = NULL; action 1785 tools/crm_resource_runtime.c action = "validate-all"; action 1788 tools/crm_resource_runtime.c action = "monitor"; action 1792 tools/crm_resource_runtime.c action = rsc_action+6; action 1794 tools/crm_resource_runtime.c action = rsc_action; action 1797 tools/crm_resource_runtime.c return action; action 1874 tools/crm_resource_runtime.c const char *action = get_action(rsc_action); action 1887 tools/crm_resource_runtime.c rsc_class, rsc_prov, rsc_type, action, action 1891 tools/crm_resource_runtime.c action, rsc_class, (rsc_prov? ":" : ""), action 1916 tools/crm_resource_runtime.c enum ocf_exitcode ocf_code = services_result2ocf(class, action, op->rc); action 495 tools/crm_ticket.c ticket_warning(gchar *ticket_id, const char *action) action 500 tools/crm_ticket.c CRM_ASSERT(action != NULL); action 502 tools/crm_ticket.c if (strcmp(action, "grant") == 0) { action 524 tools/crm_ticket.c "If you really want to ", action, " '", ticket_id, "' ", action 42 tools/stonith_admin.c char action = 0; action 417 tools/stonith_admin.c action = 'K'; action 422 tools/stonith_admin.c action = 'I'; action 426 tools/stonith_admin.c action = 'L'; action 431 tools/stonith_admin.c action = 'R'; action 436 tools/stonith_admin.c action = 'Q'; action 441 tools/stonith_admin.c action = 'D'; action 446 tools/stonith_admin.c action = 's'; action 451 tools/stonith_admin.c action = 'L'; action 458 tools/stonith_admin.c action = 'M'; action 463 tools/stonith_admin.c action = 'B'; action 470 tools/stonith_admin.c action = 'F'; action 477 tools/stonith_admin.c action = 'U'; action 483 tools/stonith_admin.c action = 'C'; action 489 tools/stonith_admin.c action = 'h'; action 494 tools/stonith_admin.c action = 'H'; action 499 tools/stonith_admin.c action = 'r'; action 504 tools/stonith_admin.c action = 'd'; action 508 tools/stonith_admin.c if (action == 0) { action 541 tools/stonith_admin.c switch (action) {