rsc 336 daemons/attrd/attrd_commands.c const char *rsc = crm_element_value(xml, PCMK__XA_ATTR_RESOURCE); rsc 345 daemons/attrd/attrd_commands.c if (rsc) { rsc 349 daemons/attrd/attrd_commands.c pattern = crm_strdup_printf(ATTRD_RE_CLEAR_ONE, rsc); rsc 355 daemons/attrd/attrd_commands.c rsc, op, interval_ms); rsc 518 daemons/attrd/attrd_commands.c const char *rsc = crm_element_value(xml, PCMK__XA_ATTR_RESOURCE); rsc 527 daemons/attrd/attrd_commands.c if (attrd_failure_regex(®ex, rsc, op, interval_ms) != pcmk_ok) { rsc 529 daemons/attrd/attrd_commands.c (rsc? rsc : "all resources")); rsc 544 daemons/attrd/attrd_commands.c attr, (rsc? rsc : "all resources")); rsc 269 daemons/attrd/attrd_utils.c attrd_failure_regex(regex_t *regex, const char *rsc, const char *op, rsc 277 daemons/attrd/attrd_utils.c if (rsc == NULL) { rsc 280 daemons/attrd/attrd_utils.c pattern = crm_strdup_printf(ATTRD_RE_CLEAR_ONE, rsc); rsc 282 daemons/attrd/attrd_utils.c pattern = crm_strdup_printf(ATTRD_RE_CLEAR_OP, rsc, op, interval_ms); rsc 54 daemons/attrd/pacemaker-attrd.h int attrd_failure_regex(regex_t *regex, const char *rsc, const char *op, rsc 169 daemons/controld/controld_attrd.c update_attrd_clear_failures(const char *host, const char *rsc, const char *op, rsc 184 daemons/controld/controld_attrd.c interval_desc, op_desc, rsc, node_type, host); rsc 185 daemons/controld/controld_attrd.c update_attrd_helper(host, rsc, op, interval_spec, NULL, is_remote_node, 0); rsc 32 daemons/controld/controld_execd.c const char *rsc; rsc 42 daemons/controld/controld_execd.c static void do_lrm_rsc_op(lrm_state_t *lrm_state, lrmd_rsc_info_t *rsc, rsc 47 daemons/controld/controld_execd.c static int do_update_resource(const char *node_name, lrmd_rsc_info_t *rsc, rsc 65 daemons/controld/controld_execd.c make_stop_id(const char *rsc, int call_id) rsc 67 daemons/controld/controld_execd.c return crm_strdup_printf("%s:%d", rsc, call_id); rsc 149 daemons/controld/controld_execd.c free(history->rsc.type); rsc 150 daemons/controld/controld_execd.c free(history->rsc.standard); rsc 151 daemons/controld/controld_execd.c free(history->rsc.provider); rsc 161 daemons/controld/controld_execd.c update_history_cache(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_data_t * op) rsc 180 daemons/controld/controld_execd.c if (entry == NULL && rsc) { rsc 185 daemons/controld/controld_execd.c entry->rsc.id = entry->id; rsc 186 daemons/controld/controld_execd.c entry->rsc.type = strdup(rsc->type); rsc 187 daemons/controld/controld_execd.c entry->rsc.standard = strdup(rsc->standard); rsc 188 daemons/controld/controld_execd.c if (rsc->provider) { rsc 189 daemons/controld/controld_execd.c entry->rsc.provider = strdup(rsc->provider); rsc 191 daemons/controld/controld_execd.c entry->rsc.provider = NULL; rsc 269 daemons/controld/controld_execd.c const char *rsc_id, lrmd_rsc_info_t *rsc, const char *task, rsc 276 daemons/controld/controld_execd.c controld_ack_event_directly(ack_host, ack_sys, rsc, op, rsc_id); rsc 645 daemons/controld/controld_execd.c build_operation_update(xmlNode * parent, lrmd_rsc_info_t * rsc, lrmd_event_data_t * op, rsc 680 daemons/controld/controld_execd.c if ((rsc == NULL) || (op->params == NULL) rsc 681 daemons/controld/controld_execd.c || !crm_op_needs_metadata(rsc->standard, op->op_type)) { rsc 684 daemons/controld/controld_execd.c op->op_type, op->rsc_id, op->params, rsc); rsc 696 daemons/controld/controld_execd.c metadata = metadata_cache_get(lrm_state->metadata_cache, rsc); rsc 712 daemons/controld/controld_execd.c int rc = lrm_state_get_metadata(lrm_state, rsc->standard, rsc 713 daemons/controld/controld_execd.c rsc->provider, rsc->type, rsc 718 daemons/controld/controld_execd.c rsc->id, rsc->standard, rsc->provider, rsc->type); rsc 722 daemons/controld/controld_execd.c metadata = metadata_cache_update(lrm_state->metadata_cache, rsc, rsc 727 daemons/controld/controld_execd.c rsc->id, rsc->standard, rsc->provider, rsc->type); rsc 736 daemons/controld/controld_execd.c crm_trace("Including additional digests for %s::%s:%s", rsc->standard, rsc->provider, rsc->type); rsc 788 daemons/controld/controld_execd.c crm_xml_add(xml_rsc, XML_ATTR_TYPE, entry->rsc.type); rsc 789 daemons/controld/controld_execd.c crm_xml_add(xml_rsc, XML_AGENT_ATTR_CLASS, entry->rsc.standard); rsc 790 daemons/controld/controld_execd.c crm_xml_add(xml_rsc, XML_AGENT_ATTR_PROVIDER, entry->rsc.provider); rsc 799 daemons/controld/controld_execd.c build_operation_update(xml_rsc, &(entry->rsc), entry->failed, lrm_state->node_name, rsc 801 daemons/controld/controld_execd.c build_operation_update(xml_rsc, &(entry->rsc), entry->last, lrm_state->node_name, rsc 804 daemons/controld/controld_execd.c build_operation_update(xml_rsc, &(entry->rsc), gIter->data, lrm_state->node_name, rsc 928 daemons/controld/controld_execd.c if (pcmk__str_eq(event->rsc, op->rsc, pcmk__str_none)) { rsc 929 daemons/controld/controld_execd.c notify_deleted(event->lrm_state, op->input, event->rsc, event->rc); rsc 938 daemons/controld/controld_execd.c const char *rsc = user_data; rsc 941 daemons/controld/controld_execd.c if (pcmk__str_eq(rsc, pending->rsc_id, pcmk__str_none)) { rsc 943 daemons/controld/controld_execd.c pending->op_key, pending->call_id, rsc); rsc 976 daemons/controld/controld_execd.c event.rsc = rsc_id; rsc 1198 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc; rsc 1211 daemons/controld/controld_execd.c remove = !cancel_op(data->lrm_state, data->rsc->id, key, op->call_id, data->remove); rsc 1217 daemons/controld/controld_execd.c cancel_op_key(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, const char *key, gboolean remove) rsc 1222 daemons/controld/controld_execd.c CRM_CHECK(rsc != NULL, return FALSE); rsc 1226 daemons/controld/controld_execd.c data.rsc = rsc; rsc 1313 daemons/controld/controld_execd.c lrmd_rsc_info_t * rsc, rsc 1325 daemons/controld/controld_execd.c if (rsc && unregister) { rsc 1338 daemons/controld/controld_execd.c op->rsc = strdup(rsc->id); rsc 1412 daemons/controld/controld_execd.c delete_resource(lrm_state, entry->id, &entry->rsc, &gIter, from_sys, rsc 1505 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc = NULL; rsc 1534 daemons/controld/controld_execd.c if (get_lrm_resource(lrm_state, xml_rsc, TRUE, &rsc) == pcmk_ok) { rsc 1535 daemons/controld/controld_execd.c crm_info("Failing resource %s...", rsc->id); rsc 1540 daemons/controld/controld_execd.c lrmd_free_rsc_info(rsc); rsc 1615 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc, const char *from_host, const char *from_sys) rsc 1640 daemons/controld/controld_execd.c op_key = pcmk__op_key(rsc->id, op_task, interval_ms); rsc 1651 daemons/controld/controld_execd.c in_progress = cancel_op_key(lrm_state, rsc, op_key, TRUE); rsc 1655 daemons/controld/controld_execd.c in_progress = cancel_op(lrm_state, rsc->id, NULL, call, TRUE); rsc 1659 daemons/controld/controld_execd.c if (!in_progress || is_remote_lrmd_ra(NULL, NULL, rsc->id)) { rsc 1660 daemons/controld/controld_execd.c char *op_id = make_stop_id(rsc->id, call); rsc 1662 daemons/controld/controld_execd.c if (is_remote_lrmd_ra(NULL, NULL, rsc->id) == FALSE) { rsc 1665 daemons/controld/controld_execd.c erase_lrm_history_by_id(lrm_state, rsc->id, op_key, NULL, call); rsc 1666 daemons/controld/controld_execd.c send_task_ok_ack(lrm_state, input, rsc->id, rsc, op_task, rsc 1686 daemons/controld/controld_execd.c send_task_ok_ack(lrm_state, input, rsc->id, rsc, op_task, rsc 1697 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc, const char *from_sys, const char *from_host, rsc 1703 daemons/controld/controld_execd.c int cib_rc = controld_delete_resource_history(rsc->id, lrm_state->node_name, rsc 1710 daemons/controld/controld_execd.c op = construct_op(lrm_state, input->xml, rsc->id, CRMD_ACTION_DELETE); rsc 1718 daemons/controld/controld_execd.c controld_ack_event_directly(from_host, from_sys, NULL, op, rsc->id); rsc 1724 daemons/controld/controld_execd.c if (crm_rsc_delete && is_remote_lrmd_ra(NULL, NULL, rsc->id)) { rsc 1728 daemons/controld/controld_execd.c delete_resource(lrm_state, rsc->id, rsc, NULL, from_sys, rsc 1812 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc = NULL; rsc 1821 daemons/controld/controld_execd.c rc = get_lrm_resource(lrm_state, xml_rsc, create_rsc, &rsc); rsc 1860 daemons/controld/controld_execd.c if (!do_lrm_cancel(input, lrm_state, rsc, from_host, from_sys)) { rsc 1865 daemons/controld/controld_execd.c do_lrm_delete(input, lrm_state, rsc, from_sys, from_host, rsc 1869 daemons/controld/controld_execd.c do_lrm_rsc_op(lrm_state, rsc, operation, input->xml); rsc 1872 daemons/controld/controld_execd.c lrmd_free_rsc_info(rsc); rsc 1887 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc = lrm_state_get_rsc_info(lrm_state, rsc_id, 0); rsc 1890 daemons/controld/controld_execd.c metadata = metadata_cache_get(lrm_state->metadata_cache, rsc); rsc 1931 daemons/controld/controld_execd.c lrmd_free_rsc_info(rsc); rsc 2079 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc, lrmd_event_data_t *op, rsc 2106 daemons/controld/controld_execd.c build_operation_update(iter, rsc, op, fsa_our_uname, __func__); rsc 2145 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc; rsc 2157 daemons/controld/controld_execd.c && pcmk__str_eq(op->rsc_id, event->rsc->id, pcmk__str_none)) { rsc 2160 daemons/controld/controld_execd.c remove = !cancel_op(event->lrm_state, event->rsc->id, key, op->call_id, FALSE); rsc 2183 daemons/controld/controld_execd.c record_pending_op(const char *node_name, lrmd_rsc_info_t *rsc, lrmd_event_data_t *op) rsc 2188 daemons/controld/controld_execd.c CRM_CHECK(rsc != NULL, return); rsc 2214 daemons/controld/controld_execd.c do_update_resource(node_name, rsc, op, 0); rsc 2218 daemons/controld/controld_execd.c do_lrm_rsc_op(lrm_state_t *lrm_state, lrmd_rsc_info_t *rsc, rsc 2230 daemons/controld/controld_execd.c CRM_CHECK(rsc != NULL, return); rsc 2240 daemons/controld/controld_execd.c op = construct_op(lrm_state, msg, rsc->id, operation); rsc 2243 daemons/controld/controld_execd.c if (is_remote_lrmd_ra(NULL, NULL, rsc->id) rsc 2265 daemons/controld/controld_execd.c data.rsc = rsc; rsc 2273 daemons/controld/controld_execd.c rsc->id, operation, op->interval_ms); rsc 2280 daemons/controld/controld_execd.c crm_action_str(op->op_type, op->interval_ms), rsc->id, lrm_state->node_name, rsc 2281 daemons/controld/controld_execd.c transition, rsc->id, operation, op->interval_ms); rsc 2298 daemons/controld/controld_execd.c operation, rsc->id, fsa_state2string(fsa_state), rsc 2303 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id); rsc 2309 daemons/controld/controld_execd.c record_pending_op(lrm_state->node_name, rsc, op); rsc 2311 daemons/controld/controld_execd.c op_id = pcmk__op_key(rsc->id, op->op_type, op->interval_ms); rsc 2315 daemons/controld/controld_execd.c cancel_op_key(lrm_state, rsc, op_id, FALSE); rsc 2329 daemons/controld/controld_execd.c call_id = lrm_state_exec(lrm_state, rsc->id, op->op_type, op->user_data, rsc 2334 daemons/controld/controld_execd.c crm_err("Operation %s on %s failed: %d", operation, rsc->id, call_id); rsc 2339 daemons/controld/controld_execd.c operation, rsc->id, lrm_state->node_name, call_id); rsc 2347 daemons/controld/controld_execd.c char *call_id_s = make_stop_id(rsc->id, call_id); rsc 2357 daemons/controld/controld_execd.c pending->rsc_id = strdup(rsc->id); rsc 2374 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id); rsc 2427 daemons/controld/controld_execd.c do_update_resource(const char *node_name, lrmd_rsc_info_t *rsc, rsc 2475 daemons/controld/controld_execd.c build_operation_update(iter, rsc, op, node_name, __func__); rsc 2477 daemons/controld/controld_execd.c if (rsc) { rsc 2480 daemons/controld/controld_execd.c crm_xml_add(iter, XML_ATTR_TYPE, rsc->type); rsc 2481 daemons/controld/controld_execd.c crm_xml_add(iter, XML_AGENT_ATTR_CLASS, rsc->standard); rsc 2482 daemons/controld/controld_execd.c crm_xml_add(iter, XML_AGENT_ATTR_PROVIDER, rsc->provider); rsc 2504 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, rsc, op, op->rsc_id); rsc 2611 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc = NULL; rsc 2638 daemons/controld/controld_execd.c rsc = lrm_state_get_rsc_info(lrm_state, op->rsc_id, 0); rsc 2640 daemons/controld/controld_execd.c if ((rsc == NULL) && action_xml) { rsc 2651 daemons/controld/controld_execd.c rsc = lrmd_new_rsc_info(op->rsc_id, standard, provider, type); rsc 2695 daemons/controld/controld_execd.c if (node_name && rsc) { rsc 2697 daemons/controld/controld_execd.c update_id = do_update_resource(node_name, rsc, op, rsc 2857 daemons/controld/controld_execd.c } else if (rsc && (op->rc == PCMK_OCF_OK)) { rsc 2860 daemons/controld/controld_execd.c metadata_cache_update(lrm_state->metadata_cache, rsc, metadata); rsc 2876 daemons/controld/controld_execd.c if (lrm_state && rsc) { rsc 2877 daemons/controld/controld_execd.c update_history_cache(lrm_state, rsc, op); rsc 2880 daemons/controld/controld_execd.c lrmd_free_rsc_info(rsc); rsc 39 daemons/controld/controld_execd_state.c free(op->rsc); rsc 655 daemons/controld/controld_execd_state.c lrmd_rsc_info_t *rsc = NULL; rsc 664 daemons/controld/controld_execd_state.c rsc = g_hash_table_lookup(lrm_state->rsc_info_cache, rsc_id); rsc 665 daemons/controld/controld_execd_state.c if (rsc == NULL) { rsc 667 daemons/controld/controld_execd_state.c rsc = ((lrmd_t *) lrm_state->conn)->cmds->get_rsc_info(lrm_state->conn, rsc_id, options); rsc 668 daemons/controld/controld_execd_state.c if (rsc == NULL) { rsc 672 daemons/controld/controld_execd_state.c g_hash_table_insert(lrm_state->rsc_info_cache, rsc->id, rsc); rsc 675 daemons/controld/controld_execd_state.c return lrmd_copy_rsc_info(rsc); rsc 24 daemons/controld/controld_lrm.h lrmd_rsc_info_t rsc; rsc 84 daemons/controld/controld_lrm.h char *rsc; rsc 188 daemons/controld/controld_lrm.h lrmd_rsc_info_t *rsc, lrmd_event_data_t *op, rsc 591 daemons/controld/controld_messages.c const char *rsc = NULL; rsc 604 daemons/controld/controld_messages.c rsc = ID(xml_rsc); rsc 616 daemons/controld/controld_messages.c if ((rsc == NULL) || (uname == NULL)) { rsc 628 daemons/controld/controld_messages.c update_attrd_clear_failures(uname, rsc, op, interval_spec, is_remote_node); rsc 631 daemons/controld/controld_messages.c lrm_clear_last_failure(rsc, uname, op, interval_ms); rsc 123 daemons/controld/controld_metadata.c ra_version_from_xml(xmlNode *metadata_xml, const lrmd_rsc_info_t *rsc) rsc 129 daemons/controld/controld_metadata.c rsc->standard, rsc->provider, rsc->type); rsc 134 daemons/controld/controld_metadata.c rsc->standard, rsc->provider, rsc->type); rsc 139 daemons/controld/controld_metadata.c rsc->standard, rsc->provider, rsc->type, version); rsc 178 daemons/controld/controld_metadata.c metadata_cache_update(GHashTable *mdc, lrmd_rsc_info_t *rsc, rsc 186 daemons/controld/controld_metadata.c CRM_CHECK(mdc && rsc && metadata_str, return NULL); rsc 188 daemons/controld/controld_metadata.c key = crm_generate_ra_key(rsc->standard, rsc->provider, rsc->type); rsc 197 daemons/controld/controld_metadata.c rsc->standard, rsc->provider, rsc->type); rsc 208 daemons/controld/controld_metadata.c md->ra_version = ra_version_from_xml(metadata, rsc); rsc 233 daemons/controld/controld_metadata.c rsc->standard, rsc->provider, rsc->type); rsc 259 daemons/controld/controld_metadata.c metadata_cache_get(GHashTable *mdc, lrmd_rsc_info_t *rsc) rsc 264 daemons/controld/controld_metadata.c CRM_CHECK(mdc && rsc, return NULL); rsc 265 daemons/controld/controld_metadata.c key = crm_generate_ra_key(rsc->standard, rsc->provider, rsc->type); rsc 52 daemons/controld/controld_metadata.h lrmd_rsc_info_t *rsc, rsc 54 daemons/controld/controld_metadata.h struct ra_metadata_s *metadata_cache_get(GHashTable *mdc, lrmd_rsc_info_t *rsc); rsc 183 daemons/controld/controld_te_actions.c xmlNode *rsc = NULL; rsc 223 daemons/controld/controld_te_actions.c rsc = create_xml_node(state, XML_CIB_TAG_LRM); rsc 224 daemons/controld/controld_te_actions.c crm_xml_add(rsc, XML_ATTR_ID, target_uuid); rsc 226 daemons/controld/controld_te_actions.c rsc = create_xml_node(rsc, XML_LRM_TAG_RESOURCES); rsc 227 daemons/controld/controld_te_actions.c rsc = create_xml_node(rsc, XML_LRM_TAG_RESOURCE); rsc 228 daemons/controld/controld_te_actions.c crm_xml_add(rsc, XML_ATTR_ID, rsc_id); rsc 231 daemons/controld/controld_te_actions.c crm_copy_xml_element(action_rsc, rsc, XML_ATTR_TYPE); rsc 232 daemons/controld/controld_te_actions.c crm_copy_xml_element(action_rsc, rsc, XML_AGENT_ATTR_CLASS); rsc 233 daemons/controld/controld_te_actions.c crm_copy_xml_element(action_rsc, rsc, XML_AGENT_ATTR_PROVIDER); rsc 250 daemons/controld/controld_te_actions.c xml_op = pcmk__create_history_xml(rsc, op, CRM_FEATURE_SET, target_rc, rsc 240 daemons/controld/controld_te_callbacks.c xmlNode *rsc = NULL; rsc 272 daemons/controld/controld_te_callbacks.c for (rsc = pcmk__xml_first_child(xml); rsc != NULL; rsc 273 daemons/controld/controld_te_callbacks.c rsc = pcmk__xml_next(rsc)) { rsc 274 daemons/controld/controld_te_callbacks.c crm_trace("Processing %s", ID(rsc)); rsc 275 daemons/controld/controld_te_callbacks.c process_lrm_resource_diff(rsc, node); rsc 88 daemons/controld/controld_utils.h void update_attrd_clear_failures(const char *host, const char *rsc, rsc 429 daemons/execd/cts-exec-helper.c pe_resource_t *rsc = NULL; rsc 475 daemons/execd/cts-exec-helper.c rsc = pe_find_resource_with_flags(data_set->resources, options.rsc_id, rsc 479 daemons/execd/cts-exec-helper.c if (!rsc) { rsc 488 daemons/execd/cts-exec-helper.c get_rsc_attributes(params, rsc, NULL, data_set); rsc 489 daemons/execd/cts-exec-helper.c get_meta_attributes(meta, rsc, NULL, data_set); rsc 101 daemons/execd/execd_commands.c static void cmd_finalize(lrmd_cmd_t * cmd, lrmd_rsc_t * rsc); rsc 103 daemons/execd/execd_commands.c static void cancel_all_recurring(lrmd_rsc_t * rsc, const char *client_id); rsc 236 daemons/execd/execd_commands.c normalize_action_name(lrmd_rsc_t * rsc, const char *action) rsc 239 daemons/execd/execd_commands.c pcmk_is_set(pcmk_get_ra_caps(rsc->class), pcmk_ra_cap_status)) { rsc 249 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 251 daemons/execd/execd_commands.c rsc = calloc(1, sizeof(lrmd_rsc_t)); rsc 253 daemons/execd/execd_commands.c crm_element_value_int(msg, F_LRMD_CALLOPTS, &rsc->call_opts); rsc 255 daemons/execd/execd_commands.c rsc->rsc_id = crm_element_value_copy(rsc_xml, F_LRMD_RSC_ID); rsc 256 daemons/execd/execd_commands.c rsc->class = crm_element_value_copy(rsc_xml, F_LRMD_CLASS); rsc 257 daemons/execd/execd_commands.c rsc->provider = crm_element_value_copy(rsc_xml, F_LRMD_PROVIDER); rsc 258 daemons/execd/execd_commands.c rsc->type = crm_element_value_copy(rsc_xml, F_LRMD_TYPE); rsc 259 daemons/execd/execd_commands.c rsc->work = mainloop_add_trigger(G_PRIORITY_HIGH, lrmd_rsc_dispatch, rsc); rsc 260 daemons/execd/execd_commands.c rsc->st_probe_rc = -ENODEV; // if stonith, initialize to "not running" rsc 261 daemons/execd/execd_commands.c return rsc; rsc 339 daemons/execd/execd_commands.c lrmd_rsc_t *rsc; rsc 347 daemons/execd/execd_commands.c rsc = g_hash_table_lookup(rsc_list, cmd->rsc_id); rsc 349 daemons/execd/execd_commands.c CRM_ASSERT(rsc != NULL); rsc 352 daemons/execd/execd_commands.c rsc->recurring_ops = g_list_remove(rsc->recurring_ops, cmd); rsc 353 daemons/execd/execd_commands.c rsc->pending_ops = g_list_append(rsc->pending_ops, cmd); rsc 357 daemons/execd/execd_commands.c mainloop_set_trigger(rsc->work); rsc 376 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 379 daemons/execd/execd_commands.c rsc = cmd->rsc_id ? g_hash_table_lookup(rsc_list, cmd->rsc_id) : NULL; rsc 381 daemons/execd/execd_commands.c if (rsc) { rsc 382 daemons/execd/execd_commands.c mainloop_set_trigger(rsc->work); rsc 389 daemons/execd/execd_commands.c merge_recurring_duplicate(lrmd_rsc_t * rsc, lrmd_cmd_t * cmd) rsc 399 daemons/execd/execd_commands.c for (gIter = rsc->pending_ops; gIter != NULL; gIter = gIter->next) { rsc 410 daemons/execd/execd_commands.c for (gIter = rsc->recurring_ops; gIter != NULL; gIter = gIter->next) { rsc 427 daemons/execd/execd_commands.c rsc->rsc_id, normalize_action_name(rsc, dup->action), rsc 437 daemons/execd/execd_commands.c if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, pcmk__str_casei)) { rsc 446 daemons/execd/execd_commands.c services_action_kick(rsc->rsc_id, rsc 447 daemons/execd/execd_commands.c normalize_action_name(rsc, dup->action), rsc 456 daemons/execd/execd_commands.c schedule_lrmd_cmd(lrmd_rsc_t * rsc, lrmd_cmd_t * cmd) rsc 460 daemons/execd/execd_commands.c CRM_CHECK(rsc != NULL, return); rsc 462 daemons/execd/execd_commands.c crm_trace("Scheduling %s on %s", cmd->action, rsc->rsc_id); rsc 464 daemons/execd/execd_commands.c dup_processed = merge_recurring_duplicate(rsc, cmd); rsc 474 daemons/execd/execd_commands.c cancel_all_recurring(rsc, NULL); rsc 477 daemons/execd/execd_commands.c rsc->pending_ops = g_list_append(rsc->pending_ops, cmd); rsc 481 daemons/execd/execd_commands.c mainloop_set_trigger(rsc->work); rsc 673 daemons/execd/execd_commands.c cmd_finalize(lrmd_cmd_t * cmd, lrmd_rsc_t * rsc) rsc 676 daemons/execd/execd_commands.c rsc ? rsc->active : NULL, cmd); rsc 678 daemons/execd/execd_commands.c if (rsc && (rsc->active == cmd)) { rsc 679 daemons/execd/execd_commands.c rsc->active = NULL; rsc 680 daemons/execd/execd_commands.c mainloop_set_trigger(rsc->work); rsc 683 daemons/execd/execd_commands.c if (!rsc) { rsc 693 daemons/execd/execd_commands.c if (rsc) { rsc 694 daemons/execd/execd_commands.c rsc->recurring_ops = g_list_remove(rsc->recurring_ops, cmd); rsc 695 daemons/execd/execd_commands.c rsc->pending_ops = g_list_remove(rsc->pending_ops, cmd); rsc 699 daemons/execd/execd_commands.c if (rsc) { rsc 700 daemons/execd/execd_commands.c rsc->pending_ops = g_list_remove(rsc->pending_ops, cmd); rsc 883 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 887 daemons/execd/execd_commands.c while (g_hash_table_iter_next(&iter, (gpointer *) & key, (gpointer *) & rsc)) { rsc 888 daemons/execd/execd_commands.c if (rsc->call_opts & lrmd_opt_drop_recurring) { rsc 891 daemons/execd/execd_commands.c cancel_all_recurring(rsc, client_id); rsc 899 daemons/execd/execd_commands.c lrmd_rsc_t *rsc; rsc 922 daemons/execd/execd_commands.c rsc = cmd->rsc_id ? g_hash_table_lookup(rsc_list, cmd->rsc_id) : NULL; rsc 924 daemons/execd/execd_commands.c if (rsc && pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_SERVICE, pcmk__str_casei)) { rsc 925 daemons/execd/execd_commands.c rclass = resources_find_service_class(rsc->type); rsc 926 daemons/execd/execd_commands.c } else if(rsc) { rsc 927 daemons/execd/execd_commands.c rclass = rsc->class; rsc 980 daemons/execd/execd_commands.c if (rsc && pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_NAGIOS, pcmk__str_casei)) { rsc 1023 daemons/execd/execd_commands.c if(rsc) { rsc 1024 daemons/execd/execd_commands.c rsc->active = NULL; rsc 1026 daemons/execd/execd_commands.c schedule_lrmd_cmd(rsc, cmd); rsc 1049 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 1106 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = g_hash_table_lookup(rsc_list, cmd->rsc_id); rsc 1119 daemons/execd/execd_commands.c if (rsc && (cmd->exec_rc == PCMK_OCF_OK)) { rsc 1121 daemons/execd/execd_commands.c rsc->st_probe_rc = pcmk_ok; // maps to PCMK_OCF_OK rsc 1123 daemons/execd/execd_commands.c rsc->st_probe_rc = -ENODEV; // maps to PCMK_OCF_NOT_RUNNING rsc 1137 daemons/execd/execd_commands.c if (rsc && (cmd->interval_ms > 0) rsc 1142 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 1157 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 1161 daemons/execd/execd_commands.c while (g_hash_table_iter_next(&iter, (gpointer *) & key, (gpointer *) & rsc)) { rsc 1162 daemons/execd/execd_commands.c if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, pcmk__str_casei)) { rsc 1171 daemons/execd/execd_commands.c if (rsc->st_probe_rc == pcmk_ok) { rsc 1172 daemons/execd/execd_commands.c rsc->st_probe_rc = pcmk_err_generic; rsc 1175 daemons/execd/execd_commands.c if (rsc->active) { rsc 1176 daemons/execd/execd_commands.c cmd_list = g_list_append(cmd_list, rsc->active); rsc 1178 daemons/execd/execd_commands.c if (rsc->recurring_ops) { rsc 1179 daemons/execd/execd_commands.c cmd_list = g_list_concat(cmd_list, rsc->recurring_ops); rsc 1181 daemons/execd/execd_commands.c if (rsc->pending_ops) { rsc 1182 daemons/execd/execd_commands.c cmd_list = g_list_concat(cmd_list, rsc->pending_ops); rsc 1184 daemons/execd/execd_commands.c rsc->pending_ops = rsc->recurring_ops = NULL; rsc 1214 daemons/execd/execd_commands.c execd_stonith_start(stonith_t *stonith_api, lrmd_rsc_t *rsc, lrmd_cmd_t *cmd) rsc 1238 daemons/execd/execd_commands.c cmd->rsc_id, rsc->provider, rsc 1239 daemons/execd/execd_commands.c rsc->type, device_params); rsc 1258 daemons/execd/execd_commands.c execd_stonith_stop(stonith_t *stonith_api, const lrmd_rsc_t *rsc) rsc 1264 daemons/execd/execd_commands.c rsc->rsc_id); rsc 1278 daemons/execd/execd_commands.c execd_stonith_monitor(stonith_t *stonith_api, lrmd_rsc_t *rsc, lrmd_cmd_t *cmd) rsc 1287 daemons/execd/execd_commands.c rsc->active = cmd; rsc 1296 daemons/execd/execd_commands.c lrmd_rsc_execute_stonith(lrmd_rsc_t * rsc, lrmd_cmd_t * cmd) rsc 1307 daemons/execd/execd_commands.c rc = execd_stonith_start(stonith_api, rsc, cmd); rsc 1313 daemons/execd/execd_commands.c rc = execd_stonith_stop(stonith_api, rsc); rsc 1319 daemons/execd/execd_commands.c rc = rsc->st_probe_rc; rsc 1324 daemons/execd/execd_commands.c rc = execd_stonith_monitor(stonith_api, rsc, cmd); rsc 1335 daemons/execd/execd_commands.c lrmd_rsc_execute_service_lib(lrmd_rsc_t * rsc, lrmd_cmd_t * cmd) rsc 1340 daemons/execd/execd_commands.c CRM_ASSERT(rsc); rsc 1344 daemons/execd/execd_commands.c rsc->rsc_id, cmd->action, rsc->class, rsc->provider, rsc->type); rsc 1348 daemons/execd/execd_commands.c if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_NAGIOS, pcmk__str_casei) rsc 1358 daemons/execd/execd_commands.c action = resources_action_create(rsc->rsc_id, rsc->class, rsc->provider, rsc 1359 daemons/execd/execd_commands.c rsc->type, rsc 1360 daemons/execd/execd_commands.c normalize_action_name(rsc, cmd->action), rsc 1365 daemons/execd/execd_commands.c crm_err("Failed to create action, action:%s on resource %s", cmd->action, rsc->rsc_id); rsc 1392 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 1397 daemons/execd/execd_commands.c lrmd_rsc_execute(lrmd_rsc_t * rsc) rsc 1401 daemons/execd/execd_commands.c CRM_CHECK(rsc != NULL, return FALSE); rsc 1403 daemons/execd/execd_commands.c if (rsc->active) { rsc 1404 daemons/execd/execd_commands.c crm_trace("%s is still active", rsc->rsc_id); rsc 1408 daemons/execd/execd_commands.c if (rsc->pending_ops) { rsc 1409 daemons/execd/execd_commands.c GList *first = rsc->pending_ops; rsc 1418 daemons/execd/execd_commands.c rsc->pending_ops = g_list_remove_link(rsc->pending_ops, first); rsc 1428 daemons/execd/execd_commands.c crm_trace("Nothing further to do for %s", rsc->rsc_id); rsc 1432 daemons/execd/execd_commands.c rsc->active = cmd; /* only one op at a time for a rsc */ rsc 1434 daemons/execd/execd_commands.c rsc->recurring_ops = g_list_append(rsc->recurring_ops, cmd); rsc 1439 daemons/execd/execd_commands.c if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, pcmk__str_casei)) { rsc 1440 daemons/execd/execd_commands.c lrmd_rsc_execute_stonith(rsc, cmd); rsc 1442 daemons/execd/execd_commands.c lrmd_rsc_execute_service_lib(rsc, cmd); rsc 1458 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = data; rsc 1459 daemons/execd/execd_commands.c int is_stonith = pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, rsc 1462 daemons/execd/execd_commands.c gIter = rsc->pending_ops; rsc 1474 daemons/execd/execd_commands.c g_list_free(rsc->pending_ops); rsc 1476 daemons/execd/execd_commands.c gIter = rsc->recurring_ops; rsc 1487 daemons/execd/execd_commands.c if (rsc->active != cmd) { rsc 1495 daemons/execd/execd_commands.c services_action_cancel(rsc->rsc_id, rsc 1496 daemons/execd/execd_commands.c normalize_action_name(rsc, cmd->action), rsc 1503 daemons/execd/execd_commands.c g_list_free(rsc->recurring_ops); rsc 1505 daemons/execd/execd_commands.c free(rsc->rsc_id); rsc 1506 daemons/execd/execd_commands.c free(rsc->class); rsc 1507 daemons/execd/execd_commands.c free(rsc->provider); rsc 1508 daemons/execd/execd_commands.c free(rsc->type); rsc 1509 daemons/execd/execd_commands.c mainloop_destroy_trigger(rsc->work); rsc 1511 daemons/execd/execd_commands.c free(rsc); rsc 1553 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = build_rsc_from_xml(request); rsc 1554 daemons/execd/execd_commands.c lrmd_rsc_t *dup = g_hash_table_lookup(rsc_list, rsc->rsc_id); rsc 1557 daemons/execd/execd_commands.c pcmk__str_eq(rsc->class, dup->class, pcmk__str_casei) && rsc 1558 daemons/execd/execd_commands.c pcmk__str_eq(rsc->provider, dup->provider, pcmk__str_casei) && pcmk__str_eq(rsc->type, dup->type, pcmk__str_casei)) { rsc 1560 daemons/execd/execd_commands.c crm_notice("Ignoring duplicate registration of '%s'", rsc->rsc_id); rsc 1561 daemons/execd/execd_commands.c free_rsc(rsc); rsc 1565 daemons/execd/execd_commands.c g_hash_table_replace(rsc_list, rsc->rsc_id, rsc); rsc 1566 daemons/execd/execd_commands.c crm_info("Cached agent information for '%s'", rsc->rsc_id); rsc 1577 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 1582 daemons/execd/execd_commands.c rsc = g_hash_table_lookup(rsc_list, rsc_id); rsc 1583 daemons/execd/execd_commands.c if (rsc == NULL) { rsc 1590 daemons/execd/execd_commands.c if (rsc) { rsc 1591 daemons/execd/execd_commands.c crm_xml_add(reply, F_LRMD_RSC_ID, rsc->rsc_id); rsc 1592 daemons/execd/execd_commands.c crm_xml_add(reply, F_LRMD_CLASS, rsc->class); rsc 1593 daemons/execd/execd_commands.c crm_xml_add(reply, F_LRMD_PROVIDER, rsc->provider); rsc 1594 daemons/execd/execd_commands.c crm_xml_add(reply, F_LRMD_TYPE, rsc->type); rsc 1604 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 1612 daemons/execd/execd_commands.c rsc = g_hash_table_lookup(rsc_list, rsc_id); rsc 1613 daemons/execd/execd_commands.c if (rsc == NULL) { rsc 1619 daemons/execd/execd_commands.c if (rsc->active) { rsc 1622 daemons/execd/execd_commands.c rsc->active, rsc_id); rsc 1634 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 1643 daemons/execd/execd_commands.c if (!(rsc = g_hash_table_lookup(rsc_list, rsc_id))) { rsc 1654 daemons/execd/execd_commands.c schedule_lrmd_cmd(rsc, cmd); rsc 1663 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = g_hash_table_lookup(rsc_list, rsc_id); rsc 1676 daemons/execd/execd_commands.c if (!rsc) { rsc 1680 daemons/execd/execd_commands.c for (gIter = rsc->pending_ops; gIter != NULL; gIter = gIter->next) { rsc 1687 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 1692 daemons/execd/execd_commands.c if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, pcmk__str_casei)) { rsc 1695 daemons/execd/execd_commands.c for (gIter = rsc->recurring_ops; gIter != NULL; gIter = gIter->next) { rsc 1702 daemons/execd/execd_commands.c if (rsc->active != cmd) { rsc 1703 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 1709 daemons/execd/execd_commands.c normalize_action_name(rsc, action), rsc 1722 daemons/execd/execd_commands.c cancel_all_recurring(lrmd_rsc_t * rsc, const char *client_id) rsc 1733 daemons/execd/execd_commands.c if (rsc->recurring_ops) { rsc 1734 daemons/execd/execd_commands.c cmd_list = g_list_concat(cmd_list, g_list_copy(rsc->recurring_ops)); rsc 1736 daemons/execd/execd_commands.c if (rsc->pending_ops) { rsc 1737 daemons/execd/execd_commands.c cmd_list = g_list_concat(cmd_list, g_list_copy(rsc->pending_ops)); rsc 1754 daemons/execd/execd_commands.c cancel_op(rsc->rsc_id, cmd->action, cmd->interval_ms); rsc 1778 daemons/execd/execd_commands.c add_recurring_op_xml(xmlNode *reply, lrmd_rsc_t *rsc) rsc 1782 daemons/execd/execd_commands.c crm_xml_add(rsc_xml, F_LRMD_RSC_ID, rsc->rsc_id); rsc 1783 daemons/execd/execd_commands.c for (GList *item = rsc->recurring_ops; item != NULL; item = item->next) { rsc 1799 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 1814 daemons/execd/execd_commands.c rsc = g_hash_table_lookup(rsc_list, rsc_id); rsc 1815 daemons/execd/execd_commands.c if (rsc == NULL) { rsc 1831 daemons/execd/execd_commands.c (gpointer *) &rsc)) { rsc 1832 daemons/execd/execd_commands.c add_recurring_op_xml(reply, rsc); rsc 1834 daemons/execd/execd_commands.c } else if (rsc) { rsc 1835 daemons/execd/execd_commands.c add_recurring_op_xml(reply, rsc); rsc 554 daemons/fenced/pacemaker-fenced.c our_node_allowed_for(pe_resource_t *rsc) rsc 559 daemons/fenced/pacemaker-fenced.c if (rsc && stonith_our_uname) { rsc 560 daemons/fenced/pacemaker-fenced.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 579 daemons/fenced/pacemaker-fenced.c static void cib_device_update(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 590 daemons/fenced/pacemaker-fenced.c if(rsc->children) { rsc 592 daemons/fenced/pacemaker-fenced.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 594 daemons/fenced/pacemaker-fenced.c if(pe_rsc_is_clone(rsc)) { rsc 595 daemons/fenced/pacemaker-fenced.c crm_trace("Only processing one copy of the clone %s", rsc->id); rsc 603 daemons/fenced/pacemaker-fenced.c rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 609 daemons/fenced/pacemaker-fenced.c if (pe__resource_is_disabled(rsc)) { rsc 610 daemons/fenced/pacemaker-fenced.c crm_info("Device %s has been disabled", rsc->id); rsc 615 daemons/fenced/pacemaker-fenced.c node = our_node_allowed_for(rsc); rsc 616 daemons/fenced/pacemaker-fenced.c if (rsc->parent && (rsc->parent->variant == pe_group)) { rsc 617 daemons/fenced/pacemaker-fenced.c parent = our_node_allowed_for(rsc->parent); rsc 624 daemons/fenced/pacemaker-fenced.c crm_info("Device %s has been disabled on %s: unknown", rsc->id, stonith_our_uname); rsc 625 daemons/fenced/pacemaker-fenced.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 636 daemons/fenced/pacemaker-fenced.c crm_info("Device %s has been disabled on %s: score=%s", rsc->id, stonith_our_uname, score); rsc 649 daemons/fenced/pacemaker-fenced.c const char *agent = crm_element_value(rsc->xml, XML_EXPR_ATTR_TYPE); rsc 652 daemons/fenced/pacemaker-fenced.c crm_debug("Device %s is allowed on %s: score=%d", rsc->id, stonith_our_uname, node->weight); rsc 653 daemons/fenced/pacemaker-fenced.c get_rsc_attributes(rsc->parameters, rsc, node, data_set); rsc 654 daemons/fenced/pacemaker-fenced.c get_meta_attributes(rsc->meta, rsc, node, data_set); rsc 656 daemons/fenced/pacemaker-fenced.c rsc_provides = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_PROVIDES); rsc 658 daemons/fenced/pacemaker-fenced.c g_hash_table_iter_init(&gIter, rsc->parameters); rsc 668 daemons/fenced/pacemaker-fenced.c data = create_device_registration_xml(rsc_name(rsc), st_namespace_any, rsc 678 daemons/fenced/pacemaker-fenced.c if(remove && g_hash_table_lookup(device_list, rsc_name(rsc))) { rsc 679 daemons/fenced/pacemaker-fenced.c stonith_device_remove(rsc_name(rsc), TRUE); rsc 22 include/crm/pengine/complex.h void get_meta_attributes(GHashTable * meta_hash, pe_resource_t *rsc, rsc 24 include/crm/pengine/complex.h void get_rsc_attributes(GHashTable *meta_hash, pe_resource_t *rsc, rsc 28 include/crm/pengine/complex.h void pe_get_versioned_attributes(xmlNode *meta_hash, pe_resource_t *rsc, rsc 32 include/crm/pengine/complex.h gboolean is_parent(pe_resource_t *child, pe_resource_t *rsc); rsc 33 include/crm/pengine/complex.h pe_resource_t *uber_parent(pe_resource_t *rsc); rsc 18 include/crm/pengine/internal.h # define pe_rsc_info(rsc, fmt, args...) crm_log_tag(LOG_INFO, rsc ? rsc->id : "<NULL>", fmt, ##args) rsc 19 include/crm/pengine/internal.h # define pe_rsc_debug(rsc, fmt, args...) crm_log_tag(LOG_DEBUG, rsc ? rsc->id : "<NULL>", fmt, ##args) rsc 20 include/crm/pengine/internal.h # define pe_rsc_trace(rsc, fmt, args...) crm_log_tag(LOG_TRACE, rsc ? rsc->id : "<NULL>", fmt, ##args) rsc 217 include/crm/pengine/internal.h char *native_parameter(pe_resource_t * rsc, pe_node_t * node, gboolean create, const char *name, rsc 219 include/crm/pengine/internal.h pe_node_t *native_location(const pe_resource_t *rsc, GList **list, int current); rsc 224 include/crm/pengine/internal.h void common_update_score(pe_resource_t * rsc, const char *id, int score); rsc 225 include/crm/pengine/internal.h void native_add_running(pe_resource_t * rsc, pe_node_t * node, pe_working_set_t * data_set); rsc 227 include/crm/pengine/internal.h gboolean native_unpack(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 228 include/crm/pengine/internal.h gboolean group_unpack(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 229 include/crm/pengine/internal.h gboolean clone_unpack(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 230 include/crm/pengine/internal.h gboolean pe__unpack_bundle(pe_resource_t *rsc, pe_working_set_t *data_set); rsc 232 include/crm/pengine/internal.h pe_resource_t *native_find_rsc(pe_resource_t *rsc, const char *id, const pe_node_t *node, rsc 235 include/crm/pengine/internal.h gboolean native_active(pe_resource_t * rsc, gboolean all); rsc 236 include/crm/pengine/internal.h gboolean group_active(pe_resource_t * rsc, gboolean all); rsc 237 include/crm/pengine/internal.h gboolean clone_active(pe_resource_t * rsc, gboolean all); rsc 238 include/crm/pengine/internal.h gboolean pe__bundle_active(pe_resource_t *rsc, gboolean all); rsc 240 include/crm/pengine/internal.h void native_print(pe_resource_t * rsc, const char *pre_text, long options, void *print_data); rsc 241 include/crm/pengine/internal.h void group_print(pe_resource_t * rsc, const char *pre_text, long options, void *print_data); rsc 242 include/crm/pengine/internal.h void clone_print(pe_resource_t * rsc, const char *pre_text, long options, void *print_data); rsc 243 include/crm/pengine/internal.h void pe__print_bundle(pe_resource_t *rsc, const char *pre_text, long options, rsc 251 include/crm/pengine/internal.h pe__rsc_bool_str(pe_resource_t *rsc, uint64_t rsc_flag) rsc 253 include/crm/pengine/internal.h return pcmk__btoa(pcmk_is_set(rsc->flags, rsc_flag)); rsc 311 include/crm/pengine/internal.h void native_free(pe_resource_t * rsc); rsc 312 include/crm/pengine/internal.h void group_free(pe_resource_t * rsc); rsc 313 include/crm/pengine/internal.h void clone_free(pe_resource_t * rsc); rsc 314 include/crm/pengine/internal.h void pe__free_bundle(pe_resource_t *rsc); rsc 316 include/crm/pengine/internal.h enum rsc_role_e native_resource_state(const pe_resource_t * rsc, gboolean current); rsc 317 include/crm/pengine/internal.h enum rsc_role_e group_resource_state(const pe_resource_t * rsc, gboolean current); rsc 318 include/crm/pengine/internal.h enum rsc_role_e clone_resource_state(const pe_resource_t * rsc, gboolean current); rsc 319 include/crm/pengine/internal.h enum rsc_role_e pe__bundle_resource_state(const pe_resource_t *rsc, rsc 322 include/crm/pengine/internal.h void pe__count_common(pe_resource_t *rsc); rsc 323 include/crm/pengine/internal.h void pe__count_bundle(pe_resource_t *rsc); rsc 325 include/crm/pengine/internal.h gboolean common_unpack(xmlNode * xml_obj, pe_resource_t ** rsc, pe_resource_t * parent, rsc 327 include/crm/pengine/internal.h void common_free(pe_resource_t * rsc); rsc 341 include/crm/pengine/internal.h int pe_get_failcount(pe_node_t *node, pe_resource_t *rsc, time_t *last_failure, rsc 345 include/crm/pengine/internal.h pe_action_t *pe__clear_failcount(pe_resource_t *rsc, pe_node_t *node, rsc 351 include/crm/pengine/internal.h pe_node_t *pe__find_active_on(const pe_resource_t *rsc, rsc 354 include/crm/pengine/internal.h pe_node_t *pe__find_active_requires(const pe_resource_t *rsc, rsc 358 include/crm/pengine/internal.h pe__current_node(const pe_resource_t *rsc) rsc 360 include/crm/pengine/internal.h return pe__find_active_on(rsc, NULL, NULL); rsc 387 include/crm/pengine/internal.h extern void dump_rsc_utilization(int level, const char *comment, pe_resource_t * rsc, pe_node_t * node); rsc 390 include/crm/pengine/internal.h int line, bool to_log, pe_resource_t *rsc, rsc 393 include/crm/pengine/internal.h #define pe__show_node_weights(level, rsc, text, nodes) \ rsc 395 include/crm/pengine/internal.h (level), (rsc), (text), (nodes)) rsc 401 include/crm/pengine/internal.h extern xmlNode *find_rsc_op_entry(pe_resource_t * rsc, const char *key); rsc 403 include/crm/pengine/internal.h extern pe_action_t *custom_action(pe_resource_t * rsc, char *key, const char *task, pe_node_t * on_node, rsc 406 include/crm/pengine/internal.h # define delete_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_DELETE, 0) rsc 407 include/crm/pengine/internal.h # define delete_action(rsc, node, optional) custom_action( \ rsc 408 include/crm/pengine/internal.h rsc, delete_key(rsc), CRMD_ACTION_DELETE, node, \ rsc 411 include/crm/pengine/internal.h # define stopped_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_STOPPED, 0) rsc 412 include/crm/pengine/internal.h # define stopped_action(rsc, node, optional) custom_action( \ rsc 413 include/crm/pengine/internal.h rsc, stopped_key(rsc), CRMD_ACTION_STOPPED, node, \ rsc 416 include/crm/pengine/internal.h # define stop_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_STOP, 0) rsc 417 include/crm/pengine/internal.h # define stop_action(rsc, node, optional) custom_action( \ rsc 418 include/crm/pengine/internal.h rsc, stop_key(rsc), CRMD_ACTION_STOP, node, \ rsc 421 include/crm/pengine/internal.h # define reload_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_RELOAD, 0) rsc 422 include/crm/pengine/internal.h # define start_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_START, 0) rsc 423 include/crm/pengine/internal.h # define start_action(rsc, node, optional) custom_action( \ rsc 424 include/crm/pengine/internal.h rsc, start_key(rsc), CRMD_ACTION_START, node, \ rsc 427 include/crm/pengine/internal.h # define started_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_STARTED, 0) rsc 428 include/crm/pengine/internal.h # define started_action(rsc, node, optional) custom_action( \ rsc 429 include/crm/pengine/internal.h rsc, started_key(rsc), CRMD_ACTION_STARTED, node, \ rsc 432 include/crm/pengine/internal.h # define promote_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_PROMOTE, 0) rsc 433 include/crm/pengine/internal.h # define promote_action(rsc, node, optional) custom_action( \ rsc 434 include/crm/pengine/internal.h rsc, promote_key(rsc), CRMD_ACTION_PROMOTE, node, \ rsc 437 include/crm/pengine/internal.h # define promoted_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_PROMOTED, 0) rsc 438 include/crm/pengine/internal.h # define promoted_action(rsc, node, optional) custom_action( \ rsc 439 include/crm/pengine/internal.h rsc, promoted_key(rsc), CRMD_ACTION_PROMOTED, node, \ rsc 442 include/crm/pengine/internal.h # define demote_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_DEMOTE, 0) rsc 443 include/crm/pengine/internal.h # define demote_action(rsc, node, optional) custom_action( \ rsc 444 include/crm/pengine/internal.h rsc, demote_key(rsc), CRMD_ACTION_DEMOTE, node, \ rsc 447 include/crm/pengine/internal.h # define demoted_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_DEMOTED, 0) rsc 448 include/crm/pengine/internal.h # define demoted_action(rsc, node, optional) custom_action( \ rsc 449 include/crm/pengine/internal.h rsc, demoted_key(rsc), CRMD_ACTION_DEMOTED, node, \ rsc 452 include/crm/pengine/internal.h extern int pe_get_configured_timeout(pe_resource_t *rsc, const char *action, rsc 457 include/crm/pengine/internal.h extern enum action_tasks get_complex_task(pe_resource_t * rsc, const char *name, rsc 464 include/crm/pengine/internal.h GList *pe__resource_actions(const pe_resource_t *rsc, const pe_node_t *node, rsc 469 include/crm/pengine/internal.h extern void resource_location(pe_resource_t * rsc, pe_node_t * node, int score, const char *tag, rsc 473 include/crm/pengine/internal.h extern gboolean get_target_role(pe_resource_t * rsc, enum rsc_role_e *role); rsc 475 include/crm/pengine/internal.h extern pe_resource_t *find_clone_instance(pe_resource_t * rsc, const char *sub_id, rsc 487 include/crm/pengine/internal.h pe_base_name_eq(pe_resource_t *rsc, const char *id) rsc 489 include/crm/pengine/internal.h if (id && rsc && rsc->id) { rsc 491 include/crm/pengine/internal.h size_t base_len = pe_base_name_end(rsc->id) - rsc->id + 1; rsc 493 include/crm/pengine/internal.h return (strlen(id) == base_len) && !strncmp(id, rsc->id, base_len); rsc 501 include/crm/pengine/internal.h bool is_set_recursive(pe_resource_t * rsc, long long flag, bool any); rsc 525 include/crm/pengine/internal.h op_digest_cache_t *rsc_action_digest_cmp(pe_resource_t * rsc, xmlNode * xml_op, pe_node_t * node, rsc 530 include/crm/pengine/internal.h pe_resource_t * rsc, pe_node_t *node, const char *reason, pe_action_t *dependency, pe_working_set_t * data_set); rsc 542 include/crm/pengine/internal.h void pe__set_resource_flags_recursive(pe_resource_t *rsc, uint64_t flags); rsc 543 include/crm/pengine/internal.h void pe__clear_resource_flags_recursive(pe_resource_t *rsc, uint64_t flags); rsc 554 include/crm/pengine/internal.h void common_print(pe_resource_t * rsc, const char *pre_text, const char *name, pe_node_t *node, long options, void *print_data); rsc 555 include/crm/pengine/internal.h int pe__common_output_text(pcmk__output_t *out, pe_resource_t * rsc, const char *name, pe_node_t *node, long options); rsc 556 include/crm/pengine/internal.h int pe__common_output_html(pcmk__output_t *out, pe_resource_t * rsc, const char *name, pe_node_t *node, long options); rsc 559 include/crm/pengine/internal.h bool pe__bundle_needs_remote_name(pe_resource_t *rsc); rsc 560 include/crm/pengine/internal.h const char *pe__add_bundle_remote_name(pe_resource_t *rsc, xmlNode *xml, rsc 564 include/crm/pengine/internal.h const pe_resource_t *rsc); rsc 566 include/crm/pengine/internal.h bool pe__is_universal_clone(pe_resource_t *rsc, rsc 568 include/crm/pengine/internal.h void pe__add_param_check(xmlNode *rsc_op, pe_resource_t *rsc, pe_node_t *node, rsc 590 include/crm/pengine/internal.h bool pe__resource_is_disabled(pe_resource_t *rsc); rsc 591 include/crm/pengine/internal.h pe_action_t *pe__clear_resource_history(pe_resource_t *rsc, pe_node_t *node, rsc 596 include/crm/pengine/internal.h bool pe__rsc_has_tag(pe_working_set_t *data_set, const char *rsc, const char *tag); rsc 599 include/crm/pengine/internal.h bool pe__rsc_running_on_any_node_in_list(pe_resource_t *rsc, GListPtr node_list); rsc 602 include/crm/pengine/internal.h bool pcmk__rsc_filtered_by_node(pe_resource_t *rsc, GListPtr only_node); rsc 604 include/crm/pengine/internal.h gboolean pe__bundle_is_filtered(pe_resource_t *rsc, GListPtr only_rsc, gboolean check_parent); rsc 605 include/crm/pengine/internal.h gboolean pe__clone_is_filtered(pe_resource_t *rsc, GListPtr only_rsc, gboolean check_parent); rsc 606 include/crm/pengine/internal.h gboolean pe__group_is_filtered(pe_resource_t *rsc, GListPtr only_rsc, gboolean check_parent); rsc 607 include/crm/pengine/internal.h gboolean pe__native_is_filtered(pe_resource_t *rsc, GListPtr only_rsc, gboolean check_parent); rsc 391 include/crm/pengine/pe_types.h pe_resource_t *rsc; rsc 26 include/crm/pengine/remote_internal.h bool pe__resource_is_remote_conn(const pe_resource_t *rsc, rsc 29 include/crm/pengine/remote_internal.h const pe_resource_t *rsc); rsc 31 include/crm/pengine/status.h const char *rsc_printable_id(pe_resource_t *rsc); rsc 43 include/crm/pengine/status.h GListPtr find_operations(const char *rsc, const char *node, gboolean active_filter, rsc 45 include/crm/pengine/status.h int pe_bundle_replicas(const pe_resource_t *rsc); rsc 58 include/crm/pengine/status.h pe_rsc_is_clone(pe_resource_t *rsc) rsc 60 include/crm/pengine/status.h return rsc && (rsc->variant == pe_clone); rsc 71 include/crm/pengine/status.h pe_rsc_is_unique_clone(pe_resource_t *rsc) rsc 73 include/crm/pengine/status.h return pe_rsc_is_clone(rsc) && pcmk_is_set(rsc->flags, pe_rsc_unique); rsc 84 include/crm/pengine/status.h pe_rsc_is_anon_clone(pe_resource_t *rsc) rsc 86 include/crm/pengine/status.h return pe_rsc_is_clone(rsc) && !pcmk_is_set(rsc->flags, pe_rsc_unique); rsc 97 include/crm/pengine/status.h pe_rsc_is_bundled(pe_resource_t *rsc) rsc 99 include/crm/pengine/status.h return uber_parent(rsc)->parent != NULL; rsc 124 include/crm/services.h char *rsc; rsc 43 include/pcmki/pcmki_sched_allocate.h void (*append_meta) (pe_resource_t * rsc, xmlNode * xml); rsc 46 include/pcmki/pcmki_sched_allocate.h GHashTable *pcmk__native_merge_weights(pe_resource_t *rsc, const char *rhs, rsc 50 include/pcmki/pcmki_sched_allocate.h GHashTable *pcmk__group_merge_weights(pe_resource_t *rsc, const char *rhs, rsc 54 include/pcmki/pcmki_sched_allocate.h pe_node_t *pcmk__native_allocate(pe_resource_t *rsc, pe_node_t *preferred, rsc 56 include/pcmki/pcmki_sched_allocate.h extern void native_create_actions(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 57 include/pcmki/pcmki_sched_allocate.h extern void native_internal_constraints(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 68 include/pcmki/pcmki_sched_allocate.h void native_rsc_location(pe_resource_t *rsc, pe__location_t *constraint); rsc 69 include/pcmki/pcmki_sched_allocate.h extern void native_expand(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 70 include/pcmki/pcmki_sched_allocate.h extern gboolean native_create_probe(pe_resource_t * rsc, pe_node_t * node, pe_action_t * complete, rsc 72 include/pcmki/pcmki_sched_allocate.h extern void native_append_meta(pe_resource_t * rsc, xmlNode * xml); rsc 74 include/pcmki/pcmki_sched_allocate.h pe_node_t *pcmk__group_allocate(pe_resource_t *rsc, pe_node_t *preferred, rsc 76 include/pcmki/pcmki_sched_allocate.h extern void group_create_actions(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 77 include/pcmki/pcmki_sched_allocate.h extern void group_internal_constraints(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 85 include/pcmki/pcmki_sched_allocate.h void group_rsc_location(pe_resource_t *rsc, pe__location_t *constraint); rsc 86 include/pcmki/pcmki_sched_allocate.h extern void group_expand(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 87 include/pcmki/pcmki_sched_allocate.h extern void group_append_meta(pe_resource_t * rsc, xmlNode * xml); rsc 89 include/pcmki/pcmki_sched_allocate.h pe_node_t *pcmk__bundle_allocate(pe_resource_t *rsc, pe_node_t *preferred, rsc 91 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_create_actions(pe_resource_t *rsc, rsc 93 include/pcmki/pcmki_sched_allocate.h gboolean pcmk__bundle_create_probe(pe_resource_t *rsc, pe_node_t *node, rsc 96 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_internal_constraints(pe_resource_t *rsc, rsc 106 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_rsc_location(pe_resource_t *rsc, pe__location_t *constraint); rsc 109 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_expand(pe_resource_t *rsc, pe_working_set_t *data_set); rsc 110 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_append_meta(pe_resource_t *rsc, xmlNode *xml); rsc 112 include/pcmki/pcmki_sched_allocate.h pe_node_t *pcmk__clone_allocate(pe_resource_t *rsc, pe_node_t *preferred, rsc 114 include/pcmki/pcmki_sched_allocate.h extern void clone_create_actions(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 115 include/pcmki/pcmki_sched_allocate.h extern void clone_internal_constraints(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 122 include/pcmki/pcmki_sched_allocate.h void clone_rsc_location(pe_resource_t *rsc, pe__location_t *constraint); rsc 124 include/pcmki/pcmki_sched_allocate.h extern void clone_expand(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 125 include/pcmki/pcmki_sched_allocate.h extern gboolean clone_create_probe(pe_resource_t * rsc, pe_node_t * node, pe_action_t * complete, rsc 127 include/pcmki/pcmki_sched_allocate.h extern void clone_append_meta(pe_resource_t * rsc, xmlNode * xml); rsc 129 include/pcmki/pcmki_sched_allocate.h void apply_master_prefs(pe_resource_t *rsc); rsc 130 include/pcmki/pcmki_sched_allocate.h pe_node_t *pcmk__set_instance_roles(pe_resource_t *rsc, rsc 132 include/pcmki/pcmki_sched_allocate.h void create_promotable_actions(pe_resource_t *rsc, pe_working_set_t *data_set); rsc 133 include/pcmki/pcmki_sched_allocate.h void promote_demote_constraints(pe_resource_t *rsc, pe_working_set_t *data_set); rsc 134 include/pcmki/pcmki_sched_allocate.h void promotable_constraints(pe_resource_t *rsc, pe_working_set_t *data_set); rsc 151 include/pcmki/pcmki_sched_allocate.h void LogActions(pe_resource_t * rsc, pe_working_set_t * data_set, gboolean terminal); rsc 152 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_log_actions(pe_resource_t *rsc, pe_working_set_t *data_set, rsc 155 include/pcmki/pcmki_sched_allocate.h extern void rsc_stonith_ordering(pe_resource_t * rsc, pe_action_t * stonith_op, rsc 180 include/pcmki/pcmki_sched_allocate.h void complex_set_cmds(pe_resource_t * rsc); rsc 183 include/pcmki/pcmki_sched_allocate.h pe_resource_t * rsc, GListPtr children, notify_data_t **start_notify, notify_data_t **stop_notify, pe_working_set_t * data_set); rsc 14 include/pcmki/pcmki_sched_notif.h notify_data_t * create_notification_boundaries(pe_resource_t *rsc, rsc 19 include/pcmki/pcmki_sched_notif.h void collect_notification_data(pe_resource_t *rsc, gboolean state, rsc 22 include/pcmki/pcmki_sched_notif.h void pcmk__create_notification_keys(pe_resource_t *rsc, notify_data_t *n_data, rsc 25 include/pcmki/pcmki_sched_notif.h void create_notifications(pe_resource_t *rsc, notify_data_t *n_data, rsc 30 include/pcmki/pcmki_sched_notif.h void create_secondary_notification(pe_action_t *action, pe_resource_t *rsc, rsc 27 include/pcmki/pcmki_sched_utils.h pe__location_t *rsc2node_new(const char *id, pe_resource_t *rsc, int weight, rsc 46 include/pcmki/pcmki_sched_utils.h extern gboolean native_assign_node(pe_resource_t * rsc, GListPtr candidates, pe_node_t * chosen, rsc 48 include/pcmki/pcmki_sched_utils.h void native_deallocate(pe_resource_t * rsc); rsc 55 include/pcmki/pcmki_sched_utils.h pe_resource_t *rsc, enum rsc_role_e filter, rsc 58 include/pcmki/pcmki_sched_utils.h pe_resource_t *find_compatible_child_by_node(pe_resource_t * local_child, pe_node_t * local_node, pe_resource_t * rsc, rsc 61 include/pcmki/pcmki_sched_utils.h bool assign_node(pe_resource_t * rsc, pe_node_t * node, gboolean force); rsc 64 include/pcmki/pcmki_sched_utils.h int copies_per_node(pe_resource_t * rsc); rsc 80 include/pcmki/pcmki_sched_utils.h extern void process_utilization(pe_resource_t * rsc, pe_node_t ** prefer, pe_working_set_t * data_set); rsc 81 include/pcmki/pcmki_sched_utils.h pe_action_t *create_pseudo_resource_op(pe_resource_t * rsc, const char *task, bool optional, bool runnable, pe_working_set_t *data_set); rsc 82 include/pcmki/pcmki_sched_utils.h pe_action_t *pe_cancel_op(pe_resource_t *rsc, const char *name, rsc 108 include/pcmki/pcmki_transition.h gboolean(*rsc) (crm_graph_t * graph, crm_action_t * action); rsc 9 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 13 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("Fencing_monitor_60000", &rsc, &ty, &ms), ==, TRUE); rsc 14 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "Fencing"); rsc 17 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 24 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 28 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("ClusterIP:0_start_0", &rsc, &ty, &ms), ==, TRUE); rsc 29 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "ClusterIP:0"); rsc 32 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 35 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("imagestoreclone:1_post_notify_stop_0", &rsc, &ty, &ms), ==, TRUE); rsc 36 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "imagestoreclone:1"); rsc 39 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 46 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 50 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("httpd-bundle-0_monitor_30000", &rsc, &ty, &ms), ==, TRUE); rsc 51 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "httpd-bundle-0"); rsc 54 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 57 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("httpd-bundle-ip-192.168.122.132_start_0", &rsc, &ty, &ms), ==, TRUE); rsc 58 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "httpd-bundle-ip-192.168.122.132"); rsc 61 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 68 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 72 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("vm_migrate_from_0", &rsc, &ty, &ms), ==, TRUE); rsc 73 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "vm"); rsc 76 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 79 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("vm_migrate_to_0", &rsc, &ty, &ms), ==, TRUE); rsc 80 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "vm"); rsc 83 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 86 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("vm_idcc_devel_migrate_to_0", &rsc, &ty, &ms), ==, TRUE); rsc 87 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "vm_idcc_devel"); rsc 90 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 97 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 101 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("rsc_drbd_7788:1_post_notify_start_0", &rsc, &ty, &ms), ==, TRUE); rsc 102 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "rsc_drbd_7788:1"); rsc 105 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 108 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("rabbitmq-bundle-clone_pre_notify_stop_0", &rsc, &ty, &ms), ==, TRUE); rsc 109 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "rabbitmq-bundle-clone"); rsc 112 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 115 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("post_notify_start_0", &rsc, &ty, &ms), ==, TRUE); rsc 116 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "post_notify"); rsc 119 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 138 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 141 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("Fencing_monitor_60000", &rsc, NULL, &ms), ==, TRUE); rsc 142 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "Fencing"); rsc 144 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 150 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 153 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("Fencing_monitor_60000", &rsc, &ty, NULL), ==, TRUE); rsc 154 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpstr(rsc, ==, "Fencing"); rsc 156 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 163 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 167 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("", &rsc, &ty, &ms), ==, FALSE); rsc 168 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(rsc == NULL, ==, TRUE); rsc 172 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key(NULL, &rsc, &ty, &ms), ==, FALSE); rsc 173 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(rsc == NULL, ==, TRUE); rsc 181 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 185 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("httpd-bundle-0", &rsc, &ty, &ms), ==, FALSE); rsc 186 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(rsc == NULL, ==, TRUE); rsc 190 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("httpd-bundle-0_monitor", &rsc, &ty, &ms), ==, FALSE); rsc 191 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(rsc == NULL, ==, TRUE); rsc 195 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(parse_op_key("httpd-bundle-0_30000", &rsc, &ty, &ms), ==, FALSE); rsc 196 lib/common/tests/operations/parse_op_key_test.c g_assert_cmpint(rsc == NULL, ==, TRUE); rsc 28 lib/pacemaker/pcmk_sched_allocate.c extern void ReloadRsc(pe_resource_t * rsc, pe_node_t *node, pe_working_set_t * data_set); rsc 29 lib/pacemaker/pcmk_sched_allocate.c extern gboolean DeleteRsc(pe_resource_t * rsc, pe_node_t * node, gboolean optional, pe_working_set_t * data_set); rsc 148 lib/pacemaker/pcmk_sched_allocate.c check_rsc_parameters(pe_resource_t * rsc, pe_node_t * node, xmlNode * rsc_entry, rsc 166 lib/pacemaker/pcmk_sched_allocate.c value = crm_element_value(rsc->xml, attr_list[attr_lpc]); rsc 174 lib/pacemaker/pcmk_sched_allocate.c trigger_unfencing(rsc, node, "Device definition changed", NULL, data_set); rsc 178 lib/pacemaker/pcmk_sched_allocate.c rsc->id, node->details->uname, attr_list[attr_lpc], rsc 184 lib/pacemaker/pcmk_sched_allocate.c stop_action(rsc, node, FALSE); rsc 185 lib/pacemaker/pcmk_sched_allocate.c pe__set_resource_flags(rsc, pe_rsc_start_pending); rsc 195 lib/pacemaker/pcmk_sched_allocate.c CancelXmlOp(pe_resource_t * rsc, xmlNode * xml_op, pe_node_t * active_node, rsc 212 lib/pacemaker/pcmk_sched_allocate.c rsc->id, task, interval_ms, rsc 215 lib/pacemaker/pcmk_sched_allocate.c cancel = pe_cancel_op(rsc, task, interval_ms, active_node, data_set); rsc 217 lib/pacemaker/pcmk_sched_allocate.c custom_action_order(rsc, stop_key(rsc), NULL, rsc, NULL, cancel, pe_order_optional, data_set); rsc 221 lib/pacemaker/pcmk_sched_allocate.c check_action_definition(pe_resource_t * rsc, pe_node_t * active_node, xmlNode * xml_op, rsc 239 lib/pacemaker/pcmk_sched_allocate.c key = pcmk__op_key(rsc->id, task, interval_ms); rsc 241 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Checking parameters for %s", key); rsc 242 lib/pacemaker/pcmk_sched_allocate.c op_match = find_rsc_op_entry(rsc, key); rsc 246 lib/pacemaker/pcmk_sched_allocate.c CancelXmlOp(rsc, xml_op, active_node, "orphan", data_set); rsc 251 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_debug(rsc, "Orphan action detected: %s on %s", key, active_node->details->uname); rsc 260 lib/pacemaker/pcmk_sched_allocate.c rsc->id, task, interval_ms, active_node->details->uname); rsc 273 lib/pacemaker/pcmk_sched_allocate.c digest_data = rsc_action_digest_cmp(rsc, xml_op, active_node, data_set); rsc 286 lib/pacemaker/pcmk_sched_allocate.c rsc->id, task, interval_ms, active_node->details->uname, rsc 295 lib/pacemaker/pcmk_sched_allocate.c key = pcmk__op_key(rsc->id, task, interval_ms); rsc 297 lib/pacemaker/pcmk_sched_allocate.c required = custom_action(rsc, key, task, NULL, TRUE, TRUE, data_set); rsc 301 lib/pacemaker/pcmk_sched_allocate.c trigger_unfencing(rsc, active_node, "Device parameters changed", NULL, data_set); rsc 308 lib/pacemaker/pcmk_sched_allocate.c trigger_unfencing(rsc, active_node, "Device parameters changed (reload)", NULL, data_set); rsc 310 lib/pacemaker/pcmk_sched_allocate.c key = pcmk__op_key(rsc->id, task, interval_ms); rsc 317 lib/pacemaker/pcmk_sched_allocate.c ReloadRsc(rsc, active_node, data_set); rsc 320 lib/pacemaker/pcmk_sched_allocate.c op = custom_action(rsc, key, task, active_node, TRUE, TRUE, data_set); rsc 325 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Reloading '%s' action for resource %s", task, rsc->id); rsc 328 lib/pacemaker/pcmk_sched_allocate.c ReloadRsc(rsc, active_node, data_set); rsc 333 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Resource %s doesn't know how to reload", rsc->id); rsc 338 lib/pacemaker/pcmk_sched_allocate.c required = custom_action(rsc, key, task, NULL, TRUE, TRUE, data_set); rsc 354 lib/pacemaker/pcmk_sched_allocate.c check_params(pe_resource_t *rsc, pe_node_t *node, xmlNode *rsc_op, rsc 362 lib/pacemaker/pcmk_sched_allocate.c if (check_action_definition(rsc, node, rsc_op, data_set) rsc 363 lib/pacemaker/pcmk_sched_allocate.c && pe_get_failcount(node, rsc, NULL, pe_fc_effective, NULL, rsc 371 lib/pacemaker/pcmk_sched_allocate.c digest_data = rsc_action_digest_cmp(rsc, rsc_op, node, data_set); rsc 375 lib/pacemaker/pcmk_sched_allocate.c rsc->id, ID(rsc_op), node->details->id); rsc 387 lib/pacemaker/pcmk_sched_allocate.c pe__clear_failcount(rsc, node, reason, data_set); rsc 392 lib/pacemaker/pcmk_sched_allocate.c check_actions_for(xmlNode * rsc_entry, pe_resource_t * rsc, pe_node_t * node, pe_working_set_t * data_set) rsc 407 lib/pacemaker/pcmk_sched_allocate.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 408 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *parent = uber_parent(rsc); rsc 412 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Skipping param check for %s and deleting: orphan", rsc->id); rsc 413 lib/pacemaker/pcmk_sched_allocate.c DeleteRsc(rsc, node, FALSE, data_set); rsc 415 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Skipping param check for %s (orphan clone)", rsc->id); rsc 419 lib/pacemaker/pcmk_sched_allocate.c } else if (pe_find_node_id(rsc->running_on, node->details->id) == NULL) { rsc 420 lib/pacemaker/pcmk_sched_allocate.c if (check_rsc_parameters(rsc, node, rsc_entry, FALSE, data_set)) { rsc 421 lib/pacemaker/pcmk_sched_allocate.c DeleteRsc(rsc, node, FALSE, data_set); rsc 423 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Skipping param check for %s: no longer active on %s", rsc 424 lib/pacemaker/pcmk_sched_allocate.c rsc->id, node->details->uname); rsc 428 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Processing %s on %s", rsc->id, node->details->uname); rsc 430 lib/pacemaker/pcmk_sched_allocate.c if (check_rsc_parameters(rsc, node, rsc_entry, TRUE, data_set)) { rsc 431 lib/pacemaker/pcmk_sched_allocate.c DeleteRsc(rsc, node, FALSE, data_set); rsc 463 lib/pacemaker/pcmk_sched_allocate.c (pcmk_is_set(rsc->flags, pe_rsc_maintenance) || node->details->maintenance)) { rsc 465 lib/pacemaker/pcmk_sched_allocate.c CancelXmlOp(rsc, rsc_op, node, "maintenance mode", data_set); rsc 473 lib/pacemaker/pcmk_sched_allocate.c if (pe__bundle_needs_remote_name(rsc)) { rsc 481 lib/pacemaker/pcmk_sched_allocate.c pe__add_param_check(rsc_op, rsc, node, pe_check_active, rsc 484 lib/pacemaker/pcmk_sched_allocate.c } else if (check_action_definition(rsc, node, rsc_op, data_set) rsc 485 lib/pacemaker/pcmk_sched_allocate.c && pe_get_failcount(node, rsc, NULL, pe_fc_effective, NULL, rsc 487 lib/pacemaker/pcmk_sched_allocate.c pe__clear_failcount(rsc, node, "action definition changed", rsc 496 lib/pacemaker/pcmk_sched_allocate.c find_rsc_list(GListPtr result, pe_resource_t * rsc, const char *id, gboolean renamed_clones, rsc 506 lib/pacemaker/pcmk_sched_allocate.c if (rsc == NULL) { rsc 520 lib/pacemaker/pcmk_sched_allocate.c if (strstr(rsc->id, id)) { rsc 523 lib/pacemaker/pcmk_sched_allocate.c } else if (renamed_clones && rsc->clone_name && strstr(rsc->clone_name, id)) { rsc 528 lib/pacemaker/pcmk_sched_allocate.c if (strcmp(rsc->id, id) == 0) { rsc 531 lib/pacemaker/pcmk_sched_allocate.c } else if (renamed_clones && rsc->clone_name && strcmp(rsc->clone_name, id) == 0) { rsc 537 lib/pacemaker/pcmk_sched_allocate.c result = g_list_prepend(result, rsc); rsc 540 lib/pacemaker/pcmk_sched_allocate.c if (rsc->children) { rsc 541 lib/pacemaker/pcmk_sched_allocate.c gIter = rsc->children; rsc 603 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 605 lib/pacemaker/pcmk_sched_allocate.c if (rsc->variant != pe_native) { rsc 608 lib/pacemaker/pcmk_sched_allocate.c check_actions_for(rsc_entry, rsc, node, data_set); rsc 631 lib/pacemaker/pcmk_sched_allocate.c failcount_clear_action_exists(pe_node_t * node, pe_resource_t * rsc) rsc 634 lib/pacemaker/pcmk_sched_allocate.c GList *list = pe__resource_actions(rsc, node, CRM_OP_CLEAR_FAILCOUNT, TRUE); rsc 652 lib/pacemaker/pcmk_sched_allocate.c check_migration_threshold(pe_resource_t *rsc, pe_node_t *node, rsc 659 lib/pacemaker/pcmk_sched_allocate.c if (rsc->migration_threshold == 0) { rsc 664 lib/pacemaker/pcmk_sched_allocate.c if (pcmk_is_set(rsc->flags, pe_rsc_failure_ignored)) { rsc 669 lib/pacemaker/pcmk_sched_allocate.c fail_count = pe_get_failcount(node, rsc, NULL, rsc 677 lib/pacemaker/pcmk_sched_allocate.c countdown = QB_MAX(rsc->migration_threshold - fail_count, 0); rsc 680 lib/pacemaker/pcmk_sched_allocate.c failed = rsc; rsc 681 lib/pacemaker/pcmk_sched_allocate.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 682 lib/pacemaker/pcmk_sched_allocate.c failed = uber_parent(rsc); rsc 689 lib/pacemaker/pcmk_sched_allocate.c rsc->migration_threshold); rsc 697 lib/pacemaker/pcmk_sched_allocate.c common_apply_stickiness(pe_resource_t * rsc, pe_node_t * node, pe_working_set_t * data_set) rsc 699 lib/pacemaker/pcmk_sched_allocate.c if (rsc->children) { rsc 700 lib/pacemaker/pcmk_sched_allocate.c GListPtr gIter = rsc->children; rsc 710 lib/pacemaker/pcmk_sched_allocate.c if (pcmk_is_set(rsc->flags, pe_rsc_managed) rsc 711 lib/pacemaker/pcmk_sched_allocate.c && rsc->stickiness != 0 && pcmk__list_of_1(rsc->running_on)) { rsc 712 lib/pacemaker/pcmk_sched_allocate.c pe_node_t *current = pe_find_node_id(rsc->running_on, node->details->id); rsc 713 lib/pacemaker/pcmk_sched_allocate.c pe_node_t *match = pe_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 719 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *sticky_rsc = rsc; rsc 721 lib/pacemaker/pcmk_sched_allocate.c resource_location(sticky_rsc, node, rsc->stickiness, "stickiness", data_set); rsc 724 lib/pacemaker/pcmk_sched_allocate.c node->details->uname, rsc->stickiness); rsc 729 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_debug(rsc, "Ignoring stickiness for %s: the cluster is asymmetric" rsc 730 lib/pacemaker/pcmk_sched_allocate.c " and node %s is not explicitly allowed", rsc->id, node->details->uname); rsc 731 lib/pacemaker/pcmk_sched_allocate.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 733 lib/pacemaker/pcmk_sched_allocate.c crm_err("%s[%s] = %d", rsc->id, nIter->details->uname, nIter->weight); rsc 749 lib/pacemaker/pcmk_sched_allocate.c if (failcount_clear_action_exists(node, rsc) == FALSE) { rsc 750 lib/pacemaker/pcmk_sched_allocate.c check_migration_threshold(rsc, node, data_set); rsc 755 lib/pacemaker/pcmk_sched_allocate.c complex_set_cmds(pe_resource_t * rsc) rsc 757 lib/pacemaker/pcmk_sched_allocate.c GListPtr gIter = rsc->children; rsc 759 lib/pacemaker/pcmk_sched_allocate.c rsc->cmds = &resource_class_alloc_functions[rsc->variant]; rsc 775 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 777 lib/pacemaker/pcmk_sched_allocate.c complex_set_cmds(rsc); rsc 875 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter2->data; rsc 877 lib/pacemaker/pcmk_sched_allocate.c rsc2node_new(health_strategy, rsc, system_health, NULL, node, data_set); rsc 944 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter2->data; rsc 946 lib/pacemaker/pcmk_sched_allocate.c rsc->cmds->create_probe(rsc, node, probe_node_complete, FALSE, data_set); rsc 953 lib/pacemaker/pcmk_sched_allocate.c rsc_discover_filter(pe_resource_t *rsc, pe_node_t *node) rsc 955 lib/pacemaker/pcmk_sched_allocate.c GListPtr gIter = rsc->children; rsc 956 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *top = uber_parent(rsc); rsc 959 lib/pacemaker/pcmk_sched_allocate.c if (rsc->exclusive_discover == FALSE && top->exclusive_discover == FALSE) { rsc 968 lib/pacemaker/pcmk_sched_allocate.c match = g_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 991 lib/pacemaker/pcmk_sched_allocate.c apply_shutdown_lock(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 996 lib/pacemaker/pcmk_sched_allocate.c if (rsc->variant == pe_group) { rsc 997 lib/pacemaker/pcmk_sched_allocate.c for (GList *item = rsc->children; item != NULL; rsc 1001 lib/pacemaker/pcmk_sched_allocate.c } else if (rsc->variant != pe_native) { rsc 1006 lib/pacemaker/pcmk_sched_allocate.c class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 1008 lib/pacemaker/pcmk_sched_allocate.c || pe__resource_is_remote_conn(rsc, data_set)) { rsc 1012 lib/pacemaker/pcmk_sched_allocate.c if (rsc->lock_node != NULL) { rsc 1015 lib/pacemaker/pcmk_sched_allocate.c if (rsc->running_on != NULL) { rsc 1020 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_info(rsc, rsc 1022 lib/pacemaker/pcmk_sched_allocate.c rsc->id); rsc 1023 lib/pacemaker/pcmk_sched_allocate.c pe__clear_resource_history(rsc, rsc->lock_node, data_set); rsc 1024 lib/pacemaker/pcmk_sched_allocate.c rsc->lock_node = NULL; rsc 1025 lib/pacemaker/pcmk_sched_allocate.c rsc->lock_time = 0; rsc 1029 lib/pacemaker/pcmk_sched_allocate.c } else if (pcmk__list_of_1(rsc->running_on)) { rsc 1030 lib/pacemaker/pcmk_sched_allocate.c pe_node_t *node = rsc->running_on->data; rsc 1034 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_debug(rsc, "Not locking %s to unclean %s for shutdown", rsc 1035 lib/pacemaker/pcmk_sched_allocate.c rsc->id, node->details->uname); rsc 1037 lib/pacemaker/pcmk_sched_allocate.c rsc->lock_node = node; rsc 1038 lib/pacemaker/pcmk_sched_allocate.c rsc->lock_time = shutdown_time(node, data_set); rsc 1043 lib/pacemaker/pcmk_sched_allocate.c if (rsc->lock_node == NULL) { rsc 1049 lib/pacemaker/pcmk_sched_allocate.c time_t lock_expiration = rsc->lock_time + data_set->shutdown_lock; rsc 1051 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_info(rsc, "Locking %s to %s due to shutdown (expires @%lld)", rsc 1052 lib/pacemaker/pcmk_sched_allocate.c rsc->id, rsc->lock_node->details->uname, rsc 1056 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_info(rsc, "Locking %s to %s due to shutdown", rsc 1057 lib/pacemaker/pcmk_sched_allocate.c rsc->id, rsc->lock_node->details->uname); rsc 1064 lib/pacemaker/pcmk_sched_allocate.c if (strcmp(node->details->uname, rsc->lock_node->details->uname)) { rsc 1065 lib/pacemaker/pcmk_sched_allocate.c resource_location(rsc, node, -CRM_SCORE_INFINITY, rsc 1110 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter2->data; rsc 1112 lib/pacemaker/pcmk_sched_allocate.c common_apply_stickiness(rsc, node, data_set); rsc 1113 lib/pacemaker/pcmk_sched_allocate.c rsc_discover_filter(rsc, node); rsc 1130 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 1132 lib/pacemaker/pcmk_sched_allocate.c rsc->cmds->internal_constraints(rsc, data_set); rsc 1294 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 1295 lib/pacemaker/pcmk_sched_allocate.c if (rsc->is_remote_node == FALSE) { rsc 1298 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Allocating remote connection resource '%s'", rsc 1299 lib/pacemaker/pcmk_sched_allocate.c rsc->id); rsc 1300 lib/pacemaker/pcmk_sched_allocate.c rsc->cmds->allocate(rsc, rsc->partial_migration_target, data_set); rsc 1306 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 1307 lib/pacemaker/pcmk_sched_allocate.c if (rsc->is_remote_node == TRUE) { rsc 1310 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Allocating %s resource '%s'", rsc 1311 lib/pacemaker/pcmk_sched_allocate.c crm_element_name(rsc->xml), rsc->id); rsc 1312 lib/pacemaker/pcmk_sched_allocate.c rsc->cmds->allocate(rsc, NULL, data_set); rsc 1330 lib/pacemaker/pcmk_sched_allocate.c rh_action->rsc, NULL, rh_action, rsc 1341 lib/pacemaker/pcmk_sched_allocate.c custom_action_order(lh_action->rsc, NULL, lh_action, rsc 1349 lib/pacemaker/pcmk_sched_allocate.c cleanup_orphans(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 1357 lib/pacemaker/pcmk_sched_allocate.c && pe_get_failcount(node, rsc, NULL, pe_fc_effective, NULL, rsc 1362 lib/pacemaker/pcmk_sched_allocate.c clear_op = pe__clear_failcount(rsc, node, "it is orphaned", rsc 1368 lib/pacemaker/pcmk_sched_allocate.c custom_action_order(clear_op->rsc, NULL, clear_op, rsc 1369 lib/pacemaker/pcmk_sched_allocate.c rsc, stop_key(rsc), NULL, rsc 1456 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 1461 lib/pacemaker/pcmk_sched_allocate.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 1462 lib/pacemaker/pcmk_sched_allocate.c cleanup_orphans(rsc, data_set); rsc 1470 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 1472 lib/pacemaker/pcmk_sched_allocate.c rsc->cmds->create_actions(rsc, data_set); rsc 1480 lib/pacemaker/pcmk_sched_allocate.c is_managed(const pe_resource_t * rsc) rsc 1482 lib/pacemaker/pcmk_sched_allocate.c GListPtr gIter = rsc->children; rsc 1484 lib/pacemaker/pcmk_sched_allocate.c if (pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 1506 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 1508 lib/pacemaker/pcmk_sched_allocate.c if (is_managed(rsc)) { rsc 1764 lib/pacemaker/pcmk_sched_allocate.c find_actions_by_task(GListPtr actions, pe_resource_t * rsc, const char *original_key) rsc 1776 lib/pacemaker/pcmk_sched_allocate.c key = pcmk__op_key(rsc->id, task, interval_ms); rsc 1791 lib/pacemaker/pcmk_sched_allocate.c rsc_order_then(pe_action_t *lh_action, pe_resource_t *rsc, rsc 1799 lib/pacemaker/pcmk_sched_allocate.c CRM_CHECK(rsc != NULL, return); rsc 1809 lib/pacemaker/pcmk_sched_allocate.c } else if (rsc != NULL) { rsc 1810 lib/pacemaker/pcmk_sched_allocate.c rh_actions = find_actions_by_task(rsc->actions, rsc, order->rh_action_task); rsc 1814 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "No RH-Side (%s/%s) found for constraint..." rsc 1815 lib/pacemaker/pcmk_sched_allocate.c " ignoring", rsc->id, order->rh_action_task); rsc 1817 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "LH-Side was: %s", lh_action->uuid); rsc 1822 lib/pacemaker/pcmk_sched_allocate.c if ((lh_action != NULL) && (lh_action->rsc == rsc) rsc 1825 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Detected dangling operation %s -> %s", lh_action->uuid, rsc 1901 lib/pacemaker/pcmk_sched_allocate.c rh_rsc = order->rh_action->rsc; rsc 1944 lib/pacemaker/pcmk_sched_allocate.c CRM_ASSERT(action->rsc); rsc 2112 lib/pacemaker/pcmk_sched_allocate.c if (action->rsc == NULL) { rsc 2243 lib/pacemaker/pcmk_sched_allocate.c if (action->rsc == NULL) { rsc 2251 lib/pacemaker/pcmk_sched_allocate.c if (action->rsc->is_remote_node && rsc 2254 lib/pacemaker/pcmk_sched_allocate.c custom_action_order(action->rsc, rsc 2257 lib/pacemaker/pcmk_sched_allocate.c action->rsc, rsc 2258 lib/pacemaker/pcmk_sched_allocate.c pcmk__op_key(action->rsc->id, RSC_START, 0), rsc 2297 lib/pacemaker/pcmk_sched_allocate.c for (GList *item = action->rsc->actions; item != NULL; rsc 2304 lib/pacemaker/pcmk_sched_allocate.c action->rsc, NULL, rsc_action, rsc 2492 lib/pacemaker/pcmk_sched_allocate.c || probe->rsc == NULL rsc 2493 lib/pacemaker/pcmk_sched_allocate.c || probe->rsc->variant != pe_native) { rsc 2515 lib/pacemaker/pcmk_sched_allocate.c if (after->rsc rsc 2520 lib/pacemaker/pcmk_sched_allocate.c && after->rsc->variant == pe_native rsc 2521 lib/pacemaker/pcmk_sched_allocate.c && probe->rsc != after->rsc) { rsc 2527 lib/pacemaker/pcmk_sched_allocate.c then_actions = pe__resource_actions(after->rsc, NULL, RSC_STOP, FALSE); rsc 2530 lib/pacemaker/pcmk_sched_allocate.c then_actions = pe__resource_actions(after->rsc, NULL, RSC_DEMOTE, FALSE); rsc 2546 lib/pacemaker/pcmk_sched_allocate.c if (after->rsc rsc 2547 lib/pacemaker/pcmk_sched_allocate.c && after->rsc->variant > pe_group) { rsc 2548 lib/pacemaker/pcmk_sched_allocate.c const char *interleave_s = g_hash_table_lookup(after->rsc->meta, rsc 2557 lib/pacemaker/pcmk_sched_allocate.c compatible_rsc = find_compatible_child(probe->rsc, rsc 2558 lib/pacemaker/pcmk_sched_allocate.c after->rsc, rsc 2583 lib/pacemaker/pcmk_sched_allocate.c if (after->rsc == NULL rsc 2584 lib/pacemaker/pcmk_sched_allocate.c || after->rsc->variant < pe_group rsc 2585 lib/pacemaker/pcmk_sched_allocate.c || probe->rsc->parent == after->rsc rsc 2586 lib/pacemaker/pcmk_sched_allocate.c || after_wrapper->action->rsc == NULL rsc 2587 lib/pacemaker/pcmk_sched_allocate.c || after_wrapper->action->rsc->variant > pe_group rsc 2588 lib/pacemaker/pcmk_sched_allocate.c || after->rsc != after_wrapper->action->rsc->parent) { rsc 2595 lib/pacemaker/pcmk_sched_allocate.c if (after->rsc->variant > pe_group rsc 2598 lib/pacemaker/pcmk_sched_allocate.c || compatible_rsc != after_wrapper->action->rsc)) { rsc 2628 lib/pacemaker/pcmk_sched_allocate.c order_first_rsc_probes(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 2633 lib/pacemaker/pcmk_sched_allocate.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 2639 lib/pacemaker/pcmk_sched_allocate.c if (rsc->variant != pe_native) { rsc 2643 lib/pacemaker/pcmk_sched_allocate.c probes = pe__resource_actions(rsc, NULL, RSC_STATUS, FALSE); rsc 2666 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 2668 lib/pacemaker/pcmk_sched_allocate.c order_first_rsc_probes(rsc, data_set); rsc 2681 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 2729 lib/pacemaker/pcmk_sched_allocate.c actions = pe__resource_actions(rsc, NULL, RSC_START, FALSE); rsc 2737 lib/pacemaker/pcmk_sched_allocate.c crm_err("No start action for %s", rsc->id); rsc 2741 lib/pacemaker/pcmk_sched_allocate.c probes = pe__resource_actions(rsc, NULL, RSC_STATUS, FALSE); rsc 2748 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *first_rsc = first->rsc; rsc 2755 lib/pacemaker/pcmk_sched_allocate.c crm_trace("Testing %s -> %s (%p) for %s", first->uuid, before->action->uuid, before->action->rsc, start->uuid); rsc 2757 lib/pacemaker/pcmk_sched_allocate.c CRM_ASSERT(before->action->rsc); rsc 2758 lib/pacemaker/pcmk_sched_allocate.c first_rsc = before->action->rsc; rsc 2769 lib/pacemaker/pcmk_sched_allocate.c } else if(uber_parent(first_rsc) == uber_parent(start->rsc)) { rsc 2815 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = order->lh_rsc; rsc 2819 lib/pacemaker/pcmk_sched_allocate.c if (rsc != NULL) { rsc 2821 lib/pacemaker/pcmk_sched_allocate.c rsc_order_first(rsc, order, data_set); rsc 2825 lib/pacemaker/pcmk_sched_allocate.c rsc = order->rh_rsc; rsc 2826 lib/pacemaker/pcmk_sched_allocate.c if (rsc != NULL) { rsc 2828 lib/pacemaker/pcmk_sched_allocate.c rsc_order_then(order->lh_action, rsc, order); rsc 2869 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 2871 lib/pacemaker/pcmk_sched_allocate.c LogActions(rsc, data_set, FALSE); rsc 2967 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 2969 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "processing actions for rsc=%s", rsc->id); rsc 2970 lib/pacemaker/pcmk_sched_allocate.c rsc->cmds->expand(rsc, data_set); rsc 2985 lib/pacemaker/pcmk_sched_allocate.c if (action->rsc rsc 2988 lib/pacemaker/pcmk_sched_allocate.c && !pcmk_is_set(action->rsc->flags, pe_rsc_maintenance) rsc 3001 lib/pacemaker/pcmk_sched_allocate.c action->node->details->uname, action->rsc->id, rsc 3002 lib/pacemaker/pcmk_sched_allocate.c pcmk_is_set(action->rsc->flags, pe_rsc_managed)? " blocked" : " unmanaged", rsc 3003 lib/pacemaker/pcmk_sched_allocate.c pcmk_is_set(action->rsc->flags, pe_rsc_failed)? " failed" : "", rsc 3027 lib/pacemaker/pcmk_sched_allocate.c if (action->rsc != NULL) { rsc 32 lib/pacemaker/pcmk_sched_bundle.c void distribute_children(pe_resource_t *rsc, GListPtr children, GListPtr nodes, rsc 36 lib/pacemaker/pcmk_sched_bundle.c get_container_list(pe_resource_t *rsc) rsc 40 lib/pacemaker/pcmk_sched_bundle.c if (rsc->variant == pe_container) { rsc 43 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(data, rsc); rsc 55 lib/pacemaker/pcmk_sched_bundle.c get_containers_or_children(pe_resource_t *rsc) rsc 57 lib/pacemaker/pcmk_sched_bundle.c return (rsc->variant == pe_container)? rsc 58 lib/pacemaker/pcmk_sched_bundle.c get_container_list(rsc) : rsc->children; rsc 62 lib/pacemaker/pcmk_sched_bundle.c migration_threshold_reached(pe_resource_t *rsc, pe_node_t *node, rsc 68 lib/pacemaker/pcmk_sched_bundle.c if (rsc->migration_threshold == 0) { rsc 73 lib/pacemaker/pcmk_sched_bundle.c if (pcmk_is_set(rsc->flags, pe_rsc_failure_ignored)) { rsc 78 lib/pacemaker/pcmk_sched_bundle.c fail_count = pe_get_failcount(node, rsc, NULL, rsc 86 lib/pacemaker/pcmk_sched_bundle.c countdown = QB_MAX(rsc->migration_threshold - fail_count, 0); rsc 90 lib/pacemaker/pcmk_sched_bundle.c rsc->id, node->details->uname, fail_count, rsc 91 lib/pacemaker/pcmk_sched_bundle.c rsc->migration_threshold); rsc 96 lib/pacemaker/pcmk_sched_bundle.c rsc->id, countdown, node->details->uname); rsc 101 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_allocate(pe_resource_t *rsc, pe_node_t *prefer, rsc 108 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return NULL); rsc 110 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 112 lib/pacemaker/pcmk_sched_bundle.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 113 lib/pacemaker/pcmk_sched_bundle.c containers = get_container_list(rsc); rsc 115 lib/pacemaker/pcmk_sched_bundle.c pe__show_node_weights(!show_scores, rsc, __func__, rsc->allowed_nodes); rsc 117 lib/pacemaker/pcmk_sched_bundle.c nodes = g_hash_table_get_values(rsc->allowed_nodes); rsc 120 lib/pacemaker/pcmk_sched_bundle.c distribute_children(rsc, containers, nodes, bundle_data->nreplicas, rsc 132 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_trace(rsc, "Allocating bundle %s IP %s", rsc 133 lib/pacemaker/pcmk_sched_bundle.c rsc->id, replica->ip->id); rsc 150 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_trace(rsc, "Allocating bundle %s connection %s", rsc 151 lib/pacemaker/pcmk_sched_bundle.c rsc->id, replica->remote->id); rsc 172 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_trace(rsc, "Allocating bundle %s replica child %s", rsc 173 lib/pacemaker/pcmk_sched_bundle.c rsc->id, replica->child->id); rsc 192 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_trace(rsc, "Allocating bundle %s child %s", rsc 193 lib/pacemaker/pcmk_sched_bundle.c rsc->id, bundle_data->child->id); rsc 197 lib/pacemaker/pcmk_sched_bundle.c pe__clear_resource_flags(rsc, pe_rsc_allocating|pe_rsc_provisional); rsc 203 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_create_actions(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 209 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return); rsc 211 lib/pacemaker/pcmk_sched_bundle.c containers = get_container_list(rsc); rsc 212 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 230 lib/pacemaker/pcmk_sched_bundle.c clone_create_pseudo_actions(rsc, containers, NULL, NULL, data_set); rsc 237 lib/pacemaker/pcmk_sched_bundle.c create_pseudo_resource_op(rsc, RSC_PROMOTE, TRUE, TRUE, data_set); rsc 238 lib/pacemaker/pcmk_sched_bundle.c action = create_pseudo_resource_op(rsc, RSC_PROMOTED, TRUE, TRUE, data_set); rsc 242 lib/pacemaker/pcmk_sched_bundle.c create_pseudo_resource_op(rsc, RSC_DEMOTE, TRUE, TRUE, data_set); rsc 243 lib/pacemaker/pcmk_sched_bundle.c action = create_pseudo_resource_op(rsc, RSC_DEMOTED, TRUE, TRUE, data_set); rsc 252 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_internal_constraints(pe_resource_t *rsc, rsc 257 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return); rsc 259 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 262 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(rsc, RSC_START, bundle_data->child, RSC_START, rsc 264 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(rsc, RSC_STOP, bundle_data->child, RSC_STOP, rsc 268 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(bundle_data->child, RSC_STARTED, rsc, RSC_STARTED, rsc 270 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(bundle_data->child, RSC_STOPPED, rsc, RSC_STOPPED, rsc 273 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(bundle_data->child, RSC_START, rsc, RSC_STARTED, rsc 275 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(bundle_data->child, RSC_STOP, rsc, RSC_STOPPED, rsc 290 lib/pacemaker/pcmk_sched_bundle.c order_start_start(rsc, replica->container, rsc 294 lib/pacemaker/pcmk_sched_bundle.c order_stop_stop(rsc, replica->child, rsc 297 lib/pacemaker/pcmk_sched_bundle.c order_stop_stop(rsc, replica->container, rsc 299 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(replica->container, RSC_START, rsc, RSC_STARTED, rsc 301 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(replica->container, RSC_STOP, rsc, RSC_STOPPED, rsc 338 lib/pacemaker/pcmk_sched_bundle.c promote_demote_constraints(rsc, data_set); rsc 341 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(bundle_data->child, RSC_DEMOTED, rsc, RSC_DEMOTED, rsc 345 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(rsc, RSC_DEMOTE, bundle_data->child, RSC_DEMOTE, rsc 349 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(bundle_data->child, RSC_PROMOTED, rsc, RSC_PROMOTED, rsc 353 lib/pacemaker/pcmk_sched_bundle.c new_rsc_order(rsc, RSC_PROMOTE, bundle_data->child, RSC_PROMOTE, rsc 366 lib/pacemaker/pcmk_sched_bundle.c pe_resource_t *rsc, enum rsc_role_e filter, rsc 372 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 375 lib/pacemaker/pcmk_sched_bundle.c rsc_lh->id, rsc->id, candidate->details->uname); rsc 389 lib/pacemaker/pcmk_sched_bundle.c crm_trace("Can't pair %s with %s", rsc_lh->id, rsc->id); rsc 394 lib/pacemaker/pcmk_sched_bundle.c compatible_replica(pe_resource_t *rsc_lh, pe_resource_t *rsc, rsc 404 lib/pacemaker/pcmk_sched_bundle.c return compatible_replica_for_node(rsc_lh, active_node_lh, rsc, filter, rsc 414 lib/pacemaker/pcmk_sched_bundle.c pair = compatible_replica_for_node(rsc_lh, node, rsc, filter, current); rsc 420 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_debug(rsc, "Can't pair %s with %s", rsc_lh->id, (rsc? rsc->id : "none")); rsc 427 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_rsc_colocation_lh(pe_resource_t *rsc, pe_resource_t *rsc_rh, rsc 438 lib/pacemaker/pcmk_sched_bundle.c int copies_per_node(pe_resource_t * rsc) rsc 449 lib/pacemaker/pcmk_sched_bundle.c switch(rsc->variant) { rsc 457 lib/pacemaker/pcmk_sched_bundle.c const char *max_clones_node = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INCARNATION_NODEMAX); rsc 463 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(data, rsc); rsc 471 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_rsc_colocation_rh(pe_resource_t *rsc_lh, pe_resource_t *rsc, rsc 480 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, pe_err("rsc was NULL for %s", constraint->id); return); rsc 486 lib/pacemaker/pcmk_sched_bundle.c if (pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 487 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_trace(rsc, "%s is still provisional", rsc->id); rsc 491 lib/pacemaker/pcmk_sched_bundle.c pe_resource_t *rh_child = compatible_replica(rsc_lh, rsc, rsc 496 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_debug(rsc, "Pairing %s with %s", rsc_lh->id, rh_child->id); rsc 501 lib/pacemaker/pcmk_sched_bundle.c crm_notice("Cannot pair %s with instance of %s", rsc_lh->id, rsc->id); rsc 505 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_debug(rsc, "Cannot pair %s with instance of %s", rsc_lh->id, rsc->id); rsc 511 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 512 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_trace(rsc, "Processing constraint %s: %s -> %s %d", rsc 513 lib/pacemaker/pcmk_sched_bundle.c constraint->id, rsc_lh->id, rsc->id, constraint->score); rsc 541 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_trace(rsc, "Allowing %s: %s %d", constraint->id, chosen->details->uname, chosen->weight); rsc 559 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(data, action->rsc); rsc 576 lib/pacemaker/pcmk_sched_bundle.c containers = get_container_list(action->rsc); rsc 583 lib/pacemaker/pcmk_sched_bundle.c find_compatible_child_by_node(pe_resource_t * local_child, pe_node_t * local_node, pe_resource_t * rsc, rsc 590 lib/pacemaker/pcmk_sched_bundle.c crm_err("Can't colocate unrunnable child %s with %s", local_child->id, rsc->id); rsc 595 lib/pacemaker/pcmk_sched_bundle.c local_child->id, rsc->id, local_node->details->uname); rsc 597 lib/pacemaker/pcmk_sched_bundle.c children = get_containers_or_children(rsc); rsc 608 lib/pacemaker/pcmk_sched_bundle.c crm_trace("Can't pair %s with %s", local_child->id, rsc->id); rsc 609 lib/pacemaker/pcmk_sched_bundle.c if(children != rsc->children) { rsc 616 lib/pacemaker/pcmk_sched_bundle.c replica_for_container(pe_resource_t *rsc, pe_resource_t *container, rsc 619 lib/pacemaker/pcmk_sched_bundle.c if (rsc->variant == pe_container) { rsc 622 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(data, rsc); rsc 655 lib/pacemaker/pcmk_sched_bundle.c children = get_containers_or_children(then->rsc); rsc 659 lib/pacemaker/pcmk_sched_bundle.c first->rsc, rsc 675 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_info(then->rsc, "Inhibiting %s from being active", then_child->id); rsc 691 lib/pacemaker/pcmk_sched_bundle.c first_replica = replica_for_container(first->rsc, first_child, rsc 705 lib/pacemaker/pcmk_sched_bundle.c then_replica = replica_for_container(then->rsc, then_child, node); rsc 773 lib/pacemaker/pcmk_sched_bundle.c if(children != then->rsc->children) { rsc 783 lib/pacemaker/pcmk_sched_bundle.c pe_resource_t *rsc = NULL; rsc 786 lib/pacemaker/pcmk_sched_bundle.c if(first->rsc == NULL || then->rsc == NULL) { rsc 789 lib/pacemaker/pcmk_sched_bundle.c } else if(first->rsc == then->rsc) { rsc 792 lib/pacemaker/pcmk_sched_bundle.c } else if(first->rsc->variant < pe_clone || then->rsc->variant < pe_clone) { rsc 799 lib/pacemaker/pcmk_sched_bundle.c rsc = first->rsc; rsc 801 lib/pacemaker/pcmk_sched_bundle.c rsc = then->rsc; rsc 804 lib/pacemaker/pcmk_sched_bundle.c interleave_s = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INTERLEAVE); rsc 807 lib/pacemaker/pcmk_sched_bundle.c first->uuid, then->uuid, interleave ? "yes" : "no", rsc->id); rsc 826 lib/pacemaker/pcmk_sched_bundle.c } else if(then->rsc) { rsc 835 lib/pacemaker/pcmk_sched_bundle.c children = get_containers_or_children(then->rsc); rsc 858 lib/pacemaker/pcmk_sched_bundle.c if(children != then->rsc->children) { rsc 866 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_rsc_location(pe_resource_t *rsc, pe__location_t *constraint) rsc 869 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 871 lib/pacemaker/pcmk_sched_bundle.c native_rsc_location(rsc, constraint); rsc 896 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_expand(pe_resource_t *rsc, pe_working_set_t * data_set) rsc 900 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return); rsc 902 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 943 lib/pacemaker/pcmk_sched_bundle.c rsc->id); rsc 959 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_create_probe(pe_resource_t *rsc, pe_node_t *node, rsc 966 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return FALSE); rsc 968 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1053 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_append_meta(pe_resource_t *rsc, xmlNode *xml) rsc 1058 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_log_actions(pe_resource_t *rsc, pe_working_set_t *data_set, rsc 1063 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return); rsc 1065 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 19 lib/pacemaker/pcmk_sched_clone.c static void append_parent_colocation(pe_resource_t * rsc, pe_resource_t * child, gboolean all); rsc 46 lib/pacemaker/pcmk_sched_clone.c parent_node_instance(const pe_resource_t * rsc, pe_node_t * node) rsc 50 lib/pacemaker/pcmk_sched_clone.c if (node != NULL && rsc->parent) { rsc 51 lib/pacemaker/pcmk_sched_clone.c ret = pe_hash_table_lookup(rsc->parent->allowed_nodes, node->details->id); rsc 53 lib/pacemaker/pcmk_sched_clone.c ret = pe_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 59 lib/pacemaker/pcmk_sched_clone.c did_fail(const pe_resource_t * rsc) rsc 61 lib/pacemaker/pcmk_sched_clone.c GListPtr gIter = rsc->children; rsc 63 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 373 lib/pacemaker/pcmk_sched_clone.c can_run_instance(pe_resource_t * rsc, pe_node_t * node, int limit) rsc 377 lib/pacemaker/pcmk_sched_clone.c if (node == NULL && rsc->allowed_nodes) { rsc 379 lib/pacemaker/pcmk_sched_clone.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 381 lib/pacemaker/pcmk_sched_clone.c can_run_instance(rsc, local_node, limit); rsc 393 lib/pacemaker/pcmk_sched_clone.c } else if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 397 lib/pacemaker/pcmk_sched_clone.c local_node = parent_node_instance(rsc, node); rsc 400 lib/pacemaker/pcmk_sched_clone.c crm_warn("%s cannot run on %s: node not allowed", rsc->id, node->details->uname); rsc 404 lib/pacemaker/pcmk_sched_clone.c common_update_score(rsc, node->details->id, local_node->weight); rsc 405 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "%s cannot run on %s: Parent node weight doesn't allow it.", rsc 406 lib/pacemaker/pcmk_sched_clone.c rsc->id, node->details->uname); rsc 409 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "%s can run on %s (already running %d)", rsc 410 lib/pacemaker/pcmk_sched_clone.c rsc->id, node->details->uname, local_node->count); rsc 414 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "%s cannot run on %s: node full (%d >= %d)", rsc 415 lib/pacemaker/pcmk_sched_clone.c rsc->id, node->details->uname, local_node->count, limit); rsc 420 lib/pacemaker/pcmk_sched_clone.c common_update_score(rsc, node->details->id, -INFINITY); rsc 426 lib/pacemaker/pcmk_sched_clone.c allocate_instance(pe_resource_t *rsc, pe_node_t *prefer, gboolean all_coloc, rsc 432 lib/pacemaker/pcmk_sched_clone.c CRM_ASSERT(rsc); rsc 433 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Checking allocation of %s (preferring %s, using %s parent colocations)", rsc 434 lib/pacemaker/pcmk_sched_clone.c rsc->id, (prefer? prefer->details->uname: "none"), rsc 437 lib/pacemaker/pcmk_sched_clone.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 438 lib/pacemaker/pcmk_sched_clone.c return rsc->fns->location(rsc, NULL, FALSE); rsc 440 lib/pacemaker/pcmk_sched_clone.c } else if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 441 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Dependency loop detected involving %s", rsc->id); rsc 448 lib/pacemaker/pcmk_sched_clone.c append_parent_colocation(rsc->parent, rsc, all_coloc); rsc 451 lib/pacemaker/pcmk_sched_clone.c pe_node_t *local_prefer = g_hash_table_lookup(rsc->allowed_nodes, prefer->details->id); rsc 454 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Not pre-allocating %s to %s - unavailable", rsc->id, rsc 460 lib/pacemaker/pcmk_sched_clone.c can_run_instance(rsc, NULL, limit); rsc 462 lib/pacemaker/pcmk_sched_clone.c backup = pcmk__copy_node_table(rsc->allowed_nodes); rsc 463 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Allocating instance %s", rsc->id); rsc 464 lib/pacemaker/pcmk_sched_clone.c chosen = rsc->cmds->allocate(rsc, prefer, data_set); rsc 467 lib/pacemaker/pcmk_sched_clone.c rsc->id, prefer->details->uname, chosen->details->uname); rsc 468 lib/pacemaker/pcmk_sched_clone.c g_hash_table_destroy(rsc->allowed_nodes); rsc 469 lib/pacemaker/pcmk_sched_clone.c rsc->allowed_nodes = backup; rsc 470 lib/pacemaker/pcmk_sched_clone.c native_deallocate(rsc); rsc 475 lib/pacemaker/pcmk_sched_clone.c pe_node_t *local_node = parent_node_instance(rsc, chosen); rsc 480 lib/pacemaker/pcmk_sched_clone.c } else if (pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 483 lib/pacemaker/pcmk_sched_clone.c chosen->details->id, rsc->parent->id, rsc 484 lib/pacemaker/pcmk_sched_clone.c g_hash_table_size(rsc->parent->allowed_nodes)); rsc 495 lib/pacemaker/pcmk_sched_clone.c append_parent_colocation(pe_resource_t * rsc, pe_resource_t * child, gboolean all) rsc 500 lib/pacemaker/pcmk_sched_clone.c gIter = rsc->rsc_cons; rsc 512 lib/pacemaker/pcmk_sched_clone.c gIter = rsc->rsc_cons_lhs; rsc 527 lib/pacemaker/pcmk_sched_clone.c distribute_children(pe_resource_t *rsc, GListPtr children, GListPtr nodes, rsc 531 lib/pacemaker/pcmk_sched_clone.c distribute_children(pe_resource_t *rsc, GListPtr children, GListPtr nodes, rsc 555 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Allocating up to %d %s instances to a possible %d nodes (at most %d per host, %d optimal)", rsc 556 lib/pacemaker/pcmk_sched_clone.c max, rsc->id, available_nodes, per_host_max, loop_max); rsc 567 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Checking pre-allocation of %s to %s (%d remaining of %d)", rsc 571 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Not pre-allocating because %s can not run %s", rsc 575 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, rsc 582 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Pre-allocated %s to %s", child->id, rsc 589 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Done pre-allocating (%d of %d)", allocated, max); rsc 606 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Child %s not allocated - limit reached %d %d", child->id, allocated, max); rsc 616 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Allocated %d %s instances of a possible %d", rsc 617 lib/pacemaker/pcmk_sched_clone.c allocated, rsc->id, max); rsc 622 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_allocate(pe_resource_t *rsc, pe_node_t *prefer, rsc 628 lib/pacemaker/pcmk_sched_clone.c get_clone_variant_data(clone_data, rsc); rsc 630 lib/pacemaker/pcmk_sched_clone.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 633 lib/pacemaker/pcmk_sched_clone.c } else if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 634 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Dependency loop detected involving %s", rsc->id); rsc 638 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 639 lib/pacemaker/pcmk_sched_clone.c apply_master_prefs(rsc); rsc 642 lib/pacemaker/pcmk_sched_clone.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 647 lib/pacemaker/pcmk_sched_clone.c for (GListPtr gIter = rsc->rsc_cons; gIter != NULL; gIter = gIter->next) { rsc 653 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "%s: Allocating %s first", rsc 654 lib/pacemaker/pcmk_sched_clone.c rsc->id, constraint->rsc_rh->id); rsc 658 lib/pacemaker/pcmk_sched_clone.c for (GListPtr gIter = rsc->rsc_cons_lhs; gIter != NULL; gIter = gIter->next) { rsc 664 lib/pacemaker/pcmk_sched_clone.c rsc->allowed_nodes = rsc 665 lib/pacemaker/pcmk_sched_clone.c constraint->rsc_lh->cmds->merge_weights(constraint->rsc_lh, rsc->id, rsc->allowed_nodes, rsc 671 lib/pacemaker/pcmk_sched_clone.c pe__show_node_weights(!show_scores, rsc, __func__, rsc->allowed_nodes); rsc 673 lib/pacemaker/pcmk_sched_clone.c nodes = g_hash_table_get_values(rsc->allowed_nodes); rsc 675 lib/pacemaker/pcmk_sched_clone.c rsc->children = g_list_sort_with_data(rsc->children, sort_clone_instance, data_set); rsc 676 lib/pacemaker/pcmk_sched_clone.c distribute_children(rsc, rsc->children, nodes, clone_data->clone_max, clone_data->clone_node_max, data_set); rsc 679 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 680 lib/pacemaker/pcmk_sched_clone.c pcmk__set_instance_roles(rsc, data_set); rsc 683 lib/pacemaker/pcmk_sched_clone.c pe__clear_resource_flags(rsc, pe_rsc_provisional|pe_rsc_allocating); rsc 684 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Done allocating %s", rsc->id); rsc 689 lib/pacemaker/pcmk_sched_clone.c clone_update_pseudo_status(pe_resource_t * rsc, gboolean * stopping, gboolean * starting, rsc 694 lib/pacemaker/pcmk_sched_clone.c if (rsc->children) { rsc 696 lib/pacemaker/pcmk_sched_clone.c gIter = rsc->children; rsc 710 lib/pacemaker/pcmk_sched_clone.c if (rsc->running_on) { rsc 714 lib/pacemaker/pcmk_sched_clone.c gIter = rsc->actions; rsc 722 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Skipping optional: %s", action->uuid); rsc 727 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Skipping unrunnable: %s", action->uuid); rsc 731 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Stopping due to: %s", action->uuid); rsc 736 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Skipping pseudo-op: %s run=%d, pseudo=%d", rsc 741 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Starting due to: %s", action->uuid); rsc 742 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "%s run=%d, pseudo=%d", rsc 753 lib/pacemaker/pcmk_sched_clone.c find_rsc_action(pe_resource_t *rsc, const char *task, gboolean active_only, rsc 760 lib/pacemaker/pcmk_sched_clone.c possible = pe__resource_actions(rsc, NULL, task, FALSE); rsc 802 lib/pacemaker/pcmk_sched_clone.c child_ordering_constraints(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 812 lib/pacemaker/pcmk_sched_clone.c get_clone_variant_data(clone_data, rsc); rsc 818 lib/pacemaker/pcmk_sched_clone.c rsc->children = g_list_sort(rsc->children, sort_rsc_id); rsc 820 lib/pacemaker/pcmk_sched_clone.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 844 lib/pacemaker/pcmk_sched_clone.c clone_create_actions(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 848 lib/pacemaker/pcmk_sched_clone.c get_clone_variant_data(clone_data, rsc); rsc 849 lib/pacemaker/pcmk_sched_clone.c clone_create_pseudo_actions(rsc, rsc->children, &clone_data->start_notify, &clone_data->stop_notify,data_set); rsc 850 lib/pacemaker/pcmk_sched_clone.c child_ordering_constraints(rsc, data_set); rsc 851 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 852 lib/pacemaker/pcmk_sched_clone.c create_promotable_actions(rsc, data_set); rsc 858 lib/pacemaker/pcmk_sched_clone.c pe_resource_t * rsc, GListPtr children, notify_data_t **start_notify, notify_data_t **stop_notify, pe_working_set_t * data_set) rsc 871 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Creating actions for %s", rsc->id); rsc 889 lib/pacemaker/pcmk_sched_clone.c start = create_pseudo_resource_op(rsc, RSC_START, !child_starting, TRUE, data_set); rsc 890 lib/pacemaker/pcmk_sched_clone.c started = create_pseudo_resource_op(rsc, RSC_STARTED, !child_starting, FALSE, data_set); rsc 898 lib/pacemaker/pcmk_sched_clone.c *start_notify = create_notification_boundaries(rsc, RSC_START, start, started, data_set); rsc 902 lib/pacemaker/pcmk_sched_clone.c stop = create_pseudo_resource_op(rsc, RSC_STOP, !child_stopping, TRUE, data_set); rsc 903 lib/pacemaker/pcmk_sched_clone.c stopped = create_pseudo_resource_op(rsc, RSC_STOPPED, !child_stopping, TRUE, data_set); rsc 911 lib/pacemaker/pcmk_sched_clone.c *stop_notify = create_notification_boundaries(rsc, RSC_STOP, stop, stopped, data_set); rsc 920 lib/pacemaker/pcmk_sched_clone.c clone_internal_constraints(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 926 lib/pacemaker/pcmk_sched_clone.c get_clone_variant_data(clone_data, rsc); rsc 928 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Internal constraints for %s", rsc->id); rsc 929 lib/pacemaker/pcmk_sched_clone.c new_rsc_order(rsc, RSC_STOPPED, rsc, RSC_START, pe_order_optional, data_set); rsc 930 lib/pacemaker/pcmk_sched_clone.c new_rsc_order(rsc, RSC_START, rsc, RSC_STARTED, pe_order_runnable_left, data_set); rsc 931 lib/pacemaker/pcmk_sched_clone.c new_rsc_order(rsc, RSC_STOP, rsc, RSC_STOPPED, pe_order_runnable_left, data_set); rsc 933 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 934 lib/pacemaker/pcmk_sched_clone.c new_rsc_order(rsc, RSC_DEMOTED, rsc, RSC_STOP, pe_order_optional, data_set); rsc 935 lib/pacemaker/pcmk_sched_clone.c new_rsc_order(rsc, RSC_STARTED, rsc, RSC_PROMOTE, pe_order_runnable_left, data_set); rsc 940 lib/pacemaker/pcmk_sched_clone.c rsc->children = g_list_sort(rsc->children, sort_rsc_id); rsc 942 lib/pacemaker/pcmk_sched_clone.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 947 lib/pacemaker/pcmk_sched_clone.c order_start_start(rsc, child_rsc, pe_order_runnable_left | pe_order_implies_first_printed); rsc 948 lib/pacemaker/pcmk_sched_clone.c new_rsc_order(child_rsc, RSC_START, rsc, RSC_STARTED, pe_order_implies_then_printed, rsc 954 lib/pacemaker/pcmk_sched_clone.c order_stop_stop(rsc, child_rsc, pe_order_implies_first_printed); rsc 955 lib/pacemaker/pcmk_sched_clone.c new_rsc_order(child_rsc, RSC_STOP, rsc, RSC_STOPPED, pe_order_implies_then_printed, rsc 963 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 964 lib/pacemaker/pcmk_sched_clone.c promotable_constraints(rsc, data_set); rsc 969 lib/pacemaker/pcmk_sched_clone.c assign_node(pe_resource_t * rsc, pe_node_t * node, gboolean force) rsc 973 lib/pacemaker/pcmk_sched_clone.c if (rsc->children) { rsc 975 lib/pacemaker/pcmk_sched_clone.c for (GListPtr gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 984 lib/pacemaker/pcmk_sched_clone.c if (rsc->allocated_to != NULL) { rsc 988 lib/pacemaker/pcmk_sched_clone.c native_assign_node(rsc, NULL, node, force); rsc 1023 lib/pacemaker/pcmk_sched_clone.c find_compatible_child(pe_resource_t *local_child, pe_resource_t *rsc, rsc 1034 lib/pacemaker/pcmk_sched_clone.c return find_compatible_child_by_node(local_child, local_node, rsc, filter, current); rsc 1044 lib/pacemaker/pcmk_sched_clone.c pair = find_compatible_child_by_node(local_child, node, rsc, filter, current); rsc 1050 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Can't pair %s with %s", local_child->id, rsc->id); rsc 1171 lib/pacemaker/pcmk_sched_clone.c pe_resource_t *child = (pe_resource_t *) action->rsc->children->data; rsc 1207 lib/pacemaker/pcmk_sched_clone.c "Action summary", action->rsc->id, \ rsc 1226 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(action->rsc, "Checking for %s in %s on %s (%s)", task_s, child->id, rsc 1245 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(action->rsc, "%s is not runnable because no children are", action->uuid); rsc 1258 lib/pacemaker/pcmk_sched_clone.c return summary_action_flags(action, action->rsc->children, node); rsc 1262 lib/pacemaker/pcmk_sched_clone.c clone_rsc_location(pe_resource_t *rsc, pe__location_t *constraint) rsc 1264 lib/pacemaker/pcmk_sched_clone.c GListPtr gIter = rsc->children; rsc 1266 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Processing location constraint %s for %s", constraint->id, rsc->id); rsc 1268 lib/pacemaker/pcmk_sched_clone.c native_rsc_location(rsc, constraint); rsc 1278 lib/pacemaker/pcmk_sched_clone.c clone_expand(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 1283 lib/pacemaker/pcmk_sched_clone.c get_clone_variant_data(clone_data, rsc); rsc 1285 lib/pacemaker/pcmk_sched_clone.c gIter = rsc->actions; rsc 1289 lib/pacemaker/pcmk_sched_clone.c rsc->cmds->action_flags(op, NULL); rsc 1293 lib/pacemaker/pcmk_sched_clone.c collect_notification_data(rsc, TRUE, TRUE, clone_data->start_notify); rsc 1294 lib/pacemaker/pcmk_sched_clone.c pcmk__create_notification_keys(rsc, clone_data->start_notify, data_set); rsc 1295 lib/pacemaker/pcmk_sched_clone.c create_notifications(rsc, clone_data->start_notify, data_set); rsc 1299 lib/pacemaker/pcmk_sched_clone.c collect_notification_data(rsc, TRUE, TRUE, clone_data->stop_notify); rsc 1300 lib/pacemaker/pcmk_sched_clone.c pcmk__create_notification_keys(rsc, clone_data->stop_notify, data_set); rsc 1301 lib/pacemaker/pcmk_sched_clone.c create_notifications(rsc, clone_data->stop_notify, data_set); rsc 1305 lib/pacemaker/pcmk_sched_clone.c collect_notification_data(rsc, TRUE, TRUE, clone_data->promote_notify); rsc 1306 lib/pacemaker/pcmk_sched_clone.c pcmk__create_notification_keys(rsc, clone_data->promote_notify, data_set); rsc 1307 lib/pacemaker/pcmk_sched_clone.c create_notifications(rsc, clone_data->promote_notify, data_set); rsc 1311 lib/pacemaker/pcmk_sched_clone.c collect_notification_data(rsc, TRUE, TRUE, clone_data->demote_notify); rsc 1312 lib/pacemaker/pcmk_sched_clone.c pcmk__create_notification_keys(rsc, clone_data->demote_notify, data_set); rsc 1313 lib/pacemaker/pcmk_sched_clone.c create_notifications(rsc, clone_data->demote_notify, data_set); rsc 1318 lib/pacemaker/pcmk_sched_clone.c gIter = rsc->children; rsc 1325 lib/pacemaker/pcmk_sched_clone.c native_expand(rsc, data_set); rsc 1340 lib/pacemaker/pcmk_sched_clone.c rsc_known_on(const pe_resource_t *rsc, const pe_node_t *node) rsc 1342 lib/pacemaker/pcmk_sched_clone.c if (rsc->children) { rsc 1343 lib/pacemaker/pcmk_sched_clone.c for (GList *child_iter = rsc->children; child_iter != NULL; rsc 1353 lib/pacemaker/pcmk_sched_clone.c } else if (rsc->known_on) { rsc 1357 lib/pacemaker/pcmk_sched_clone.c g_hash_table_iter_init(&iter, rsc->known_on); rsc 1383 lib/pacemaker/pcmk_sched_clone.c probe_unique_clone(pe_resource_t *rsc, pe_node_t *node, pe_action_t *complete, rsc 1388 lib/pacemaker/pcmk_sched_clone.c for (GList *child_iter = rsc->children; child_iter != NULL; rsc 1401 lib/pacemaker/pcmk_sched_clone.c probe_anonymous_clone(pe_resource_t *rsc, pe_node_t *node, rsc 1406 lib/pacemaker/pcmk_sched_clone.c pe_resource_t *child = find_instance_on(rsc, node); rsc 1410 lib/pacemaker/pcmk_sched_clone.c for (GList *child_iter = rsc->children; child_iter && !child; rsc 1427 lib/pacemaker/pcmk_sched_clone.c child = rsc->children->data; rsc 1434 lib/pacemaker/pcmk_sched_clone.c clone_create_probe(pe_resource_t * rsc, pe_node_t * node, pe_action_t * complete, rsc 1439 lib/pacemaker/pcmk_sched_clone.c CRM_ASSERT(rsc); rsc 1441 lib/pacemaker/pcmk_sched_clone.c rsc->children = g_list_sort(rsc->children, sort_rsc_id); rsc 1442 lib/pacemaker/pcmk_sched_clone.c if (rsc->children == NULL) { rsc 1443 lib/pacemaker/pcmk_sched_clone.c pe_warn("Clone %s has no children", rsc->id); rsc 1447 lib/pacemaker/pcmk_sched_clone.c if (rsc->exclusive_discover) { rsc 1448 lib/pacemaker/pcmk_sched_clone.c pe_node_t *allowed = g_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 1457 lib/pacemaker/pcmk_sched_clone.c g_hash_table_remove(rsc->allowed_nodes, node->details->id); rsc 1464 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 1465 lib/pacemaker/pcmk_sched_clone.c any_created = probe_unique_clone(rsc, node, complete, force, data_set); rsc 1467 lib/pacemaker/pcmk_sched_clone.c any_created = probe_anonymous_clone(rsc, node, complete, force, rsc 1474 lib/pacemaker/pcmk_sched_clone.c clone_append_meta(pe_resource_t * rsc, xmlNode * xml) rsc 1479 lib/pacemaker/pcmk_sched_clone.c get_clone_variant_data(clone_data, rsc); rsc 1482 lib/pacemaker/pcmk_sched_clone.c crm_xml_add(xml, name, pe__rsc_bool_str(rsc, pe_rsc_unique)); rsc 1486 lib/pacemaker/pcmk_sched_clone.c crm_xml_add(xml, name, pe__rsc_bool_str(rsc, pe_rsc_notify)); rsc 1497 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 45 lib/pacemaker/pcmk_sched_constraints.c static pe__location_t *generate_location_rule(pe_resource_t *rsc, rsc 244 lib/pacemaker/pcmk_sched_constraints.c pe_resource_t ** rsc, pe_tag_t ** tag) rsc 248 lib/pacemaker/pcmk_sched_constraints.c if (rsc) { rsc 249 lib/pacemaker/pcmk_sched_constraints.c *rsc = NULL; rsc 250 lib/pacemaker/pcmk_sched_constraints.c *rsc = pe_find_constraint_resource(data_set->resources, id); rsc 251 lib/pacemaker/pcmk_sched_constraints.c if (*rsc) { rsc 544 lib/pacemaker/pcmk_sched_constraints.c pe_resource_t *rsc = NULL; rsc 552 lib/pacemaker/pcmk_sched_constraints.c if (valid_resource_or_tag(data_set, id, &rsc, &tag) == FALSE) { rsc 559 lib/pacemaker/pcmk_sched_constraints.c } else if (rsc) { rsc 645 lib/pacemaker/pcmk_sched_constraints.c pe_resource_t *rsc = NULL; rsc 664 lib/pacemaker/pcmk_sched_constraints.c if (valid_resource_or_tag(data_set, id, &rsc, &tag) == FALSE) { rsc 689 lib/pacemaker/pcmk_sched_constraints.c } else if (rsc && convert_rsc) { rsc 1041 lib/pacemaker/pcmk_sched_constraints.c get_node_score(const char *rule, const char *score, gboolean raw, pe_node_t * node, pe_resource_t *rsc) rsc 1052 lib/pacemaker/pcmk_sched_constraints.c const char *attr_score = pe_node_attribute_calculated(node, score, rsc); rsc 1069 lib/pacemaker/pcmk_sched_constraints.c generate_location_rule(pe_resource_t *rsc, xmlNode *rule_xml, rsc 1111 lib/pacemaker/pcmk_sched_constraints.c location_rule = rsc2node_new(rule_id, rsc, 0, discovery, NULL, data_set); rsc 1145 lib/pacemaker/pcmk_sched_constraints.c node->weight = get_node_score(rule_id, score, raw_score, node, rsc); rsc 1159 lib/pacemaker/pcmk_sched_constraints.c score_f = get_node_score(rule_id, score, raw_score, node, rsc); rsc 1586 lib/pacemaker/pcmk_sched_constraints.c lh_rsc = lh_action->rsc; rsc 1589 lib/pacemaker/pcmk_sched_constraints.c rh_rsc = rh_action->rsc; rsc 1626 lib/pacemaker/pcmk_sched_constraints.c order->lh_rsc = lh_action->rsc; rsc 1630 lib/pacemaker/pcmk_sched_constraints.c order->rh_rsc = rh_action->rsc; rsc 1678 lib/pacemaker/pcmk_sched_constraints.c unpack_order_set(xmlNode * set, enum pe_order_kind parent_kind, pe_resource_t ** rsc, rsc 1738 lib/pacemaker/pcmk_sched_constraints.c *rsc = resource; rsc 1752 lib/pacemaker/pcmk_sched_constraints.c *rsc = NULL; rsc 2160 lib/pacemaker/pcmk_sched_constraints.c pe_resource_t *rsc = NULL; rsc 2207 lib/pacemaker/pcmk_sched_constraints.c if (unpack_order_set(set, kind, &rsc, &set_begin, &set_end, rsc 30 lib/pacemaker/pcmk_sched_graph.c if (action->rsc) { rsc 31 lib/pacemaker/pcmk_sched_graph.c flags = action->rsc->cmds->action_flags(action, NULL); rsc 33 lib/pacemaker/pcmk_sched_graph.c if (pe_rsc_is_clone(action->rsc) && node) { rsc 36 lib/pacemaker/pcmk_sched_graph.c enum pe_action_flags clone_flags = action->rsc->cmds->action_flags(action, node); rsc 51 lib/pacemaker/pcmk_sched_graph.c pe__set_raw_action_flags(clone_flags, action->rsc->id, rsc 61 lib/pacemaker/pcmk_sched_graph.c convert_non_atomic_uuid(char *old_uuid, pe_resource_t * rsc, gboolean allow_notify, rsc 70 lib/pacemaker/pcmk_sched_graph.c CRM_ASSERT(rsc); rsc 71 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(rsc, "Processing %s", old_uuid); rsc 78 lib/pacemaker/pcmk_sched_graph.c } else if (rsc->variant < pe_group) { rsc 114 lib/pacemaker/pcmk_sched_graph.c if (pcmk_is_set(rsc->flags, pe_rsc_notify) && allow_notify) { rsc 120 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(rsc, "Converted %s -> %s", old_uuid, uuid); rsc 142 lib/pacemaker/pcmk_sched_graph.c pe_resource_t *rsc = action->rsc; rsc 144 lib/pacemaker/pcmk_sched_graph.c if (rsc == NULL) { rsc 148 lib/pacemaker/pcmk_sched_graph.c if ((rsc->parent == NULL) rsc 149 lib/pacemaker/pcmk_sched_graph.c || (pe_rsc_is_clone(rsc) && (rsc->parent->variant == pe_container))) { rsc 153 lib/pacemaker/pcmk_sched_graph.c notify = pcmk_is_set(rsc->flags, pe_rsc_notify); rsc 156 lib/pacemaker/pcmk_sched_graph.c if (rsc->variant >= pe_group) { rsc 160 lib/pacemaker/pcmk_sched_graph.c uuid = convert_non_atomic_uuid(action->uuid, rsc, notify, FALSE); rsc 162 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(rsc, "Converting %s to %s %d", action->uuid, uuid, rsc 163 lib/pacemaker/pcmk_sched_graph.c pcmk_is_set(rsc->flags, pe_rsc_notify)); rsc 164 lib/pacemaker/pcmk_sched_graph.c result = find_first_action(rsc->actions, uuid, NULL, NULL); rsc 166 lib/pacemaker/pcmk_sched_graph.c crm_err("Couldn't expand %s to %s in %s", action->uuid, uuid, rsc->id); rsc 209 lib/pacemaker/pcmk_sched_graph.c if (then->rsc) { rsc 210 lib/pacemaker/pcmk_sched_graph.c changed |= then->rsc->cmds->update_actions(first, then, node, rsc 220 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "implies right: %s then %s: changed", first->uuid, then->uuid); rsc 222 lib/pacemaker/pcmk_sched_graph.c crm_trace("implies right: %s then %s %p", first->uuid, then->uuid, then->rsc); rsc 226 lib/pacemaker/pcmk_sched_graph.c if ((type & pe_order_restart) && then->rsc) { rsc 230 lib/pacemaker/pcmk_sched_graph.c changed |= then->rsc->cmds->update_actions(first, then, node, rsc 234 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "restart: %s then %s: changed", first->uuid, then->uuid); rsc 242 lib/pacemaker/pcmk_sched_graph.c if (first->rsc) { rsc 243 lib/pacemaker/pcmk_sched_graph.c changed |= first->rsc->cmds->update_actions(first, then, node, rsc 248 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(first->rsc, "first unrunnable: %s (%d) then %s (%d)", rsc 257 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "implies left: %s then %s: changed", first->uuid, then->uuid); rsc 267 lib/pacemaker/pcmk_sched_graph.c if (then->rsc) { rsc 268 lib/pacemaker/pcmk_sched_graph.c changed |= then->rsc->cmds->update_actions(first, then, node, rsc 274 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, rsc 285 lib/pacemaker/pcmk_sched_graph.c if (then->rsc) { rsc 286 lib/pacemaker/pcmk_sched_graph.c changed |= then->rsc->cmds->update_actions(first, then, node, rsc 304 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "runnable_one_or_more: %s then %s: changed", first->uuid, rsc 311 lib/pacemaker/pcmk_sched_graph.c if (then->rsc && pcmk_is_set(type, pe_order_probe)) { rsc 315 lib/pacemaker/pcmk_sched_graph.c && (first->rsc->running_on != NULL)) { rsc 317 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "Ignoring %s then %s - %s is about to be stopped", rsc 318 lib/pacemaker/pcmk_sched_graph.c first->uuid, then->uuid, first->rsc->id); rsc 323 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "Enforcing %s then %s", first->uuid, then->uuid); rsc 324 lib/pacemaker/pcmk_sched_graph.c changed |= then->rsc->cmds->update_actions(first, then, node, rsc 330 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "runnable: %s then %s: changed", first->uuid, then->uuid); rsc 338 lib/pacemaker/pcmk_sched_graph.c if (then->rsc) { rsc 339 lib/pacemaker/pcmk_sched_graph.c changed |= then->rsc->cmds->update_actions(first, then, node, rsc 344 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "then unrunnable: %s then %s", first->uuid, then->uuid); rsc 350 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "runnable: %s then %s: changed", first->uuid, then->uuid); rsc 358 lib/pacemaker/pcmk_sched_graph.c if (then->rsc) { rsc 359 lib/pacemaker/pcmk_sched_graph.c changed |= then->rsc->cmds->update_actions(first, then, node, rsc 364 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "optional: %s then %s: changed", first->uuid, then->uuid); rsc 372 lib/pacemaker/pcmk_sched_graph.c if (then->rsc) { rsc 373 lib/pacemaker/pcmk_sched_graph.c changed |= then->rsc->cmds->update_actions(first, then, node, rsc 378 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "optional: %s then %s: changed", first->uuid, then->uuid); rsc 386 lib/pacemaker/pcmk_sched_graph.c if (then->rsc) { rsc 387 lib/pacemaker/pcmk_sched_graph.c changed |= then->rsc->cmds->update_actions(first, then, node, rsc 391 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "optional: %s then %s: changed", first->uuid, then->uuid); rsc 399 lib/pacemaker/pcmk_sched_graph.c if (then->rsc) { rsc 400 lib/pacemaker/pcmk_sched_graph.c changed |= then->rsc->cmds->update_actions(first, then, node, rsc 406 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "asymmetrical: %s then %s: changed", first->uuid, then->uuid); rsc 431 lib/pacemaker/pcmk_sched_graph.c && first->rsc rsc 433 lib/pacemaker/pcmk_sched_graph.c && !pcmk_is_set(first->rsc->flags, pe_rsc_managed) rsc 434 lib/pacemaker/pcmk_sched_graph.c && pcmk_is_set(first->rsc->flags, pe_rsc_block) rsc 442 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(then->rsc, "unmanaged left: %s then %s: changed", first->uuid, then->uuid); rsc 456 lib/pacemaker/pcmk_sched_graph.c mark_start_blocked(pe_resource_t *rsc, pe_resource_t *reason, rsc 459 lib/pacemaker/pcmk_sched_graph.c GListPtr gIter = rsc->actions; rsc 482 lib/pacemaker/pcmk_sched_graph.c pe_resource_t *rsc = NULL; rsc 487 lib/pacemaker/pcmk_sched_graph.c rsc = uber_parent(action->rsc); rsc 488 lib/pacemaker/pcmk_sched_graph.c if (rsc->parent) { rsc 494 lib/pacemaker/pcmk_sched_graph.c rsc = rsc->parent; rsc 498 lib/pacemaker/pcmk_sched_graph.c if (rsc == NULL || rsc->rsc_cons_lhs == NULL) { rsc 504 lib/pacemaker/pcmk_sched_graph.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 512 lib/pacemaker/pcmk_sched_graph.c for (gIter = rsc->rsc_cons_lhs; gIter != NULL; gIter = gIter->next) { rsc 515 lib/pacemaker/pcmk_sched_graph.c mark_start_blocked(colocate_with->rsc_lh, action->rsc, data_set); rsc 567 lib/pacemaker/pcmk_sched_graph.c if (first->rsc && first->rsc->variant == pe_group && pcmk__str_eq(first->task, RSC_START, pcmk__str_casei)) { rsc 568 lib/pacemaker/pcmk_sched_graph.c first_node = first->rsc->fns->location(first->rsc, NULL, FALSE); rsc 574 lib/pacemaker/pcmk_sched_graph.c if (then->rsc && then->rsc->variant == pe_group && pcmk__str_eq(then->task, RSC_START, pcmk__str_casei)) { rsc 575 lib/pacemaker/pcmk_sched_graph.c then_node = then->rsc->fns->location(then->rsc, NULL, FALSE); rsc 594 lib/pacemaker/pcmk_sched_graph.c if (first->rsc && pcmk_is_set(other->type, pe_order_then_cancels_first) rsc 602 lib/pacemaker/pcmk_sched_graph.c pe__clear_resource_flags(first->rsc, pe_rsc_reload); rsc 606 lib/pacemaker/pcmk_sched_graph.c if (first->rsc && then->rsc && (first->rsc != then->rsc) rsc 607 lib/pacemaker/pcmk_sched_graph.c && (is_parent(then->rsc, first->rsc) == FALSE)) { rsc 727 lib/pacemaker/pcmk_sched_graph.c if (action->rsc == NULL || action->node == NULL) { rsc 731 lib/pacemaker/pcmk_sched_graph.c } else if (pcmk_is_set(action->rsc->flags, pe_rsc_maintenance)) { rsc 732 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(action->rsc, "Skipping %s: maintenance mode", action->uuid); rsc 735 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(action->rsc, "Skipping %s: node %s is in maintenance mode", rsc 740 lib/pacemaker/pcmk_sched_graph.c } else if (!pcmk_any_flags_set(action->rsc->flags, rsc 745 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(action->rsc, "Skipping %s: unmanaged", action->uuid); rsc 749 lib/pacemaker/pcmk_sched_graph.c pe_rsc_trace(action->rsc, "Ordering %s before shutdown on %s", action->uuid, rsc 752 lib/pacemaker/pcmk_sched_graph.c custom_action_order(action->rsc, NULL, action, rsc 974 lib/pacemaker/pcmk_sched_graph.c } else if (action->rsc && action->rsc->is_remote_node rsc 986 lib/pacemaker/pcmk_sched_graph.c if (input->rsc && pcmk__str_eq(action->rsc->id, input->rsc->id, pcmk__str_casei) rsc 994 lib/pacemaker/pcmk_sched_graph.c add_node_to_xml_by_id(action->rsc->id, downed); rsc 1003 lib/pacemaker/pcmk_sched_graph.c if ((action->rsc->lock_node == NULL) || (action->node == NULL) rsc 1004 lib/pacemaker/pcmk_sched_graph.c || (action->node->details != action->rsc->lock_node->details)) { rsc 1075 lib/pacemaker/pcmk_sched_graph.c if (action->rsc != NULL && action->rsc->clone_name != NULL) { rsc 1092 lib/pacemaker/pcmk_sched_graph.c clone_key = pcmk__notify_key(action->rsc->clone_name, rsc 1096 lib/pacemaker/pcmk_sched_graph.c clone_key = pcmk__op_key(action->rsc->clone_name, rsc 1099 lib/pacemaker/pcmk_sched_graph.c clone_key = pcmk__op_key(action->rsc->clone_name, rsc 1130 lib/pacemaker/pcmk_sched_graph.c if (action->rsc && !pcmk_is_set(action->flags, pe_action_pseudo)) { rsc 1144 lib/pacemaker/pcmk_sched_graph.c (long long) action->rsc->lock_time); rsc 1150 lib/pacemaker/pcmk_sched_graph.c crm_element_name(action->rsc->xml)); rsc 1151 lib/pacemaker/pcmk_sched_graph.c if (pcmk_is_set(action->rsc->flags, pe_rsc_orphan) rsc 1152 lib/pacemaker/pcmk_sched_graph.c && action->rsc->clone_name) { rsc 1164 lib/pacemaker/pcmk_sched_graph.c crm_debug("Using orphan clone name %s instead of %s", action->rsc->id, rsc 1165 lib/pacemaker/pcmk_sched_graph.c action->rsc->clone_name); rsc 1166 lib/pacemaker/pcmk_sched_graph.c crm_xml_add(rsc_xml, XML_ATTR_ID, action->rsc->clone_name); rsc 1167 lib/pacemaker/pcmk_sched_graph.c crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->id); rsc 1169 lib/pacemaker/pcmk_sched_graph.c } else if (!pcmk_is_set(action->rsc->flags, pe_rsc_unique)) { rsc 1170 lib/pacemaker/pcmk_sched_graph.c const char *xml_id = ID(action->rsc->xml); rsc 1172 lib/pacemaker/pcmk_sched_graph.c crm_debug("Using anonymous clone name %s for %s (aka. %s)", xml_id, action->rsc->id, rsc 1173 lib/pacemaker/pcmk_sched_graph.c action->rsc->clone_name); rsc 1189 lib/pacemaker/pcmk_sched_graph.c if (action->rsc->clone_name && !pcmk__str_eq(xml_id, action->rsc->clone_name, pcmk__str_casei)) { rsc 1190 lib/pacemaker/pcmk_sched_graph.c crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->clone_name); rsc 1192 lib/pacemaker/pcmk_sched_graph.c crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->id); rsc 1196 lib/pacemaker/pcmk_sched_graph.c CRM_ASSERT(action->rsc->clone_name == NULL); rsc 1197 lib/pacemaker/pcmk_sched_graph.c crm_xml_add(rsc_xml, XML_ATTR_ID, action->rsc->id); rsc 1202 lib/pacemaker/pcmk_sched_graph.c g_hash_table_lookup(action->rsc->meta, attr_list[lpc])); rsc 1211 lib/pacemaker/pcmk_sched_graph.c if (action->rsc != NULL && action->node) { rsc 1214 lib/pacemaker/pcmk_sched_graph.c get_rsc_attributes(p, action->rsc, action->node, data_set); rsc 1222 lib/pacemaker/pcmk_sched_graph.c pe_get_versioned_attributes(versioned_parameters, action->rsc, rsc 1231 lib/pacemaker/pcmk_sched_graph.c } else if(action->rsc && action->rsc->variant <= pe_native) { rsc 1232 lib/pacemaker/pcmk_sched_graph.c g_hash_table_foreach(action->rsc->parameters, hash2smartfield, args_xml); rsc 1235 lib/pacemaker/pcmk_sched_graph.c if (xml_has_children(action->rsc->versioned_parameters)) { rsc 1236 lib/pacemaker/pcmk_sched_graph.c add_node_copy(action_xml, action->rsc->versioned_parameters); rsc 1254 lib/pacemaker/pcmk_sched_graph.c if (action->rsc != NULL) { rsc 1255 lib/pacemaker/pcmk_sched_graph.c const char *value = g_hash_table_lookup(action->rsc->meta, "external-ip"); rsc 1256 lib/pacemaker/pcmk_sched_graph.c pe_resource_t *parent = action->rsc; rsc 1298 lib/pacemaker/pcmk_sched_graph.c (gpointer)g_hash_table_lookup(action->rsc->meta, XML_RSC_ATTR_TARGET), (gpointer)args_xml); rsc 1389 lib/pacemaker/pcmk_sched_graph.c } else if (action->rsc && !pcmk_is_set(action->rsc->flags, pe_rsc_managed) rsc 1398 lib/pacemaker/pcmk_sched_graph.c action->uuid, action->id, action->rsc->id); rsc 1558 lib/pacemaker/pcmk_sched_graph.c if (action->rsc && pcmk__str_eq(action->task, RSC_MIGRATE, pcmk__str_casei)) { rsc 1559 lib/pacemaker/pcmk_sched_graph.c pe_node_t *allocated = action->rsc->allocated_to; rsc 1617 lib/pacemaker/pcmk_sched_graph.c } else if (input->action->rsc rsc 1618 lib/pacemaker/pcmk_sched_graph.c && input->action->rsc != action->rsc rsc 1619 lib/pacemaker/pcmk_sched_graph.c && pcmk_is_set(input->action->rsc->flags, pe_rsc_failed) rsc 1620 lib/pacemaker/pcmk_sched_graph.c && !pcmk_is_set(input->action->rsc->flags, pe_rsc_managed) rsc 1622 lib/pacemaker/pcmk_sched_graph.c && action->rsc && pe_rsc_is_clone(action->rsc)) { rsc 1725 lib/pacemaker/pcmk_sched_graph.c && action->rsc && action->rsc->fillers rsc 1726 lib/pacemaker/pcmk_sched_graph.c && input->action->rsc && input->action->node rsc 1728 lib/pacemaker/pcmk_sched_graph.c && (input->action->node->details->remote_rsc->container == action->rsc)) { rsc 1730 lib/pacemaker/pcmk_sched_graph.c input->action->rsc->id, action->rsc->id); rsc 1741 lib/pacemaker/pcmk_sched_graph.c if ((input->type == pe_order_load) && action->rsc rsc 1835 lib/pacemaker/pcmk_sched_graph.c if (action->rsc != NULL) { rsc 1836 lib/pacemaker/pcmk_sched_graph.c synapse_priority = action->rsc->priority; rsc 20 lib/pacemaker/pcmk_sched_group.c pcmk__group_allocate(pe_resource_t *rsc, pe_node_t *prefer, rsc 28 lib/pacemaker/pcmk_sched_group.c get_group_variant_data(group_data, rsc); rsc 30 lib/pacemaker/pcmk_sched_group.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 31 lib/pacemaker/pcmk_sched_group.c return rsc->allocated_to; rsc 33 lib/pacemaker/pcmk_sched_group.c if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 34 lib/pacemaker/pcmk_sched_group.c pe_rsc_debug(rsc, "Dependency loop detected involving %s", rsc->id); rsc 40 lib/pacemaker/pcmk_sched_group.c pe__clear_resource_flags(rsc, pe_rsc_provisional); rsc 44 lib/pacemaker/pcmk_sched_group.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 45 lib/pacemaker/pcmk_sched_group.c rsc->role = group_data->first_child->role; rsc 48 lib/pacemaker/pcmk_sched_group.c g_list_concat(group_data->first_child->rsc_cons, rsc->rsc_cons); rsc 49 lib/pacemaker/pcmk_sched_group.c rsc->rsc_cons = NULL; rsc 52 lib/pacemaker/pcmk_sched_group.c g_list_concat(group_data->last_child->rsc_cons_lhs, rsc->rsc_cons_lhs); rsc 53 lib/pacemaker/pcmk_sched_group.c rsc->rsc_cons_lhs = NULL; rsc 55 lib/pacemaker/pcmk_sched_group.c pe__show_node_weights(!show_scores, rsc, __func__, rsc->allowed_nodes); rsc 57 lib/pacemaker/pcmk_sched_group.c gIter = rsc->children; rsc 61 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(rsc, "Allocating group %s member %s", rsc 62 lib/pacemaker/pcmk_sched_group.c rsc->id, child_rsc->id); rsc 69 lib/pacemaker/pcmk_sched_group.c rsc->next_role = group_data->first_child->next_role; rsc 70 lib/pacemaker/pcmk_sched_group.c pe__clear_resource_flags(rsc, pe_rsc_allocating|pe_rsc_provisional); rsc 81 lib/pacemaker/pcmk_sched_group.c group_create_actions(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 85 lib/pacemaker/pcmk_sched_group.c GListPtr gIter = rsc->children; rsc 87 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(rsc, "Creating actions for %s", rsc->id); rsc 93 lib/pacemaker/pcmk_sched_group.c group_update_pseudo_status(rsc, child_rsc); rsc 96 lib/pacemaker/pcmk_sched_group.c op = start_action(rsc, NULL, TRUE /* !group_data->child_starting */ ); rsc 99 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, started_key(rsc), rsc 103 lib/pacemaker/pcmk_sched_group.c op = stop_action(rsc, NULL, TRUE /* !group_data->child_stopping */ ); rsc 106 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, stopped_key(rsc), rsc 110 lib/pacemaker/pcmk_sched_group.c value = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_PROMOTABLE); rsc 112 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, demote_key(rsc), RSC_DEMOTE, NULL, TRUE, TRUE, data_set); rsc 115 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, demoted_key(rsc), RSC_DEMOTED, NULL, TRUE, TRUE, data_set); rsc 118 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, promote_key(rsc), RSC_PROMOTE, NULL, TRUE, TRUE, data_set); rsc 121 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, promoted_key(rsc), RSC_PROMOTED, NULL, TRUE, TRUE, data_set); rsc 153 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(action->rsc, "Based on %s the group is stopping", action->uuid); rsc 158 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(action->rsc, "Based on %s the group is starting", action->uuid); rsc 164 lib/pacemaker/pcmk_sched_group.c group_internal_constraints(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 166 lib/pacemaker/pcmk_sched_group.c GListPtr gIter = rsc->children; rsc 169 lib/pacemaker/pcmk_sched_group.c pe_resource_t *top = uber_parent(rsc); rsc 172 lib/pacemaker/pcmk_sched_group.c get_group_variant_data(group_data, rsc); rsc 174 lib/pacemaker/pcmk_sched_group.c new_rsc_order(rsc, RSC_STOPPED, rsc, RSC_START, pe_order_optional, data_set); rsc 175 lib/pacemaker/pcmk_sched_group.c new_rsc_order(rsc, RSC_START, rsc, RSC_STARTED, pe_order_runnable_left, data_set); rsc 176 lib/pacemaker/pcmk_sched_group.c new_rsc_order(rsc, RSC_STOP, rsc, RSC_STOPPED, pe_order_runnable_left, data_set); rsc 200 lib/pacemaker/pcmk_sched_group.c new_rsc_order(rsc, RSC_DEMOTE, child_rsc, RSC_DEMOTE, rsc 203 lib/pacemaker/pcmk_sched_group.c new_rsc_order(child_rsc, RSC_DEMOTE, rsc, RSC_DEMOTED, stopped, data_set); rsc 205 lib/pacemaker/pcmk_sched_group.c new_rsc_order(child_rsc, RSC_PROMOTE, rsc, RSC_PROMOTED, started, data_set); rsc 207 lib/pacemaker/pcmk_sched_group.c new_rsc_order(rsc, RSC_PROMOTE, child_rsc, RSC_PROMOTE, rsc 212 lib/pacemaker/pcmk_sched_group.c order_start_start(rsc, child_rsc, pe_order_implies_first_printed); rsc 213 lib/pacemaker/pcmk_sched_group.c order_stop_stop(rsc, child_rsc, stop | pe_order_implies_first_printed); rsc 215 lib/pacemaker/pcmk_sched_group.c new_rsc_order(child_rsc, RSC_STOP, rsc, RSC_STOPPED, stopped, data_set); rsc 217 lib/pacemaker/pcmk_sched_group.c new_rsc_order(child_rsc, RSC_START, rsc, RSC_STARTED, started, data_set); rsc 220 lib/pacemaker/pcmk_sched_group.c order_start_start(rsc, child_rsc, start | pe_order_implies_first_printed); rsc 222 lib/pacemaker/pcmk_sched_group.c new_rsc_order(rsc, RSC_PROMOTE, child_rsc, RSC_PROMOTE, rsc 247 lib/pacemaker/pcmk_sched_group.c order_start_start(rsc, child_rsc, flags); rsc 249 lib/pacemaker/pcmk_sched_group.c new_rsc_order(rsc, RSC_PROMOTE, child_rsc, RSC_PROMOTE, flags, data_set); rsc 273 lib/pacemaker/pcmk_sched_group.c order_stop_stop(rsc, last_rsc, stop_stop_flags); rsc 274 lib/pacemaker/pcmk_sched_group.c new_rsc_order(last_rsc, RSC_STOP, rsc, RSC_STOPPED, stop_stopped_flags, data_set); rsc 277 lib/pacemaker/pcmk_sched_group.c new_rsc_order(rsc, RSC_DEMOTE, last_rsc, RSC_DEMOTE, stop_stop_flags, data_set); rsc 278 lib/pacemaker/pcmk_sched_group.c new_rsc_order(last_rsc, RSC_DEMOTE, rsc, RSC_DEMOTED, stop_stopped_flags, data_set); rsc 386 lib/pacemaker/pcmk_sched_group.c for (gIter = action->rsc->children; gIter != NULL; gIter = gIter->next) { rsc 397 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(action->rsc, "%s is mandatory because of %s", action->uuid, rsc 407 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(action->rsc, "%s is not runnable because of %s", action->uuid, rsc 415 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(action->rsc, "%s is not runnable because of %s (not found in %s)", rsc 430 lib/pacemaker/pcmk_sched_group.c GListPtr gIter = then->rsc->children; rsc 433 lib/pacemaker/pcmk_sched_group.c CRM_ASSERT(then->rsc != NULL); rsc 452 lib/pacemaker/pcmk_sched_group.c group_rsc_location(pe_resource_t *rsc, pe__location_t *constraint) rsc 454 lib/pacemaker/pcmk_sched_group.c GListPtr gIter = rsc->children; rsc 460 lib/pacemaker/pcmk_sched_group.c get_group_variant_data(group_data, rsc); rsc 462 lib/pacemaker/pcmk_sched_group.c pe_rsc_debug(rsc, "Processing rsc_location %s for %s", constraint->id, rsc->id); rsc 464 lib/pacemaker/pcmk_sched_group.c native_rsc_location(rsc, constraint); rsc 481 lib/pacemaker/pcmk_sched_group.c group_expand(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 483 lib/pacemaker/pcmk_sched_group.c CRM_CHECK(rsc != NULL, return); rsc 485 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(rsc, "Processing actions from %s", rsc->id); rsc 486 lib/pacemaker/pcmk_sched_group.c native_expand(rsc, data_set); rsc 488 lib/pacemaker/pcmk_sched_group.c for (GListPtr gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 496 lib/pacemaker/pcmk_sched_group.c pcmk__group_merge_weights(pe_resource_t *rsc, const char *rhs, rsc 500 lib/pacemaker/pcmk_sched_group.c GListPtr gIter = rsc->rsc_cons_lhs; rsc 503 lib/pacemaker/pcmk_sched_group.c get_group_variant_data(group_data, rsc); rsc 505 lib/pacemaker/pcmk_sched_group.c if (pcmk_is_set(rsc->flags, pe_rsc_merging)) { rsc 506 lib/pacemaker/pcmk_sched_group.c pe_rsc_info(rsc, "Breaking dependency loop with %s at %s", rsc->id, rhs); rsc 510 lib/pacemaker/pcmk_sched_group.c pe__set_resource_flags(rsc, pe_rsc_merging); rsc 522 lib/pacemaker/pcmk_sched_group.c nodes = pcmk__native_merge_weights(constraint->rsc_lh, rsc->id, nodes, rsc 528 lib/pacemaker/pcmk_sched_group.c pe__clear_resource_flags(rsc, pe_rsc_merging); rsc 533 lib/pacemaker/pcmk_sched_group.c group_append_meta(pe_resource_t * rsc, xmlNode * xml) rsc 57 lib/pacemaker/pcmk_sched_messages.c pe_resource_t *rsc = (pe_resource_t *) item->data; rsc 60 lib/pacemaker/pcmk_sched_messages.c if (!pcmk_is_set(rsc->flags, pe_rsc_orphan) rsc 61 lib/pacemaker/pcmk_sched_messages.c || (rsc->role != RSC_ROLE_STOPPED)) { rsc 62 lib/pacemaker/pcmk_sched_messages.c out->message(out, crm_map_element_name(rsc->xml), 0, rsc, all, all); rsc 26 lib/pacemaker/pcmk_sched_native.c static void Recurring(pe_resource_t *rsc, pe_action_t *start, pe_node_t *node, rsc 28 lib/pacemaker/pcmk_sched_native.c static void RecurringOp(pe_resource_t *rsc, pe_action_t *start, pe_node_t *node, rsc 30 lib/pacemaker/pcmk_sched_native.c static void Recurring_Stopped(pe_resource_t *rsc, pe_action_t *start, pe_node_t *node, rsc 32 lib/pacemaker/pcmk_sched_native.c static void RecurringOp_Stopped(pe_resource_t *rsc, pe_action_t *start, pe_node_t *node, rsc 35 lib/pacemaker/pcmk_sched_native.c void ReloadRsc(pe_resource_t * rsc, pe_node_t *node, pe_working_set_t * data_set); rsc 36 lib/pacemaker/pcmk_sched_native.c gboolean DeleteRsc(pe_resource_t * rsc, pe_node_t * node, gboolean optional, pe_working_set_t * data_set); rsc 37 lib/pacemaker/pcmk_sched_native.c gboolean StopRsc(pe_resource_t * rsc, pe_node_t * next, gboolean optional, pe_working_set_t * data_set); rsc 38 lib/pacemaker/pcmk_sched_native.c gboolean StartRsc(pe_resource_t * rsc, pe_node_t * next, gboolean optional, pe_working_set_t * data_set); rsc 39 lib/pacemaker/pcmk_sched_native.c gboolean DemoteRsc(pe_resource_t * rsc, pe_node_t * next, gboolean optional, pe_working_set_t * data_set); rsc 40 lib/pacemaker/pcmk_sched_native.c gboolean PromoteRsc(pe_resource_t * rsc, pe_node_t * next, gboolean optional, rsc 42 lib/pacemaker/pcmk_sched_native.c gboolean RoleError(pe_resource_t * rsc, pe_node_t * next, gboolean optional, pe_working_set_t * data_set); rsc 43 lib/pacemaker/pcmk_sched_native.c gboolean NullOp(pe_resource_t * rsc, pe_node_t * next, gboolean optional, pe_working_set_t * data_set); rsc 61 lib/pacemaker/pcmk_sched_native.c typedef gboolean (*rsc_transition_fn)(pe_resource_t *rsc, pe_node_t *next, rsc 83 lib/pacemaker/pcmk_sched_native.c native_choose_node(pe_resource_t * rsc, pe_node_t * prefer, pe_working_set_t * data_set) rsc 92 lib/pacemaker/pcmk_sched_native.c process_utilization(rsc, &prefer, data_set); rsc 94 lib/pacemaker/pcmk_sched_native.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 95 lib/pacemaker/pcmk_sched_native.c return rsc->allocated_to ? TRUE : FALSE; rsc 99 lib/pacemaker/pcmk_sched_native.c if (rsc->allowed_nodes) { rsc 100 lib/pacemaker/pcmk_sched_native.c length = g_hash_table_size(rsc->allowed_nodes); rsc 103 lib/pacemaker/pcmk_sched_native.c nodes = g_hash_table_get_values(rsc->allowed_nodes); rsc 104 lib/pacemaker/pcmk_sched_native.c nodes = sort_nodes_by_weight(nodes, pe__current_node(rsc), data_set); rsc 111 lib/pacemaker/pcmk_sched_native.c chosen = g_hash_table_lookup(rsc->allowed_nodes, prefer->details->id); rsc 114 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Preferred node %s for %s was unknown", rsc 115 lib/pacemaker/pcmk_sched_native.c prefer->details->uname, rsc->id); rsc 124 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Preferred node %s for %s was unsuitable", rsc 125 lib/pacemaker/pcmk_sched_native.c chosen->details->uname, rsc->id); rsc 129 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Preferred node %s for %s was unavailable", rsc 130 lib/pacemaker/pcmk_sched_native.c chosen->details->uname, rsc->id); rsc 134 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, rsc 136 lib/pacemaker/pcmk_sched_native.c chosen->details->uname, rsc->id, length); rsc 146 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Chose node %s for %s from %d candidates", rsc 147 lib/pacemaker/pcmk_sched_native.c chosen ? chosen->details->uname : "<none>", rsc->id, length); rsc 149 lib/pacemaker/pcmk_sched_native.c if (!pe_rsc_is_unique_clone(rsc->parent) rsc 160 lib/pacemaker/pcmk_sched_native.c pe_node_t *running = pe__current_node(rsc); rsc 163 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Current node for %s (%s) can't run resources", rsc 164 lib/pacemaker/pcmk_sched_native.c rsc->id, running->details->uname); rsc 190 lib/pacemaker/pcmk_sched_native.c chosen->details->uname, rsc->id, multiple, score); rsc 193 lib/pacemaker/pcmk_sched_native.c result = native_assign_node(rsc, nodes, chosen, FALSE); rsc 207 lib/pacemaker/pcmk_sched_native.c best_node_score_matching_attr(const pe_resource_t *rsc, const char *attr, rsc 216 lib/pacemaker/pcmk_sched_native.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 230 lib/pacemaker/pcmk_sched_native.c rsc->id, attr, value); rsc 234 lib/pacemaker/pcmk_sched_native.c best_node, rsc->id, best_score, attr, value); rsc 255 lib/pacemaker/pcmk_sched_native.c add_node_scores_matching_attr(GHashTable *nodes, const pe_resource_t *rsc, rsc 274 lib/pacemaker/pcmk_sched_native.c score = best_node_score_matching_attr(rsc, attr, rsc 336 lib/pacemaker/pcmk_sched_native.c is_nonempty_group(pe_resource_t *rsc) rsc 338 lib/pacemaker/pcmk_sched_native.c return rsc && (rsc->variant == pe_group) && (rsc->children != NULL); rsc 357 lib/pacemaker/pcmk_sched_native.c pcmk__native_merge_weights(pe_resource_t *rsc, const char *rhs, rsc 364 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_merging)) { rsc 365 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, "%s: Breaking dependency loop at %s", rhs, rsc->id); rsc 368 lib/pacemaker/pcmk_sched_native.c pe__set_resource_flags(rsc, pe_rsc_merging); rsc 371 lib/pacemaker/pcmk_sched_native.c if (is_nonempty_group(rsc)) { rsc 372 lib/pacemaker/pcmk_sched_native.c GList *last = g_list_last(rsc->children); rsc 375 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s: Merging scores from group %s " rsc 377 lib/pacemaker/pcmk_sched_native.c rhs, rsc->id, last_rsc->id, factor); rsc 381 lib/pacemaker/pcmk_sched_native.c work = pcmk__copy_node_table(rsc->allowed_nodes); rsc 383 lib/pacemaker/pcmk_sched_native.c clear_node_weights_flags(flags, rsc, pe_weights_init); rsc 385 lib/pacemaker/pcmk_sched_native.c } else if (is_nonempty_group(rsc)) { rsc 396 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s: Merging scores from first member of group %s " rsc 397 lib/pacemaker/pcmk_sched_native.c "(at %.6f)", rhs, rsc->id, factor); rsc 399 lib/pacemaker/pcmk_sched_native.c work = pcmk__native_merge_weights(rsc->children->data, rhs, work, attr, rsc 403 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s: Merging scores from %s (at %.6f)", rsc 404 lib/pacemaker/pcmk_sched_native.c rhs, rsc->id, factor); rsc 406 lib/pacemaker/pcmk_sched_native.c add_node_scores_matching_attr(work, rsc, attr, factor, rsc 415 lib/pacemaker/pcmk_sched_native.c gIter = rsc->rsc_cons; rsc 416 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, rsc 418 lib/pacemaker/pcmk_sched_native.c g_list_length(gIter), rsc->id); rsc 420 lib/pacemaker/pcmk_sched_native.c } else if (is_nonempty_group(rsc)) { rsc 421 lib/pacemaker/pcmk_sched_native.c pe_resource_t *last_rsc = g_list_last(rsc->children)->data; rsc 424 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Checking additional %d optional 'with group %s' " rsc 426 lib/pacemaker/pcmk_sched_native.c g_list_length(gIter), rsc->id, last_rsc->id); rsc 429 lib/pacemaker/pcmk_sched_native.c gIter = rsc->rsc_cons_lhs; rsc 430 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, rsc 432 lib/pacemaker/pcmk_sched_native.c g_list_length(gIter), rsc->id); rsc 449 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Optionally merging score of '%s' constraint (%s with %s)", rsc 460 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, "%s: Rolling back optional scores from %s", rsc 461 lib/pacemaker/pcmk_sched_native.c rhs, rsc->id); rsc 463 lib/pacemaker/pcmk_sched_native.c pe__clear_resource_flags(rsc, pe_rsc_merging); rsc 484 lib/pacemaker/pcmk_sched_native.c pe__clear_resource_flags(rsc, pe_rsc_merging); rsc 497 lib/pacemaker/pcmk_sched_native.c is_unfence_device(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 499 lib/pacemaker/pcmk_sched_native.c return pcmk_is_set(rsc->flags, pe_rsc_fence_device) rsc 504 lib/pacemaker/pcmk_sched_native.c pcmk__native_allocate(pe_resource_t *rsc, pe_node_t *prefer, rsc 509 lib/pacemaker/pcmk_sched_native.c if (rsc->parent && !pcmk_is_set(rsc->parent->flags, pe_rsc_allocating)) { rsc 511 lib/pacemaker/pcmk_sched_native.c pe_rsc_debug(rsc, "Escalating allocation of %s to its parent: %s", rsc->id, rsc 512 lib/pacemaker/pcmk_sched_native.c rsc->parent->id); rsc 513 lib/pacemaker/pcmk_sched_native.c rsc->parent->cmds->allocate(rsc->parent, prefer, data_set); rsc 516 lib/pacemaker/pcmk_sched_native.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 517 lib/pacemaker/pcmk_sched_native.c return rsc->allocated_to; rsc 520 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 521 lib/pacemaker/pcmk_sched_native.c pe_rsc_debug(rsc, "Dependency loop detected involving %s", rsc->id); rsc 525 lib/pacemaker/pcmk_sched_native.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 526 lib/pacemaker/pcmk_sched_native.c pe__show_node_weights(true, rsc, "Pre-alloc", rsc->allowed_nodes); rsc 528 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->rsc_cons; gIter != NULL; gIter = gIter->next) { rsc 540 lib/pacemaker/pcmk_sched_native.c archive = pcmk__copy_node_table(rsc->allowed_nodes); rsc 543 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, rsc 545 lib/pacemaker/pcmk_sched_native.c rsc->id, rsc_rh->id, constraint->id, rsc 548 lib/pacemaker/pcmk_sched_native.c rsc->cmds->rsc_colocation_lh(rsc, rsc_rh, constraint, data_set); rsc 549 lib/pacemaker/pcmk_sched_native.c if (archive && can_run_any(rsc->allowed_nodes) == FALSE) { rsc 550 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, "%s: Rolling back scores from %s", rsc->id, rsc_rh->id); rsc 551 lib/pacemaker/pcmk_sched_native.c g_hash_table_destroy(rsc->allowed_nodes); rsc 552 lib/pacemaker/pcmk_sched_native.c rsc->allowed_nodes = archive; rsc 560 lib/pacemaker/pcmk_sched_native.c pe__show_node_weights(true, rsc, "Post-coloc", rsc->allowed_nodes); rsc 562 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->rsc_cons_lhs; gIter != NULL; gIter = gIter->next) { rsc 568 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Merging score of '%s' constraint (%s with %s)", rsc 571 lib/pacemaker/pcmk_sched_native.c rsc->allowed_nodes = rsc 572 lib/pacemaker/pcmk_sched_native.c constraint->rsc_lh->cmds->merge_weights(constraint->rsc_lh, rsc->id, rsc->allowed_nodes, rsc 578 lib/pacemaker/pcmk_sched_native.c if (rsc->next_role == RSC_ROLE_STOPPED) { rsc 579 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Making sure %s doesn't get allocated", rsc->id); rsc 581 lib/pacemaker/pcmk_sched_native.c resource_location(rsc, NULL, -INFINITY, XML_RSC_ATTR_TARGET_ROLE, data_set); rsc 583 lib/pacemaker/pcmk_sched_native.c } else if(rsc->next_role > rsc->role rsc 587 lib/pacemaker/pcmk_sched_native.c rsc->id, role2text(rsc->role), role2text(rsc->next_role)); rsc 588 lib/pacemaker/pcmk_sched_native.c rsc->next_role = rsc->role; rsc 591 lib/pacemaker/pcmk_sched_native.c pe__show_node_weights(!show_scores, rsc, __func__, rsc->allowed_nodes); rsc 594 lib/pacemaker/pcmk_sched_native.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 597 lib/pacemaker/pcmk_sched_native.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 601 lib/pacemaker/pcmk_sched_native.c rsc->next_role = rsc->role; rsc 602 lib/pacemaker/pcmk_sched_native.c assign_to = pe__current_node(rsc); rsc 605 lib/pacemaker/pcmk_sched_native.c } else if (rsc->role == RSC_ROLE_MASTER) { rsc 607 lib/pacemaker/pcmk_sched_native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 612 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, "Unmanaged resource %s allocated to %s: %s", rsc->id, rsc 614 lib/pacemaker/pcmk_sched_native.c native_assign_node(rsc, NULL, assign_to, TRUE); rsc 617 lib/pacemaker/pcmk_sched_native.c pe_rsc_debug(rsc, "Forcing %s to stop", rsc->id); rsc 618 lib/pacemaker/pcmk_sched_native.c native_assign_node(rsc, NULL, NULL, TRUE); rsc 620 lib/pacemaker/pcmk_sched_native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_provisional) rsc 621 lib/pacemaker/pcmk_sched_native.c && native_choose_node(rsc, prefer, data_set)) { rsc 622 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Allocated resource %s to %s", rsc->id, rsc 623 lib/pacemaker/pcmk_sched_native.c rsc->allocated_to->details->uname); rsc 625 lib/pacemaker/pcmk_sched_native.c } else if (rsc->allocated_to == NULL) { rsc 626 lib/pacemaker/pcmk_sched_native.c if (!pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 627 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, "Resource %s cannot run anywhere", rsc->id); rsc 628 lib/pacemaker/pcmk_sched_native.c } else if (rsc->running_on != NULL) { rsc 629 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, "Stopping orphan resource %s", rsc->id); rsc 633 lib/pacemaker/pcmk_sched_native.c pe_rsc_debug(rsc, "Pre-Allocated resource %s to %s", rsc->id, rsc 634 lib/pacemaker/pcmk_sched_native.c rsc->allocated_to->details->uname); rsc 637 lib/pacemaker/pcmk_sched_native.c pe__clear_resource_flags(rsc, pe_rsc_allocating); rsc 639 lib/pacemaker/pcmk_sched_native.c if (rsc->is_remote_node) { rsc 640 lib/pacemaker/pcmk_sched_native.c pe_node_t *remote_node = pe_find_node(data_set->nodes, rsc->id); rsc 643 lib/pacemaker/pcmk_sched_native.c if (rsc->allocated_to && rsc->next_role != RSC_ROLE_STOPPED) { rsc 655 lib/pacemaker/pcmk_sched_native.c remote_node->details->id, role2text(rsc->next_role), rsc 656 lib/pacemaker/pcmk_sched_native.c (rsc->allocated_to? "" : "un")); rsc 661 lib/pacemaker/pcmk_sched_native.c return rsc->allocated_to; rsc 665 lib/pacemaker/pcmk_sched_native.c is_op_dup(pe_resource_t *rsc, const char *name, guint interval_ms) rsc 673 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT(rsc); rsc 674 lib/pacemaker/pcmk_sched_native.c for (operation = pcmk__xe_first_child(rsc->ops_xml); operation != NULL; rsc 711 lib/pacemaker/pcmk_sched_native.c RecurringOp(pe_resource_t * rsc, pe_action_t * start, pe_node_t * node, rsc 725 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT(rsc); rsc 740 lib/pacemaker/pcmk_sched_native.c if (is_op_dup(rsc, name, interval_ms)) { rsc 752 lib/pacemaker/pcmk_sched_native.c key = pcmk__op_key(rsc->id, name, interval_ms); rsc 753 lib/pacemaker/pcmk_sched_native.c if (find_rsc_op_entry(rsc, key) == NULL) { rsc 755 lib/pacemaker/pcmk_sched_native.c ID(operation), rsc->id); rsc 760 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating recurring action %s for %s in role %s on %s", rsc 761 lib/pacemaker/pcmk_sched_native.c ID(operation), rsc->id, role2text(rsc->next_role), node_uname); rsc 764 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Marking %s %s due to %s", key, rsc 767 lib/pacemaker/pcmk_sched_native.c is_optional = (rsc->cmds->action_flags(start, NULL) & pe_action_optional); rsc 769 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Marking %s optional", key); rsc 774 lib/pacemaker/pcmk_sched_native.c possible_matches = find_actions_exact(rsc->actions, key, node); rsc 777 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Marking %s mandatory: not active", key); rsc 793 lib/pacemaker/pcmk_sched_native.c if ((rsc->next_role == RSC_ROLE_MASTER && role == NULL) rsc 794 lib/pacemaker/pcmk_sched_native.c || (role != NULL && text2role(role) != rsc->next_role)) { rsc 805 lib/pacemaker/pcmk_sched_native.c cancel_op = pe_cancel_op(rsc, name, interval_ms, node, data_set); rsc 807 lib/pacemaker/pcmk_sched_native.c switch (rsc->role) { rsc 810 lib/pacemaker/pcmk_sched_native.c if (rsc->next_role == RSC_ROLE_MASTER) { rsc 811 lib/pacemaker/pcmk_sched_native.c after_key = promote_key(rsc); rsc 813 lib/pacemaker/pcmk_sched_native.c } else if (rsc->next_role == RSC_ROLE_STOPPED) { rsc 814 lib/pacemaker/pcmk_sched_native.c after_key = stop_key(rsc); rsc 819 lib/pacemaker/pcmk_sched_native.c after_key = demote_key(rsc); rsc 826 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, NULL, cancel_op, rsc, after_key, NULL, rsc 833 lib/pacemaker/pcmk_sched_native.c role2text(rsc->next_role)); rsc 839 lib/pacemaker/pcmk_sched_native.c mon = custom_action(rsc, key, name, node, is_optional, TRUE, data_set); rsc 842 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s\t %s (optional)", node_uname, mon->uuid); rsc 846 lib/pacemaker/pcmk_sched_native.c pe_rsc_debug(rsc, "%s\t %s (cancelled : start un-runnable)", rsc 852 lib/pacemaker/pcmk_sched_native.c pe_rsc_debug(rsc, "%s\t %s (cancelled : no node available)", rsc 858 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, " Start recurring %s (%us) for %s on %s", rsc 859 lib/pacemaker/pcmk_sched_native.c mon->task, interval_ms / 1000, rsc->id, node_uname); rsc 862 lib/pacemaker/pcmk_sched_native.c if (rsc->next_role == RSC_ROLE_MASTER) { rsc 869 lib/pacemaker/pcmk_sched_native.c if ((node == NULL) || pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 870 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, start_key(rsc), NULL, rsc 874 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, reload_key(rsc), NULL, rsc 878 lib/pacemaker/pcmk_sched_native.c if (rsc->next_role == RSC_ROLE_MASTER) { rsc 879 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, promote_key(rsc), NULL, rsc 880 lib/pacemaker/pcmk_sched_native.c rsc, NULL, mon, rsc 883 lib/pacemaker/pcmk_sched_native.c } else if (rsc->role == RSC_ROLE_MASTER) { rsc 884 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, demote_key(rsc), NULL, rsc 885 lib/pacemaker/pcmk_sched_native.c rsc, NULL, mon, rsc 892 lib/pacemaker/pcmk_sched_native.c Recurring(pe_resource_t * rsc, pe_action_t * start, pe_node_t * node, pe_working_set_t * data_set) rsc 894 lib/pacemaker/pcmk_sched_native.c if (!pcmk_is_set(rsc->flags, pe_rsc_maintenance) && rsc 898 lib/pacemaker/pcmk_sched_native.c for (operation = pcmk__xe_first_child(rsc->ops_xml); rsc 903 lib/pacemaker/pcmk_sched_native.c RecurringOp(rsc, start, node, operation, data_set); rsc 910 lib/pacemaker/pcmk_sched_native.c RecurringOp_Stopped(pe_resource_t * rsc, pe_action_t * start, pe_node_t * node, rsc 936 lib/pacemaker/pcmk_sched_native.c if (is_op_dup(rsc, name, interval_ms)) { rsc 948 lib/pacemaker/pcmk_sched_native.c key = pcmk__op_key(rsc->id, name, interval_ms); rsc 949 lib/pacemaker/pcmk_sched_native.c if (find_rsc_op_entry(rsc, key) == NULL) { rsc 951 lib/pacemaker/pcmk_sched_native.c ID(operation), rsc->id); rsc 957 lib/pacemaker/pcmk_sched_native.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 964 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, rsc 966 lib/pacemaker/pcmk_sched_native.c ID(operation), rsc->id, role2text(rsc->next_role)); rsc 970 lib/pacemaker/pcmk_sched_native.c possible_matches = find_actions_exact(rsc->actions, key, node); rsc 976 lib/pacemaker/pcmk_sched_native.c cancel_op = pe_cancel_op(rsc, name, interval_ms, node, data_set); rsc 978 lib/pacemaker/pcmk_sched_native.c if (rsc->next_role == RSC_ROLE_STARTED || rsc->next_role == RSC_ROLE_SLAVE) { rsc 981 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, NULL, cancel_op, rsc, start_key(rsc), NULL, rsc 985 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, "Cancel action %s (%s vs. %s) on %s", rsc 986 lib/pacemaker/pcmk_sched_native.c key, role, role2text(rsc->next_role), node_uname); rsc 1006 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating recurring action %s for %s on %s", rsc 1007 lib/pacemaker/pcmk_sched_native.c ID(operation), rsc->id, crm_str(stop_node_uname)); rsc 1010 lib/pacemaker/pcmk_sched_native.c possible_matches = find_actions_exact(rsc->actions, key, stop_node); rsc 1012 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Marking %s mandatory on %s: not active", key, rsc 1016 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Marking %s optional on %s: already active", key, rsc 1022 lib/pacemaker/pcmk_sched_native.c stopped_mon = custom_action(rsc, strdup(key), name, stop_node, is_optional, TRUE, data_set); rsc 1028 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 1029 lib/pacemaker/pcmk_sched_native.c GList *probes = pe__resource_actions(rsc, stop_node, RSC_STATUS, rsc 1047 lib/pacemaker/pcmk_sched_native.c stop_ops = pe__resource_actions(rsc, stop_node, RSC_STOP, TRUE); rsc 1063 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 1064 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, stop_key(rsc), stop, rsc 1076 lib/pacemaker/pcmk_sched_native.c && !pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 1077 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Marking %s optional on %s due to unmanaged", rsc 1084 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s\t %s (optional)", crm_str(stop_node_uname), stopped_mon->uuid); rsc 1088 lib/pacemaker/pcmk_sched_native.c pe_rsc_debug(rsc, "%s\t %s (cancelled : no node available)", rsc 1097 lib/pacemaker/pcmk_sched_native.c interval_ms / 1000, rsc->id, crm_str(stop_node_uname)); rsc 1105 lib/pacemaker/pcmk_sched_native.c Recurring_Stopped(pe_resource_t * rsc, pe_action_t * start, pe_node_t * node, pe_working_set_t * data_set) rsc 1107 lib/pacemaker/pcmk_sched_native.c if (!pcmk_is_set(rsc->flags, pe_rsc_maintenance) && rsc 1111 lib/pacemaker/pcmk_sched_native.c for (operation = pcmk__xe_first_child(rsc->ops_xml); rsc 1116 lib/pacemaker/pcmk_sched_native.c RecurringOp_Stopped(rsc, start, node, operation, data_set); rsc 1123 lib/pacemaker/pcmk_sched_native.c handle_migration_actions(pe_resource_t * rsc, pe_node_t *current, pe_node_t *chosen, pe_working_set_t * data_set) rsc 1129 lib/pacemaker/pcmk_sched_native.c gboolean partial = rsc->partial_migration_target ? TRUE : FALSE; rsc 1131 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Processing migration actions %s moving from %s to %s . partial migration = %s", rsc 1132 lib/pacemaker/pcmk_sched_native.c rsc->id, current->details->id, chosen->details->id, partial ? "TRUE" : "FALSE"); rsc 1133 lib/pacemaker/pcmk_sched_native.c start = start_action(rsc, chosen, TRUE); rsc 1134 lib/pacemaker/pcmk_sched_native.c stop = stop_action(rsc, current, TRUE); rsc 1137 lib/pacemaker/pcmk_sched_native.c migrate_to = custom_action(rsc, pcmk__op_key(rsc->id, RSC_MIGRATE, 0), rsc 1141 lib/pacemaker/pcmk_sched_native.c migrate_from = custom_action(rsc, pcmk__op_key(rsc->id, RSC_MIGRATED, 0), rsc 1157 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, pcmk__op_key(rsc->id, RSC_STATUS, 0), NULL, rsc 1158 lib/pacemaker/pcmk_sched_native.c rsc, pcmk__op_key(rsc->id, RSC_MIGRATED, 0), rsc 1166 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, pcmk__op_key(rsc->id, RSC_STATUS, 0), NULL, rsc 1167 lib/pacemaker/pcmk_sched_native.c rsc, pcmk__op_key(rsc->id, RSC_MIGRATE, 0), rsc 1169 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, pcmk__op_key(rsc->id, RSC_MIGRATE, 0), rsc 1170 lib/pacemaker/pcmk_sched_native.c NULL, rsc, rsc 1171 lib/pacemaker/pcmk_sched_native.c pcmk__op_key(rsc->id, RSC_MIGRATED, 0), NULL, rsc 1176 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, pcmk__op_key(rsc->id, RSC_MIGRATED, 0), NULL, rsc 1177 lib/pacemaker/pcmk_sched_native.c rsc, pcmk__op_key(rsc->id, RSC_STOP, 0), NULL, rsc 1180 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, pcmk__op_key(rsc->id, RSC_MIGRATED, 0), NULL, rsc 1181 lib/pacemaker/pcmk_sched_native.c rsc, pcmk__op_key(rsc->id, RSC_START, 0), NULL, rsc 1194 lib/pacemaker/pcmk_sched_native.c if (rsc->is_remote_node == FALSE) { rsc 1212 lib/pacemaker/pcmk_sched_native.c native_create_actions(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 1220 lib/pacemaker/pcmk_sched_native.c gboolean allow_migrate = pcmk_is_set(rsc->flags, pe_rsc_allow_migrate)? TRUE : FALSE; rsc 1229 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT(rsc); rsc 1230 lib/pacemaker/pcmk_sched_native.c chosen = rsc->allocated_to; rsc 1231 lib/pacemaker/pcmk_sched_native.c next_role = rsc->next_role; rsc 1233 lib/pacemaker/pcmk_sched_native.c rsc->next_role = (chosen == NULL)? RSC_ROLE_STOPPED : RSC_ROLE_STARTED; rsc 1235 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating all actions for %s transition from %s to %s (%s) on %s", rsc 1236 lib/pacemaker/pcmk_sched_native.c rsc->id, role2text(rsc->role), role2text(rsc->next_role), rsc 1240 lib/pacemaker/pcmk_sched_native.c current = pe__find_active_on(rsc, &num_all_active, &num_clean_active); rsc 1242 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->dangling_migrations; gIter != NULL; gIter = gIter->next) { rsc 1247 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating stop action %s cleanup for %s on %s due to dangling migration", rsc 1249 lib/pacemaker/pcmk_sched_native.c rsc->id, dangling_source->details->uname); rsc 1250 lib/pacemaker/pcmk_sched_native.c stop = stop_action(rsc, dangling_source, FALSE); rsc 1253 lib/pacemaker/pcmk_sched_native.c DeleteRsc(rsc, dangling_source, FALSE, data_set); rsc 1258 lib/pacemaker/pcmk_sched_native.c && rsc->partial_migration_source && rsc->partial_migration_target rsc 1259 lib/pacemaker/pcmk_sched_native.c && (current->details == rsc->partial_migration_source->details) rsc 1260 lib/pacemaker/pcmk_sched_native.c && (chosen->details == rsc->partial_migration_target->details)) { rsc 1266 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Will attempt to continue with partial migration " rsc 1268 lib/pacemaker/pcmk_sched_native.c rsc->partial_migration_target->details->id, rsc 1269 lib/pacemaker/pcmk_sched_native.c rsc->partial_migration_source->details->id); rsc 1271 lib/pacemaker/pcmk_sched_native.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_needs_fencing)) { rsc 1285 lib/pacemaker/pcmk_sched_native.c if (rsc->partial_migration_target && rsc->partial_migration_source) { rsc 1289 lib/pacemaker/pcmk_sched_native.c rsc->id, rsc->partial_migration_source->details->uname, rsc 1290 lib/pacemaker/pcmk_sched_native.c rsc->partial_migration_target->details->uname); rsc 1295 lib/pacemaker/pcmk_sched_native.c rsc->id, num_all_active, rsc 1296 lib/pacemaker/pcmk_sched_native.c recovery2text(rsc->recovery_type)); rsc 1300 lib/pacemaker/pcmk_sched_native.c if (rsc->recovery_type == recovery_stop_start) { rsc 1307 lib/pacemaker/pcmk_sched_native.c rsc->partial_migration_source = rsc->partial_migration_target = NULL; rsc 1311 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_start_pending)) { rsc 1312 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating start action for %s to represent already pending start", rsc 1313 lib/pacemaker/pcmk_sched_native.c rsc->id); rsc 1314 lib/pacemaker/pcmk_sched_native.c start = start_action(rsc, chosen, TRUE); rsc 1319 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Moving %s from %s to %s", rsc 1320 lib/pacemaker/pcmk_sched_native.c rsc->id, crm_str(current->details->uname), rsc 1325 lib/pacemaker/pcmk_sched_native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 1326 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_stop)) { rsc 1328 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Recovering %s", rsc->id); rsc 1330 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Recovering %s by demotion", rsc->id); rsc 1331 lib/pacemaker/pcmk_sched_native.c if (rsc->next_role == RSC_ROLE_MASTER) { rsc 1336 lib/pacemaker/pcmk_sched_native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_block)) { rsc 1337 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Blocking further actions on %s", rsc->id); rsc 1340 lib/pacemaker/pcmk_sched_native.c } else if (rsc->role > RSC_ROLE_STARTED && current != NULL && chosen != NULL) { rsc 1341 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating start action for promoted resource %s", rsc 1342 lib/pacemaker/pcmk_sched_native.c rsc->id); rsc 1343 lib/pacemaker/pcmk_sched_native.c start = start_action(rsc, chosen, TRUE); rsc 1346 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s restart is required for recovery", rsc->id); rsc 1354 lib/pacemaker/pcmk_sched_native.c role = rsc->role; rsc 1357 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating %s action to take %s down from %s to %s", rsc 1358 lib/pacemaker/pcmk_sched_native.c (need_stop? "required" : "optional"), rsc->id, rsc 1360 lib/pacemaker/pcmk_sched_native.c if (rsc_action_matrix[role][next_role] (rsc, current, !need_stop, data_set) == FALSE) { rsc 1367 lib/pacemaker/pcmk_sched_native.c while ((rsc->role <= rsc->next_role) && (role != rsc->role) rsc 1368 lib/pacemaker/pcmk_sched_native.c && !pcmk_is_set(rsc->flags, pe_rsc_block)) { rsc 1371 lib/pacemaker/pcmk_sched_native.c next_role = rsc_state_matrix[role][rsc->role]; rsc 1375 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating %s action to take %s up from %s to %s", rsc 1376 lib/pacemaker/pcmk_sched_native.c (required? "required" : "optional"), rsc->id, rsc 1378 lib/pacemaker/pcmk_sched_native.c if (rsc_action_matrix[role][next_role](rsc, chosen, !required, rsc 1384 lib/pacemaker/pcmk_sched_native.c role = rsc->role; rsc 1387 lib/pacemaker/pcmk_sched_native.c while (role != rsc->next_role) { rsc 1388 lib/pacemaker/pcmk_sched_native.c next_role = rsc_state_matrix[role][rsc->next_role]; rsc 1389 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating action to take %s from %s to %s (ending at %s)", rsc 1390 lib/pacemaker/pcmk_sched_native.c rsc->id, role2text(role), role2text(next_role), rsc 1391 lib/pacemaker/pcmk_sched_native.c role2text(rsc->next_role)); rsc 1392 lib/pacemaker/pcmk_sched_native.c if (rsc_action_matrix[role][next_role] (rsc, chosen, FALSE, data_set) == FALSE) { rsc 1398 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_block)) { rsc 1399 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Not creating recurring monitors for blocked resource %s", rsc 1400 lib/pacemaker/pcmk_sched_native.c rsc->id); rsc 1402 lib/pacemaker/pcmk_sched_native.c } else if ((rsc->next_role != RSC_ROLE_STOPPED) rsc 1403 lib/pacemaker/pcmk_sched_native.c || !pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 1404 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating recurring monitors for %s resource %s", rsc 1405 lib/pacemaker/pcmk_sched_native.c ((rsc->next_role == RSC_ROLE_STOPPED)? "unmanaged" : "active"), rsc 1406 lib/pacemaker/pcmk_sched_native.c rsc->id); rsc 1407 lib/pacemaker/pcmk_sched_native.c start = start_action(rsc, chosen, TRUE); rsc 1408 lib/pacemaker/pcmk_sched_native.c Recurring(rsc, start, chosen, data_set); rsc 1409 lib/pacemaker/pcmk_sched_native.c Recurring_Stopped(rsc, start, chosen, data_set); rsc 1412 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating recurring monitors for inactive resource %s", rsc 1413 lib/pacemaker/pcmk_sched_native.c rsc->id); rsc 1414 lib/pacemaker/pcmk_sched_native.c Recurring_Stopped(rsc, NULL, NULL, data_set); rsc 1420 lib/pacemaker/pcmk_sched_native.c if (rsc->partial_migration_target && (chosen == NULL || rsc->partial_migration_target->details != chosen->details)) { rsc 1421 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Not allowing partial migration of %s to continue", rsc 1422 lib/pacemaker/pcmk_sched_native.c rsc->id); rsc 1425 lib/pacemaker/pcmk_sched_native.c } else if (!is_moving || !pcmk_is_set(rsc->flags, pe_rsc_managed) rsc 1426 lib/pacemaker/pcmk_sched_native.c || pcmk_any_flags_set(rsc->flags, rsc 1429 lib/pacemaker/pcmk_sched_native.c || rsc->next_role < RSC_ROLE_STARTED) { rsc 1435 lib/pacemaker/pcmk_sched_native.c handle_migration_actions(rsc, current, chosen, data_set); rsc 1440 lib/pacemaker/pcmk_sched_native.c rsc_avoids_remote_nodes(pe_resource_t *rsc) rsc 1444 lib/pacemaker/pcmk_sched_native.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 1467 lib/pacemaker/pcmk_sched_native.c allowed_nodes_as_list(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 1471 lib/pacemaker/pcmk_sched_native.c if (rsc->allowed_nodes) { rsc 1472 lib/pacemaker/pcmk_sched_native.c allowed_nodes = g_hash_table_get_values(rsc->allowed_nodes); rsc 1482 lib/pacemaker/pcmk_sched_native.c native_internal_constraints(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 1491 lib/pacemaker/pcmk_sched_native.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 1492 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, rsc 1494 lib/pacemaker/pcmk_sched_native.c rsc->id); rsc 1498 lib/pacemaker/pcmk_sched_native.c top = uber_parent(rsc); rsc 1501 lib/pacemaker/pcmk_sched_native.c check_unfencing = !pcmk_is_set(rsc->flags, pe_rsc_fence_device) rsc 1503 lib/pacemaker/pcmk_sched_native.c && pcmk_is_set(rsc->flags, pe_rsc_needs_unfencing); rsc 1506 lib/pacemaker/pcmk_sched_native.c check_utilization = (g_hash_table_size(rsc->utilization) > 0) rsc 1511 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, pcmk__op_key(rsc->id, RSC_STOP, 0), NULL, rsc 1512 lib/pacemaker/pcmk_sched_native.c rsc, pcmk__op_key(rsc->id, RSC_START, 0), NULL, rsc 1518 lib/pacemaker/pcmk_sched_native.c || (rsc->role > RSC_ROLE_SLAVE)) { rsc 1520 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, pcmk__op_key(rsc->id, RSC_DEMOTE, 0), NULL, rsc 1521 lib/pacemaker/pcmk_sched_native.c rsc, pcmk__op_key(rsc->id, RSC_STOP, 0), NULL, rsc 1524 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, pcmk__op_key(rsc->id, RSC_START, 0), NULL, rsc 1525 lib/pacemaker/pcmk_sched_native.c rsc, pcmk__op_key(rsc->id, RSC_PROMOTE, 0), NULL, rsc 1530 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, pcmk__op_key(rsc->id, CRM_OP_LRM_DELETE, 0), rsc 1531 lib/pacemaker/pcmk_sched_native.c NULL, rsc, pcmk__op_key(rsc->id, RSC_STATUS, 0), rsc 1536 lib/pacemaker/pcmk_sched_native.c if (check_unfencing || check_utilization || rsc->container) { rsc 1537 lib/pacemaker/pcmk_sched_native.c allowed_nodes = allowed_nodes_as_list(rsc, data_set); rsc 1548 lib/pacemaker/pcmk_sched_native.c rsc->id, unfence->uuid); rsc 1565 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, stop_key(rsc), NULL, rsc 1570 lib/pacemaker/pcmk_sched_native.c rsc, start_key(rsc), NULL, rsc 1579 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Creating utilization constraints for %s - strategy: %s", rsc 1580 lib/pacemaker/pcmk_sched_native.c rsc->id, data_set->placement_strategy); rsc 1582 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->running_on; gIter != NULL; gIter = gIter->next) { rsc 1595 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, stop_key(rsc), NULL, rsc 1612 lib/pacemaker/pcmk_sched_native.c rsc, start_key(rsc), NULL, pe_order_load, data_set); rsc 1615 lib/pacemaker/pcmk_sched_native.c rsc, pcmk__op_key(rsc->id, RSC_MIGRATE, 0), rsc 1622 lib/pacemaker/pcmk_sched_native.c if (rsc->container) { rsc 1625 lib/pacemaker/pcmk_sched_native.c if (rsc->is_remote_node) { rsc 1632 lib/pacemaker/pcmk_sched_native.c if (!pcmk_is_set(rsc->flags, pe_rsc_allow_remote_remotes)) { rsc 1633 lib/pacemaker/pcmk_sched_native.c rsc_avoids_remote_nodes(rsc->container); rsc 1642 lib/pacemaker/pcmk_sched_native.c new_rsc_order(rsc->container, RSC_STATUS, rsc, RSC_STOP, rsc 1652 lib/pacemaker/pcmk_sched_native.c } else if (rsc->container->is_remote_node) { rsc 1653 lib/pacemaker/pcmk_sched_native.c remote_rsc = rsc->container; rsc 1656 lib/pacemaker/pcmk_sched_native.c rsc->container); rsc 1679 lib/pacemaker/pcmk_sched_native.c rsc->id, rsc->container->id); rsc 1681 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc->container, rsc 1682 lib/pacemaker/pcmk_sched_native.c pcmk__op_key(rsc->container->id, RSC_START, 0), rsc 1683 lib/pacemaker/pcmk_sched_native.c NULL, rsc, pcmk__op_key(rsc->id, RSC_START, 0), rsc 1688 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, pcmk__op_key(rsc->id, RSC_STOP, 0), NULL, rsc 1689 lib/pacemaker/pcmk_sched_native.c rsc->container, rsc 1690 lib/pacemaker/pcmk_sched_native.c pcmk__op_key(rsc->container->id, RSC_STOP, 0), rsc 1693 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_allow_remote_remotes)) { rsc 1698 lib/pacemaker/pcmk_sched_native.c rsc_colocation_new("resource-with-container", NULL, score, rsc, rsc 1699 lib/pacemaker/pcmk_sched_native.c rsc->container, NULL, NULL, data_set); rsc 1703 lib/pacemaker/pcmk_sched_native.c if (rsc->is_remote_node || pcmk_is_set(rsc->flags, pe_rsc_fence_device)) { rsc 1706 lib/pacemaker/pcmk_sched_native.c rsc_avoids_remote_nodes(rsc); rsc 2065 lib/pacemaker/pcmk_sched_native.c return action && action->rsc && (action->rsc->variant == pe_native); rsc 2101 lib/pacemaker/pcmk_sched_native.c && pcmk_is_set(then->rsc->flags, pe_rsc_managed) rsc 2110 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(first->rsc, "Handling %s -> %s for %s", rsc 2150 lib/pacemaker/pcmk_sched_native.c pe_resource_t *then_rsc = then->rsc; rsc 2175 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(then->rsc, "Unset optional and runnable on %s", then->uuid); rsc 2185 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(first->rsc, "Unset optional on %s because of %s", first->uuid, then->uuid); rsc 2193 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(first->rsc, "Unset migrate runnable on %s because of %s", rsc 2202 lib/pacemaker/pcmk_sched_native.c then->rsc && (then->rsc->role == RSC_ROLE_MASTER)) { rsc 2208 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(first->rsc, "Unset migrate runnable on %s because of %s", first->uuid, then->uuid); rsc 2211 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(then->rsc, "Unset optional on %s because of %s", first->uuid, then->uuid); rsc 2221 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(then->rsc, "Unset runnable on %s because %s is neither runnable or migratable", first->uuid, then->uuid); rsc 2226 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(then->rsc, "Unset optional on %s because %s is not optional", first->uuid, then->uuid); rsc 2237 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(then->rsc, "Unset pseudo on %s because %s is not runnable", then->uuid, first->uuid); rsc 2246 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(then->rsc, "Unset runnable on %s because of %s", then->uuid, first->uuid); rsc 2258 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(then->rsc, "Unset optional on %s because of %s", then->uuid, first->uuid); rsc 2269 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(then->rsc, rsc 2274 lib/pacemaker/pcmk_sched_native.c if(then->rsc && then->rsc->parent) { rsc 2282 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(first->rsc, rsc 2292 lib/pacemaker/pcmk_sched_native.c native_rsc_location(pe_resource_t *rsc, pe__location_t *constraint) rsc 2297 lib/pacemaker/pcmk_sched_native.c CRM_CHECK((constraint != NULL) && (rsc != NULL), return); rsc 2301 lib/pacemaker/pcmk_sched_native.c if (need_role && (constraint->role_filter != rsc->next_role)) { rsc 2302 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, rsc 2304 lib/pacemaker/pcmk_sched_native.c constraint->id, rsc->id, role2text(rsc->next_role), rsc 2310 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Not applying %s to %s because no nodes match", rsc 2311 lib/pacemaker/pcmk_sched_native.c constraint->id, rsc->id); rsc 2315 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Applying %s%s%s to %s", constraint->id, rsc 2317 lib/pacemaker/pcmk_sched_native.c (need_role? role2text(constraint->role_filter) : ""), rsc->id); rsc 2323 lib/pacemaker/pcmk_sched_native.c other_node = (pe_node_t *) pe_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 2326 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "* + %d on %s", rsc 2332 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "* = %d on %s", rsc 2335 lib/pacemaker/pcmk_sched_native.c g_hash_table_insert(rsc->allowed_nodes, (gpointer) other_node->details->id, other_node); rsc 2340 lib/pacemaker/pcmk_sched_native.c rsc->exclusive_discover = TRUE; rsc 2349 lib/pacemaker/pcmk_sched_native.c native_expand(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 2353 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT(rsc); rsc 2354 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Processing actions from %s", rsc->id); rsc 2356 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->actions; gIter != NULL; gIter = gIter->next) { rsc 2359 lib/pacemaker/pcmk_sched_native.c crm_trace("processing action %d for rsc=%s", action->id, rsc->id); rsc 2363 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 2387 lib/pacemaker/pcmk_sched_native.c __func__, lineno, rsc->id); \ rsc 2397 lib/pacemaker/pcmk_sched_native.c LogAction(const char *change, pe_resource_t *rsc, pe_node_t *origin, pe_node_t *destination, pe_action_t *action, pe_action_t *source, gboolean terminal) rsc 2416 lib/pacemaker/pcmk_sched_native.c len = strlen(rsc->id); rsc 2421 lib/pacemaker/pcmk_sched_native.c if(rsc->role > RSC_ROLE_STARTED || rsc->next_role > RSC_ROLE_SLAVE) { rsc 2429 lib/pacemaker/pcmk_sched_native.c if(rsc->role == rsc->next_role) { rsc 2435 lib/pacemaker/pcmk_sched_native.c details = crm_strdup_printf("%s -> %s %s", role2text(rsc->role), role2text(rsc->next_role), destination->details->uname); rsc 2443 lib/pacemaker/pcmk_sched_native.c details = crm_strdup_printf("%s %s", role2text(rsc->role), origin->details->uname); rsc 2451 lib/pacemaker/pcmk_sched_native.c details = crm_strdup_printf("%s %s", role2text(rsc->role), origin->details->uname); rsc 2459 lib/pacemaker/pcmk_sched_native.c details = crm_strdup_printf("%s -> %s %s", origin->details->uname, destination->details->uname, role2text(rsc->role)); rsc 2467 lib/pacemaker/pcmk_sched_native.c details = crm_strdup_printf("%s -> %s %s", role2text(rsc->role), role2text(rsc->next_role), origin->details->uname); rsc 2471 lib/pacemaker/pcmk_sched_native.c details = crm_strdup_printf("%s %s -> %s %s", role2text(rsc->role), origin->details->uname, role2text(rsc->next_role), destination->details->uname); rsc 2493 lib/pacemaker/pcmk_sched_native.c printf(" * %-8s %-*s ( %*s ) %s\n", change, rsc_width, rsc->id, detail_width, details, reason); rsc 2495 lib/pacemaker/pcmk_sched_native.c crm_notice(" * %-8s %-*s ( %*s ) %s", change, rsc_width, rsc->id, detail_width, details, reason); rsc 2504 lib/pacemaker/pcmk_sched_native.c LogActions(pe_resource_t * rsc, pe_working_set_t * data_set, gboolean terminal) rsc 2519 lib/pacemaker/pcmk_sched_native.c if(rsc->variant == pe_container) { rsc 2520 lib/pacemaker/pcmk_sched_native.c pcmk__bundle_log_actions(rsc, data_set, terminal); rsc 2524 lib/pacemaker/pcmk_sched_native.c if (rsc->children) { rsc 2527 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 2535 lib/pacemaker/pcmk_sched_native.c next = rsc->allocated_to; rsc 2536 lib/pacemaker/pcmk_sched_native.c if (rsc->running_on) { rsc 2537 lib/pacemaker/pcmk_sched_native.c current = pe__current_node(rsc); rsc 2538 lib/pacemaker/pcmk_sched_native.c if (rsc->role == RSC_ROLE_STOPPED) { rsc 2543 lib/pacemaker/pcmk_sched_native.c rsc->role = RSC_ROLE_STARTED; rsc 2547 lib/pacemaker/pcmk_sched_native.c if ((current == NULL) && pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 2552 lib/pacemaker/pcmk_sched_native.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed) rsc 2554 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, "Leave %s\t(%s%s)", rsc 2555 lib/pacemaker/pcmk_sched_native.c rsc->id, role2text(rsc->role), rsc 2556 lib/pacemaker/pcmk_sched_native.c !pcmk_is_set(rsc->flags, pe_rsc_managed)? " unmanaged" : ""); rsc 2564 lib/pacemaker/pcmk_sched_native.c possible_matches = pe__resource_actions(rsc, next, RSC_START, FALSE); rsc 2575 lib/pacemaker/pcmk_sched_native.c possible_matches = pe__resource_actions(rsc, start_node, RSC_STOP, FALSE); rsc 2581 lib/pacemaker/pcmk_sched_native.c possible_matches = pe__resource_actions(rsc, next, RSC_PROMOTE, FALSE); rsc 2587 lib/pacemaker/pcmk_sched_native.c possible_matches = pe__resource_actions(rsc, next, RSC_DEMOTE, FALSE); rsc 2593 lib/pacemaker/pcmk_sched_native.c if (rsc->role == rsc->next_role) { rsc 2596 lib/pacemaker/pcmk_sched_native.c possible_matches = pe__resource_actions(rsc, next, RSC_MIGRATED, FALSE); rsc 2605 lib/pacemaker/pcmk_sched_native.c LogAction("Migrate", rsc, current, next, start, NULL, terminal); rsc 2607 lib/pacemaker/pcmk_sched_native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_reload)) { rsc 2608 lib/pacemaker/pcmk_sched_native.c LogAction("Reload", rsc, current, next, start, NULL, terminal); rsc 2615 lib/pacemaker/pcmk_sched_native.c LogAction("Re-promote", rsc, current, next, promote, demote, rsc 2618 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, "Leave %s\t(%s %s)", rsc->id, rsc 2619 lib/pacemaker/pcmk_sched_native.c role2text(rsc->role), next->details->uname); rsc 2623 lib/pacemaker/pcmk_sched_native.c LogAction("Stop", rsc, current, NULL, stop, rsc 2628 lib/pacemaker/pcmk_sched_native.c LogAction(pcmk_is_set(rsc->flags, pe_rsc_failed)? "Recover" : "Move", rsc 2629 lib/pacemaker/pcmk_sched_native.c rsc, current, next, stop, NULL, terminal); rsc 2631 lib/pacemaker/pcmk_sched_native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 2632 lib/pacemaker/pcmk_sched_native.c LogAction("Recover", rsc, current, NULL, stop, NULL, terminal); rsc 2636 lib/pacemaker/pcmk_sched_native.c LogAction("Restart", rsc, current, next, start, NULL, terminal); rsc 2645 lib/pacemaker/pcmk_sched_native.c && (rsc->next_role == RSC_ROLE_STOPPED rsc 2650 lib/pacemaker/pcmk_sched_native.c key = stop_key(rsc); rsc 2651 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->running_on; gIter != NULL; gIter = gIter->next) { rsc 2655 lib/pacemaker/pcmk_sched_native.c possible_matches = find_actions(rsc->actions, key, node); rsc 2665 lib/pacemaker/pcmk_sched_native.c LogAction("Stop", rsc, node, NULL, stop_op, rsc 2672 lib/pacemaker/pcmk_sched_native.c && pcmk_all_flags_set(rsc->flags, pe_rsc_failed|pe_rsc_stop)) { rsc 2674 lib/pacemaker/pcmk_sched_native.c LogAction("Recover", rsc, current, next, stop, start, terminal); rsc 2678 lib/pacemaker/pcmk_sched_native.c LogAction("Move", rsc, current, next, stop, NULL, terminal); rsc 2681 lib/pacemaker/pcmk_sched_native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_reload)) { rsc 2682 lib/pacemaker/pcmk_sched_native.c LogAction("Reload", rsc, current, next, start, NULL, terminal); rsc 2685 lib/pacemaker/pcmk_sched_native.c LogAction("Restart", rsc, current, next, start, NULL, terminal); rsc 2688 lib/pacemaker/pcmk_sched_native.c } else if (rsc->role == RSC_ROLE_MASTER) { rsc 2690 lib/pacemaker/pcmk_sched_native.c LogAction("Demote", rsc, current, next, demote, NULL, terminal); rsc 2692 lib/pacemaker/pcmk_sched_native.c } else if(rsc->next_role == RSC_ROLE_MASTER) { rsc 2694 lib/pacemaker/pcmk_sched_native.c LogAction("Promote", rsc, current, next, promote, NULL, terminal); rsc 2696 lib/pacemaker/pcmk_sched_native.c } else if (rsc->role == RSC_ROLE_STOPPED && rsc->next_role > RSC_ROLE_STOPPED) { rsc 2697 lib/pacemaker/pcmk_sched_native.c LogAction("Start", rsc, current, next, start, NULL, terminal); rsc 2702 lib/pacemaker/pcmk_sched_native.c StopRsc(pe_resource_t * rsc, pe_node_t * next, gboolean optional, pe_working_set_t * data_set) rsc 2706 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT(rsc); rsc 2707 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s", rsc->id); rsc 2709 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->running_on; gIter != NULL; gIter = gIter->next) { rsc 2713 lib/pacemaker/pcmk_sched_native.c if (rsc->partial_migration_target) { rsc 2714 lib/pacemaker/pcmk_sched_native.c if (rsc->partial_migration_target->details == current->details) { rsc 2715 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Filtered %s -> %s %s", current->details->uname, rsc 2716 lib/pacemaker/pcmk_sched_native.c next->details->uname, rsc->id); rsc 2719 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Forced on %s %s", current->details->uname, rsc->id); rsc 2724 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s on %s", rsc->id, current->details->uname); rsc 2725 lib/pacemaker/pcmk_sched_native.c stop = stop_action(rsc, current, optional); rsc 2727 lib/pacemaker/pcmk_sched_native.c if(rsc->allocated_to == NULL) { rsc 2731 lib/pacemaker/pcmk_sched_native.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 2737 lib/pacemaker/pcmk_sched_native.c DeleteRsc(rsc, current, optional, data_set); rsc 2740 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_needs_unfencing)) { rsc 2745 lib/pacemaker/pcmk_sched_native.c pe_proc_err("Stopping %s until %s can be unfenced", rsc->id, current->details->uname); rsc 2754 lib/pacemaker/pcmk_sched_native.c order_after_unfencing(pe_resource_t *rsc, pe_node_t *node, pe_action_t *action, rsc 2764 lib/pacemaker/pcmk_sched_native.c if (is_unfence_device(rsc, data_set) rsc 2765 lib/pacemaker/pcmk_sched_native.c || pcmk_is_set(rsc->flags, pe_rsc_needs_unfencing)) { rsc 2778 lib/pacemaker/pcmk_sched_native.c rsc->id, action->task); rsc 2787 lib/pacemaker/pcmk_sched_native.c StartRsc(pe_resource_t * rsc, pe_node_t * next, gboolean optional, pe_working_set_t * data_set) rsc 2791 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT(rsc); rsc 2792 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s on %s %d %d", rsc->id, next ? next->details->uname : "N/A", optional, next ? next->weight : 0); rsc 2793 lib/pacemaker/pcmk_sched_native.c start = start_action(rsc, next, TRUE); rsc 2795 lib/pacemaker/pcmk_sched_native.c order_after_unfencing(rsc, next, start, pe_order_implies_then, data_set); rsc 2807 lib/pacemaker/pcmk_sched_native.c PromoteRsc(pe_resource_t * rsc, pe_node_t * next, gboolean optional, pe_working_set_t * data_set) rsc 2813 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT(rsc); rsc 2815 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s on %s", rsc->id, next->details->uname); rsc 2817 lib/pacemaker/pcmk_sched_native.c action_list = pe__resource_actions(rsc, next, RSC_START, TRUE); rsc 2829 lib/pacemaker/pcmk_sched_native.c promote_action(rsc, next, optional); rsc 2833 lib/pacemaker/pcmk_sched_native.c pe_rsc_debug(rsc, "%s\tPromote %s (canceled)", next->details->uname, rsc->id); rsc 2835 lib/pacemaker/pcmk_sched_native.c action_list = pe__resource_actions(rsc, next, RSC_PROMOTE, TRUE); rsc 2849 lib/pacemaker/pcmk_sched_native.c DemoteRsc(pe_resource_t * rsc, pe_node_t * next, gboolean optional, pe_working_set_t * data_set) rsc 2853 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT(rsc); rsc 2854 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s", rsc->id); rsc 2857 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->running_on; gIter != NULL; gIter = gIter->next) { rsc 2860 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s on %s", rsc->id, next ? next->details->uname : "N/A"); rsc 2861 lib/pacemaker/pcmk_sched_native.c demote_action(rsc, current, optional); rsc 2867 lib/pacemaker/pcmk_sched_native.c RoleError(pe_resource_t * rsc, pe_node_t * next, gboolean optional, pe_working_set_t * data_set) rsc 2869 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT(rsc); rsc 2870 lib/pacemaker/pcmk_sched_native.c crm_err("%s on %s", rsc->id, next ? next->details->uname : "N/A"); rsc 2876 lib/pacemaker/pcmk_sched_native.c NullOp(pe_resource_t * rsc, pe_node_t * next, gboolean optional, pe_working_set_t * data_set) rsc 2878 lib/pacemaker/pcmk_sched_native.c CRM_ASSERT(rsc); rsc 2879 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s", rsc->id); rsc 2884 lib/pacemaker/pcmk_sched_native.c DeleteRsc(pe_resource_t * rsc, pe_node_t * node, gboolean optional, pe_working_set_t * data_set) rsc 2886 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 2887 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Resource %s not deleted from %s: failed", rsc->id, node->details->uname); rsc 2891 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Resource %s not deleted: NULL node", rsc->id); rsc 2895 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Resource %s not deleted from %s: unrunnable", rsc->id, rsc 2900 lib/pacemaker/pcmk_sched_native.c crm_notice("Removing %s from %s", rsc->id, node->details->uname); rsc 2902 lib/pacemaker/pcmk_sched_native.c delete_action(rsc, node, optional); rsc 2904 lib/pacemaker/pcmk_sched_native.c new_rsc_order(rsc, RSC_STOP, rsc, RSC_DELETE, rsc 2907 lib/pacemaker/pcmk_sched_native.c new_rsc_order(rsc, RSC_DELETE, rsc, RSC_START, rsc 2914 lib/pacemaker/pcmk_sched_native.c native_create_probe(pe_resource_t * rsc, pe_node_t * node, pe_action_t * complete, rsc 2922 lib/pacemaker/pcmk_sched_native.c pe_resource_t *top = uber_parent(rsc); rsc 2934 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Skipping active resource detection for %s", rsc->id); rsc 2939 lib/pacemaker/pcmk_sched_native.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 2942 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, rsc 2944 lib/pacemaker/pcmk_sched_native.c rsc->id, node->details->id); rsc 2947 lib/pacemaker/pcmk_sched_native.c && pe__resource_contains_guest_node(data_set, rsc)) { rsc 2948 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, rsc 2950 lib/pacemaker/pcmk_sched_native.c rsc->id, node->details->id); rsc 2952 lib/pacemaker/pcmk_sched_native.c } else if (rsc->is_remote_node) { rsc 2953 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, rsc 2955 lib/pacemaker/pcmk_sched_native.c rsc->id, node->details->id); rsc 2960 lib/pacemaker/pcmk_sched_native.c if (rsc->children) { rsc 2964 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 2973 lib/pacemaker/pcmk_sched_native.c } else if ((rsc->container) && (!rsc->is_remote_node)) { rsc 2974 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Skipping %s: it is within container %s", rsc->id, rsc->container->id); rsc 2978 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 2979 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Skipping orphan: %s", rsc->id); rsc 2984 lib/pacemaker/pcmk_sched_native.c if (!force && g_hash_table_lookup(rsc->known_on, node->details->id)) { rsc 2985 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Skipping known: %s on %s", rsc->id, node->details->uname); rsc 2989 lib/pacemaker/pcmk_sched_native.c allowed = g_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 2991 lib/pacemaker/pcmk_sched_native.c if (rsc->exclusive_discover || top->exclusive_discover) { rsc 2994 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Skipping probe for %s on node %s, A", rsc->id, node->details->id); rsc 2999 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Skipping probe for %s on node %s, B", rsc->id, node->details->id); rsc 3010 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Skipping probe for %s on node %s, C", rsc->id, node->details->id); rsc 3016 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Skipping probe for %s on node %s, discovery mode", rsc->id, node->details->id); rsc 3053 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Skipping probe for %s on node %s, %s is stopped", rsc 3054 lib/pacemaker/pcmk_sched_native.c rsc->id, node->details->id, remote->id); rsc 3074 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Skipping probe for %s on node %s, %s is stopping, restarting or moving", rsc 3075 lib/pacemaker/pcmk_sched_native.c rsc->id, node->details->id, remote->id); rsc 3083 lib/pacemaker/pcmk_sched_native.c key = pcmk__op_key(rsc->id, RSC_STATUS, 0); rsc 3084 lib/pacemaker/pcmk_sched_native.c probe = custom_action(rsc, key, RSC_STATUS, node, FALSE, TRUE, data_set); rsc 3088 lib/pacemaker/pcmk_sched_native.c order_after_unfencing(rsc, node, probe, pe_order_optional, data_set); rsc 3094 lib/pacemaker/pcmk_sched_native.c running = pe_find_node_id(rsc->running_on, node->details->id); rsc 3098 lib/pacemaker/pcmk_sched_native.c } else if (rsc->role == RSC_ROLE_MASTER) { rsc 3102 lib/pacemaker/pcmk_sched_native.c crm_debug("Probing %s on %s (%s) %d %p", rsc->id, node->details->uname, role2text(rsc->role), rsc 3103 lib/pacemaker/pcmk_sched_native.c pcmk_is_set(probe->flags, pe_action_runnable), rsc->running_on); rsc 3105 lib/pacemaker/pcmk_sched_native.c if (is_unfence_device(rsc, data_set) || !pe_rsc_is_clone(top)) { rsc 3106 lib/pacemaker/pcmk_sched_native.c top = rsc; rsc 3108 lib/pacemaker/pcmk_sched_native.c crm_trace("Probing %s on %s (%s) as %s", rsc->id, node->details->uname, role2text(rsc->role), top->id); rsc 3112 lib/pacemaker/pcmk_sched_native.c && (rsc->running_on == NULL)) { rsc 3119 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, NULL, probe, rsc 3124 lib/pacemaker/pcmk_sched_native.c custom_action_order(rsc, NULL, probe, rsc 3125 lib/pacemaker/pcmk_sched_native.c top, reload_key(rsc), NULL, rsc 3130 lib/pacemaker/pcmk_sched_native.c if (!is_unfence_device(rsc, data_set)) { rsc 3153 lib/pacemaker/pcmk_sched_native.c rsc_is_known_on(pe_resource_t *rsc, const pe_node_t *node) rsc 3155 lib/pacemaker/pcmk_sched_native.c if (pe_hash_table_lookup(rsc->known_on, node->details->id)) { rsc 3158 lib/pacemaker/pcmk_sched_native.c } else if ((rsc->variant == pe_native) rsc 3159 lib/pacemaker/pcmk_sched_native.c && pe_rsc_is_anon_clone(rsc->parent) rsc 3160 lib/pacemaker/pcmk_sched_native.c && pe_hash_table_lookup(rsc->parent->known_on, node->details->id)) { rsc 3179 lib/pacemaker/pcmk_sched_native.c native_start_constraints(pe_resource_t * rsc, pe_action_t * stonith_op, pe_working_set_t * data_set) rsc 3187 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->actions; gIter != NULL; gIter = gIter->next) { rsc 3201 lib/pacemaker/pcmk_sched_native.c && pe_hash_table_lookup(rsc->allowed_nodes, target->details->id) rsc 3202 lib/pacemaker/pcmk_sched_native.c && !rsc_is_known_on(rsc, target)) { rsc 3213 lib/pacemaker/pcmk_sched_native.c pe_rsc_debug(rsc, "Ordering %s after %s recovery", action->uuid, rsc 3224 lib/pacemaker/pcmk_sched_native.c native_stop_constraints(pe_resource_t * rsc, pe_action_t * stonith_op, pe_working_set_t * data_set) rsc 3230 lib/pacemaker/pcmk_sched_native.c pe_resource_t *top = uber_parent(rsc); rsc 3238 lib/pacemaker/pcmk_sched_native.c action_list = pe__resource_actions(rsc, target, RSC_STOP, FALSE); rsc 3246 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_needs_fencing) rsc 3279 lib/pacemaker/pcmk_sched_native.c if (!pe_rsc_is_bundled(rsc)) { rsc 3285 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 3287 lib/pacemaker/pcmk_sched_native.c rsc->id, (order_implicit? "after" : "because"), rsc 3295 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_notify)) { rsc 3316 lib/pacemaker/pcmk_sched_native.c create_secondary_notification(action, rsc, stonith_op, data_set); rsc 3354 lib/pacemaker/pcmk_sched_native.c action_list = pe__resource_actions(rsc, target, RSC_DEMOTE, FALSE); rsc 3360 lib/pacemaker/pcmk_sched_native.c || pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 3362 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 3363 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, rsc 3365 lib/pacemaker/pcmk_sched_native.c rsc->id, target->details->uname); rsc 3367 lib/pacemaker/pcmk_sched_native.c pe_rsc_info(rsc, "%s is implicit after %s is fenced", rsc 3377 lib/pacemaker/pcmk_sched_native.c if (pe_rsc_is_bundled(rsc)) { rsc 3390 lib/pacemaker/pcmk_sched_native.c rsc_stonith_ordering(pe_resource_t * rsc, pe_action_t * stonith_op, pe_working_set_t * data_set) rsc 3392 lib/pacemaker/pcmk_sched_native.c if (rsc->children) { rsc 3395 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 3401 lib/pacemaker/pcmk_sched_native.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 3402 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Skipping fencing constraints for unmanaged resource: %s", rsc->id); rsc 3405 lib/pacemaker/pcmk_sched_native.c native_start_constraints(rsc, stonith_op, data_set); rsc 3406 lib/pacemaker/pcmk_sched_native.c native_stop_constraints(rsc, stonith_op, data_set); rsc 3411 lib/pacemaker/pcmk_sched_native.c ReloadRsc(pe_resource_t * rsc, pe_node_t *node, pe_working_set_t * data_set) rsc 3416 lib/pacemaker/pcmk_sched_native.c if (rsc->children) { rsc 3417 lib/pacemaker/pcmk_sched_native.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 3424 lib/pacemaker/pcmk_sched_native.c } else if (rsc->variant > pe_native) { rsc 3428 lib/pacemaker/pcmk_sched_native.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 3429 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s: unmanaged", rsc->id); rsc 3432 lib/pacemaker/pcmk_sched_native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 3436 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s: preventing reload because failed", rsc->id); rsc 3439 lib/pacemaker/pcmk_sched_native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_start_pending)) { rsc 3443 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s: preventing reload because start pending", rsc->id); rsc 3444 lib/pacemaker/pcmk_sched_native.c stop_action(rsc, node, FALSE); rsc 3448 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "%s: not active", rsc->id); rsc 3452 lib/pacemaker/pcmk_sched_native.c pe_rsc_trace(rsc, "Processing %s", rsc->id); rsc 3453 lib/pacemaker/pcmk_sched_native.c pe__set_resource_flags(rsc, pe_rsc_reload); rsc 3456 lib/pacemaker/pcmk_sched_native.c rsc, reload_key(rsc), CRMD_ACTION_RELOAD, node, FALSE, TRUE, data_set); rsc 3459 lib/pacemaker/pcmk_sched_native.c custom_action_order(NULL, NULL, reload, rsc, stop_key(rsc), NULL, rsc 3462 lib/pacemaker/pcmk_sched_native.c custom_action_order(NULL, NULL, reload, rsc, demote_key(rsc), NULL, rsc 3468 lib/pacemaker/pcmk_sched_native.c native_append_meta(pe_resource_t * rsc, xmlNode * xml) rsc 3470 lib/pacemaker/pcmk_sched_native.c char *value = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INCARNATION); rsc 3481 lib/pacemaker/pcmk_sched_native.c value = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_REMOTE_NODE); rsc 3490 lib/pacemaker/pcmk_sched_native.c for (parent = rsc; parent != NULL; parent = parent->parent) { rsc 15 lib/pacemaker/pcmk_sched_notif.c pe_resource_t *rsc; rsc 36 lib/pacemaker/pcmk_sched_notif.c if (entry_a->rsc == NULL && entry_b->rsc == NULL) { rsc 39 lib/pacemaker/pcmk_sched_notif.c if (entry_a->rsc == NULL) { rsc 42 lib/pacemaker/pcmk_sched_notif.c if (entry_b->rsc == NULL) { rsc 46 lib/pacemaker/pcmk_sched_notif.c tmp = strcmp(entry_a->rsc->id, entry_b->rsc->id); rsc 69 lib/pacemaker/pcmk_sched_notif.c dup->rsc = entry->rsc; rsc 160 lib/pacemaker/pcmk_sched_notif.c CRM_LOG_ASSERT((entry != NULL) && (entry->rsc != NULL) rsc 161 lib/pacemaker/pcmk_sched_notif.c && (entry->rsc->id != NULL)); rsc 162 lib/pacemaker/pcmk_sched_notif.c if ((entry == NULL) || (entry->rsc == NULL) rsc 163 lib/pacemaker/pcmk_sched_notif.c || (entry->rsc->id == NULL)) { rsc 174 lib/pacemaker/pcmk_sched_notif.c if (pcmk__str_eq(entry->rsc->id, last_rsc_id, pcmk__str_none)) { rsc 177 lib/pacemaker/pcmk_sched_notif.c last_rsc_id = entry->rsc->id; rsc 178 lib/pacemaker/pcmk_sched_notif.c pcmk__add_word(rsc_list, &rsc_list_len, entry->rsc->id); rsc 204 lib/pacemaker/pcmk_sched_notif.c pe_notify(pe_resource_t * rsc, pe_node_t * node, pe_action_t * op, pe_action_t * confirm, rsc 213 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Op=%p confirm=%p", op, confirm); rsc 217 lib/pacemaker/pcmk_sched_notif.c CRM_CHECK(rsc != NULL, return NULL); rsc 221 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Skipping notification for %s: node offline", rsc->id); rsc 224 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Skipping notification for %s: not runnable", op->uuid); rsc 231 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Creating notify actions for %s: %s (%s-%s)", op->uuid, rsc->id, value, task); rsc 233 lib/pacemaker/pcmk_sched_notif.c key = pcmk__notify_key(rsc->id, value, task); rsc 234 lib/pacemaker/pcmk_sched_notif.c trigger = custom_action(rsc, key, op->task, node, rsc 241 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Ordering %s before %s (%d->%d)", op->uuid, trigger->uuid, trigger->id, rsc 250 lib/pacemaker/pcmk_sched_notif.c pe_post_notify(pe_resource_t * rsc, pe_node_t * node, notify_data_t * n_data, pe_working_set_t * data_set) rsc 254 lib/pacemaker/pcmk_sched_notif.c CRM_CHECK(rsc != NULL, return); rsc 260 lib/pacemaker/pcmk_sched_notif.c notify = pe_notify(rsc, node, n_data->post, n_data->post_done, n_data, data_set); rsc 267 lib/pacemaker/pcmk_sched_notif.c GListPtr gIter = rsc->actions; rsc 275 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Skipping %s: interval", mon->uuid); rsc 278 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Skipping %s: cancel", mon->uuid); rsc 288 lib/pacemaker/pcmk_sched_notif.c create_notification_boundaries(pe_resource_t * rsc, const char *action, pe_action_t * start, rsc 303 lib/pacemaker/pcmk_sched_notif.c if (!pcmk_is_set(rsc->flags, pe_rsc_notify)) { rsc 312 lib/pacemaker/pcmk_sched_notif.c key = pcmk__notify_key(rsc->id, "pre", start->task); rsc 314 lib/pacemaker/pcmk_sched_notif.c custom_action(rsc, key, RSC_NOTIFY, NULL, rsc 329 lib/pacemaker/pcmk_sched_notif.c key = pcmk__notify_key(rsc->id, "confirmed-pre", start->task); rsc 330 lib/pacemaker/pcmk_sched_notif.c n_data->pre_done = custom_action(rsc, key, RSC_NOTIFIED, NULL, rsc 351 lib/pacemaker/pcmk_sched_notif.c key = pcmk__notify_key(rsc->id, "post", end->task); rsc 352 lib/pacemaker/pcmk_sched_notif.c n_data->post = custom_action(rsc, key, RSC_NOTIFY, NULL, rsc 374 lib/pacemaker/pcmk_sched_notif.c key = pcmk__notify_key(rsc->id, "confirmed-post", end->task); rsc 375 lib/pacemaker/pcmk_sched_notif.c n_data->post_done = custom_action(rsc, key, RSC_NOTIFIED, NULL, rsc 407 lib/pacemaker/pcmk_sched_notif.c collect_notification_data(pe_resource_t * rsc, gboolean state, gboolean activity, rsc 412 lib/pacemaker/pcmk_sched_notif.c n_data->allowed_nodes = rsc->allowed_nodes; rsc 415 lib/pacemaker/pcmk_sched_notif.c if (rsc->children) { rsc 416 lib/pacemaker/pcmk_sched_notif.c GListPtr gIter = rsc->children; rsc 430 lib/pacemaker/pcmk_sched_notif.c entry->rsc = rsc; rsc 431 lib/pacemaker/pcmk_sched_notif.c if (rsc->running_on) { rsc 433 lib/pacemaker/pcmk_sched_notif.c entry->node = rsc->running_on->data; rsc 436 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "%s state: %s", rsc->id, role2text(rsc->role)); rsc 438 lib/pacemaker/pcmk_sched_notif.c switch (rsc->role) { rsc 466 lib/pacemaker/pcmk_sched_notif.c GListPtr gIter = rsc->actions; rsc 484 lib/pacemaker/pcmk_sched_notif.c entry->rsc = rsc; rsc 526 lib/pacemaker/pcmk_sched_notif.c pcmk__create_notification_keys(pe_resource_t *rsc, rsc 596 lib/pacemaker/pcmk_sched_notif.c source = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET); rsc 643 lib/pacemaker/pcmk_sched_notif.c create_notifications(pe_resource_t * rsc, notify_data_t * n_data, pe_working_set_t * data_set) rsc 650 lib/pacemaker/pcmk_sched_notif.c if (rsc->children) { rsc 651 lib/pacemaker/pcmk_sched_notif.c gIter = rsc->children; rsc 662 lib/pacemaker/pcmk_sched_notif.c for (gIter = rsc->actions; gIter != NULL; gIter = gIter->next) { rsc 686 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Skipping empty notification for: %s.%s (%s->%s)", rsc 687 lib/pacemaker/pcmk_sched_notif.c n_data->action, rsc->id, role2text(rsc->role), role2text(rsc->next_role)); rsc 693 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Skipping empty notification for: %s.%s (%s->%s)", rsc 694 lib/pacemaker/pcmk_sched_notif.c n_data->action, rsc->id, role2text(rsc->role), role2text(rsc->next_role)); rsc 700 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Skipping empty notification for: %s.%s (%s->%s)", rsc 701 lib/pacemaker/pcmk_sched_notif.c n_data->action, rsc->id, role2text(rsc->role), role2text(rsc->next_role)); rsc 712 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Creating notifications for: %s.%s (%s->%s)", rsc 713 lib/pacemaker/pcmk_sched_notif.c n_data->action, rsc->id, role2text(rsc->role), role2text(rsc->next_role)); rsc 715 lib/pacemaker/pcmk_sched_notif.c stop = find_first_action(rsc->actions, NULL, RSC_STOP, NULL); rsc 716 lib/pacemaker/pcmk_sched_notif.c start = find_first_action(rsc->actions, NULL, RSC_START, NULL); rsc 719 lib/pacemaker/pcmk_sched_notif.c if (rsc->role != RSC_ROLE_STOPPED) { rsc 721 lib/pacemaker/pcmk_sched_notif.c gIter = rsc->running_on; rsc 734 lib/pacemaker/pcmk_sched_notif.c pe_notify(rsc, current_node, n_data->pre, n_data->pre_done, n_data, data_set); rsc 737 lib/pacemaker/pcmk_sched_notif.c pe_post_notify(rsc, current_node, n_data, data_set); rsc 744 lib/pacemaker/pcmk_sched_notif.c if (rsc->next_role != RSC_ROLE_STOPPED) { rsc 745 lib/pacemaker/pcmk_sched_notif.c if (rsc->allocated_to == NULL) { rsc 746 lib/pacemaker/pcmk_sched_notif.c pe_proc_err("Next role '%s' but %s is not allocated", role2text(rsc->next_role), rsc 747 lib/pacemaker/pcmk_sched_notif.c rsc->id); rsc 767 lib/pacemaker/pcmk_sched_notif.c pe_notify(rsc, rsc->allocated_to, n_data->pre, n_data->pre_done, n_data, data_set); rsc 769 lib/pacemaker/pcmk_sched_notif.c pe_post_notify(rsc, rsc->allocated_to, n_data, data_set); rsc 794 lib/pacemaker/pcmk_sched_notif.c create_secondary_notification(pe_action_t *action, pe_resource_t *rsc, rsc 801 lib/pacemaker/pcmk_sched_notif.c n_data = create_notification_boundaries(rsc, RSC_STOP, NULL, stonith_op, rsc 803 lib/pacemaker/pcmk_sched_notif.c collect_notification_data(rsc, TRUE, FALSE, n_data); rsc 804 lib/pacemaker/pcmk_sched_notif.c add_notify_env(n_data, "notify_stop_resource", rsc->id); rsc 806 lib/pacemaker/pcmk_sched_notif.c create_notifications(uber_parent(rsc), n_data, data_set); rsc 22 lib/pacemaker/pcmk_sched_promotable.c pe_resource_t * rsc, pe_resource_t * child, pe_resource_t * last, rsc 27 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Ordered version (last node)"); rsc 29 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(last, RSC_PROMOTE, rsc, RSC_PROMOTED, type, data_set); rsc 35 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(child, RSC_PROMOTE, rsc, RSC_PROMOTED, type, data_set); rsc 38 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(rsc, RSC_PROMOTE, child, RSC_PROMOTE, type, data_set); rsc 41 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Ordered version"); rsc 44 lib/pacemaker/pcmk_sched_promotable.c last = rsc; rsc 52 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Un-ordered version"); rsc 58 lib/pacemaker/pcmk_sched_promotable.c pe_resource_t * rsc, pe_resource_t * child, pe_resource_t * last, rsc 63 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Ordered version (last node)"); rsc 65 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(rsc, RSC_DEMOTE, last, RSC_DEMOTE, pe_order_optional, data_set); rsc 71 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(child, RSC_DEMOTE, rsc, RSC_DEMOTED, pe_order_implies_then_printed, data_set); rsc 74 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(rsc, RSC_DEMOTE, child, RSC_DEMOTE, pe_order_implies_first_printed, data_set); rsc 77 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Ordered version"); rsc 83 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Ordered version (1st node)"); rsc 85 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(child, RSC_DEMOTE, rsc, RSC_DEMOTED, type, data_set); rsc 88 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Un-ordered version"); rsc 93 lib/pacemaker/pcmk_sched_promotable.c check_promotable_actions(pe_resource_t *rsc, gboolean *demoting, rsc 98 lib/pacemaker/pcmk_sched_promotable.c if (rsc->children) { rsc 99 lib/pacemaker/pcmk_sched_promotable.c gIter = rsc->children; rsc 111 lib/pacemaker/pcmk_sched_promotable.c gIter = rsc->actions; rsc 162 lib/pacemaker/pcmk_sched_promotable.c can_be_master(pe_resource_t * rsc) rsc 166 lib/pacemaker/pcmk_sched_promotable.c pe_resource_t *parent = uber_parent(rsc); rsc 172 lib/pacemaker/pcmk_sched_promotable.c role = rsc->fns->state(rsc, FALSE); rsc 173 lib/pacemaker/pcmk_sched_promotable.c crm_info("%s role: %s", rsc->id, role2text(role)); rsc 176 lib/pacemaker/pcmk_sched_promotable.c if (rsc->children) { rsc 177 lib/pacemaker/pcmk_sched_promotable.c GListPtr gIter = rsc->children; rsc 183 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Child %s of %s can't be promoted", child->id, rsc->id); rsc 189 lib/pacemaker/pcmk_sched_promotable.c node = rsc->fns->location(rsc, NULL, FALSE); rsc 191 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "%s cannot be master: not allocated", rsc->id); rsc 194 lib/pacemaker/pcmk_sched_promotable.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 195 lib/pacemaker/pcmk_sched_promotable.c if (rsc->fns->state(rsc, TRUE) == RSC_ROLE_MASTER) { rsc 197 lib/pacemaker/pcmk_sched_promotable.c rsc->id, node->details->uname); rsc 203 lib/pacemaker/pcmk_sched_promotable.c } else if (rsc->priority < 0) { rsc 204 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "%s cannot be master: preference: %d", rsc->id, rsc->priority); rsc 216 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "%s cannot be promoted: guest %s not allocated", rsc 217 lib/pacemaker/pcmk_sched_promotable.c rsc->id, node->details->remote_rsc->container->id); rsc 225 lib/pacemaker/pcmk_sched_promotable.c crm_err("%s cannot run on %s: node not allowed", rsc->id, node->details->uname); rsc 229 lib/pacemaker/pcmk_sched_promotable.c || !pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 233 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "%s cannot be master on %s: node full", rsc->id, node->details->uname); rsc 274 lib/pacemaker/pcmk_sched_promotable.c promotion_order(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 283 lib/pacemaker/pcmk_sched_promotable.c get_clone_variant_data(clone_data, rsc); rsc 289 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Merging weights for %s", rsc->id); rsc 290 lib/pacemaker/pcmk_sched_promotable.c pe__set_resource_flags(rsc, pe_rsc_merging); rsc 292 lib/pacemaker/pcmk_sched_promotable.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 295 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Sort index: %s = %d", child->id, child->sort_index); rsc 297 lib/pacemaker/pcmk_sched_promotable.c pe__show_node_weights(true, rsc, "Before", rsc->allowed_nodes); rsc 299 lib/pacemaker/pcmk_sched_promotable.c gIter = rsc->children; rsc 305 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Skipping %s", child->id); rsc 309 lib/pacemaker/pcmk_sched_promotable.c node = (pe_node_t *) pe_hash_table_lookup(rsc->allowed_nodes, chosen->details->id); rsc 313 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Adding %s to %s from %s", score, rsc 318 lib/pacemaker/pcmk_sched_promotable.c pe__show_node_weights(true, rsc, "Middle", rsc->allowed_nodes); rsc 320 lib/pacemaker/pcmk_sched_promotable.c gIter = rsc->rsc_cons; rsc 334 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "RHS: %s with %s: %d", constraint->rsc_lh->id, constraint->rsc_rh->id, rsc 336 lib/pacemaker/pcmk_sched_promotable.c rsc->allowed_nodes = rsc 337 lib/pacemaker/pcmk_sched_promotable.c constraint->rsc_rh->cmds->merge_weights(constraint->rsc_rh, rsc->id, rsc 338 lib/pacemaker/pcmk_sched_promotable.c rsc->allowed_nodes, rsc 344 lib/pacemaker/pcmk_sched_promotable.c gIter = rsc->rsc_cons_lhs; rsc 356 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "LHS: %s with %s: %d", constraint->rsc_lh->id, constraint->rsc_rh->id, rsc 358 lib/pacemaker/pcmk_sched_promotable.c rsc->allowed_nodes = rsc 359 lib/pacemaker/pcmk_sched_promotable.c constraint->rsc_lh->cmds->merge_weights(constraint->rsc_lh, rsc->id, rsc 360 lib/pacemaker/pcmk_sched_promotable.c rsc->allowed_nodes, rsc 368 lib/pacemaker/pcmk_sched_promotable.c gIter = rsc->rsc_tickets; rsc 374 lib/pacemaker/pcmk_sched_promotable.c resource_location(rsc, NULL, -INFINITY, "__stateful_without_ticket__", data_set); rsc 378 lib/pacemaker/pcmk_sched_promotable.c pe__show_node_weights(true, rsc, "After", rsc->allowed_nodes); rsc 382 lib/pacemaker/pcmk_sched_promotable.c gIter = rsc->children; rsc 392 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "%s: %d", child->id, child->sort_index); rsc 395 lib/pacemaker/pcmk_sched_promotable.c node = (pe_node_t *) pe_hash_table_lookup(rsc->allowed_nodes, chosen->details->id); rsc 400 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Set sort index: %s = %d", child->id, child->sort_index); rsc 403 lib/pacemaker/pcmk_sched_promotable.c rsc->children = g_list_sort_with_data(rsc->children, rsc 405 lib/pacemaker/pcmk_sched_promotable.c pe__clear_resource_flags(rsc, pe_rsc_merging); rsc 409 lib/pacemaker/pcmk_sched_promotable.c filter_anonymous_instance(pe_resource_t *rsc, const pe_node_t *node) rsc 412 lib/pacemaker/pcmk_sched_promotable.c char *key = clone_strip(rsc->id); rsc 413 lib/pacemaker/pcmk_sched_promotable.c pe_resource_t *parent = uber_parent(rsc); rsc 422 lib/pacemaker/pcmk_sched_promotable.c if(rsc == active) { rsc 423 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Found %s for %s active on %s: done", active->id, key, node->details->uname); rsc 427 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Found %s for %s on %s: not %s", active->id, key, node->details->uname, rsc->id); rsc 431 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "%s on %s: not active", key, node->details->uname); rsc 446 lib/pacemaker/pcmk_sched_promotable.c rsc = parent->fns->find_rsc(child, key, NULL, pe_find_clone); rsc 447 lib/pacemaker/pcmk_sched_promotable.c CRM_LOG_ASSERT(rsc); rsc 448 lib/pacemaker/pcmk_sched_promotable.c if(rsc) { rsc 449 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Checking %s for %s on %s", rsc->id, key, node->details->uname); rsc 450 lib/pacemaker/pcmk_sched_promotable.c if (g_hash_table_lookup(rsc->known_on, node->details->id)) { rsc 461 lib/pacemaker/pcmk_sched_promotable.c lookup_promotion_score(pe_resource_t *rsc, const pe_node_t *node, const char *name) rsc 468 lib/pacemaker/pcmk_sched_promotable.c attr_value = pe_node_attribute_calculated(node, attr_name, rsc); rsc 475 lib/pacemaker/pcmk_sched_promotable.c promotion_score(pe_resource_t *rsc, const pe_node_t *node, int not_set_value) rsc 477 lib/pacemaker/pcmk_sched_promotable.c char *name = rsc->id; rsc 484 lib/pacemaker/pcmk_sched_promotable.c if (rsc->children) { rsc 485 lib/pacemaker/pcmk_sched_promotable.c GListPtr gIter = rsc->children; rsc 500 lib/pacemaker/pcmk_sched_promotable.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique) rsc 501 lib/pacemaker/pcmk_sched_promotable.c && filter_anonymous_instance(rsc, node)) { rsc 503 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Anonymous clone %s is allowed on %s", rsc->id, node->details->uname); rsc 505 lib/pacemaker/pcmk_sched_promotable.c } else if (rsc->running_on || g_hash_table_size(rsc->known_on)) { rsc 512 lib/pacemaker/pcmk_sched_promotable.c pe_node_t *known = pe_hash_table_lookup(rsc->known_on, node->details->id); rsc 514 lib/pacemaker/pcmk_sched_promotable.c match = pe_find_node_id(rsc->running_on, node->details->id); rsc 516 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "skipping %s (aka. %s) promotion score on %s because inactive", rsc 517 lib/pacemaker/pcmk_sched_promotable.c rsc->id, rsc->clone_name, node->details->uname); rsc 522 lib/pacemaker/pcmk_sched_promotable.c match = pe_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 527 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "%s on %s has score: %d - ignoring", rsc 528 lib/pacemaker/pcmk_sched_promotable.c rsc->id, match->details->uname, match->weight); rsc 532 lib/pacemaker/pcmk_sched_promotable.c if (rsc->clone_name) { rsc 536 lib/pacemaker/pcmk_sched_promotable.c name = rsc->clone_name; rsc 539 lib/pacemaker/pcmk_sched_promotable.c attr_value = lookup_promotion_score(rsc, node, name); rsc 540 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "promotion score for %s on %s = %s", rsc 543 lib/pacemaker/pcmk_sched_promotable.c if ((attr_value == NULL) && !pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 548 lib/pacemaker/pcmk_sched_promotable.c name = clone_strip(rsc->id); rsc 549 lib/pacemaker/pcmk_sched_promotable.c if (strcmp(rsc->id, name)) { rsc 550 lib/pacemaker/pcmk_sched_promotable.c attr_value = lookup_promotion_score(rsc, node, name); rsc 551 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "stripped promotion score for %s on %s = %s", rsc 565 lib/pacemaker/pcmk_sched_promotable.c apply_master_prefs(pe_resource_t *rsc) rsc 568 lib/pacemaker/pcmk_sched_promotable.c GListPtr gIter = rsc->children; rsc 571 lib/pacemaker/pcmk_sched_promotable.c get_clone_variant_data(clone_data, rsc); rsc 599 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "\t%s: Updating preference for %s (%d->%d)", rsc 607 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "\t%s: Updating priority (%d->%d)", rsc 616 lib/pacemaker/pcmk_sched_promotable.c set_role_slave(pe_resource_t * rsc, gboolean current) rsc 618 lib/pacemaker/pcmk_sched_promotable.c GListPtr gIter = rsc->children; rsc 621 lib/pacemaker/pcmk_sched_promotable.c if (rsc->role == RSC_ROLE_STARTED) { rsc 622 lib/pacemaker/pcmk_sched_promotable.c rsc->role = RSC_ROLE_SLAVE; rsc 628 lib/pacemaker/pcmk_sched_promotable.c rsc->fns->location(rsc, &allocated, FALSE); rsc 631 lib/pacemaker/pcmk_sched_promotable.c rsc->next_role = RSC_ROLE_SLAVE; rsc 634 lib/pacemaker/pcmk_sched_promotable.c rsc->next_role = RSC_ROLE_STOPPED; rsc 647 lib/pacemaker/pcmk_sched_promotable.c set_role_master(pe_resource_t * rsc) rsc 649 lib/pacemaker/pcmk_sched_promotable.c GListPtr gIter = rsc->children; rsc 651 lib/pacemaker/pcmk_sched_promotable.c if (rsc->next_role == RSC_ROLE_UNKNOWN) { rsc 652 lib/pacemaker/pcmk_sched_promotable.c rsc->next_role = RSC_ROLE_MASTER; rsc 663 lib/pacemaker/pcmk_sched_promotable.c pcmk__set_instance_roles(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 676 lib/pacemaker/pcmk_sched_promotable.c get_clone_variant_data(clone_data, rsc); rsc 679 lib/pacemaker/pcmk_sched_promotable.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 687 lib/pacemaker/pcmk_sched_promotable.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 691 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Assigning priority for %s: %s", child_rsc->id, rsc 738 lib/pacemaker/pcmk_sched_promotable.c apply_master_location(child_rsc, rsc->rsc_location, chosen); rsc 751 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Assigning priority for %s: %d", child_rsc->id, child_rsc->priority); rsc 758 lib/pacemaker/pcmk_sched_promotable.c pe__show_node_weights(true, rsc, "Pre merge", rsc->allowed_nodes); rsc 759 lib/pacemaker/pcmk_sched_promotable.c promotion_order(rsc, data_set); rsc 763 lib/pacemaker/pcmk_sched_promotable.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 776 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "%s promotion score on %s: %s", child_rsc->id, rsc 785 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Not supposed to promote child: %s", child_rsc->id); rsc 788 lib/pacemaker/pcmk_sched_promotable.c || !pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 792 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_debug(rsc, "%s promotion score: %d", child_rsc->id, child_rsc->priority); rsc 808 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_info(rsc, "Promoting %s (%s %s)", rsc 814 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_info(rsc, "%s: Promoted %d instances of a possible %d to master", rsc 815 lib/pacemaker/pcmk_sched_promotable.c rsc->id, promoted, clone_data->promoted_max); rsc 821 lib/pacemaker/pcmk_sched_promotable.c create_promotable_actions(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 824 lib/pacemaker/pcmk_sched_promotable.c GListPtr gIter = rsc->children; rsc 833 lib/pacemaker/pcmk_sched_promotable.c get_clone_variant_data(clone_data, rsc); rsc 835 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_debug(rsc, "Creating actions for %s", rsc->id); rsc 842 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Creating actions for %s", child_rsc->id); rsc 848 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Created actions for %s: %d %d", child_rsc->id, child_promoting, rsc 853 lib/pacemaker/pcmk_sched_promotable.c action = create_pseudo_resource_op(rsc, RSC_PROMOTE, !any_promoting, TRUE, data_set); rsc 854 lib/pacemaker/pcmk_sched_promotable.c action_complete = create_pseudo_resource_op(rsc, RSC_PROMOTED, !any_promoting, TRUE, data_set); rsc 858 lib/pacemaker/pcmk_sched_promotable.c rsc, NULL, last_promote_rsc, data_set); rsc 862 lib/pacemaker/pcmk_sched_promotable.c create_notification_boundaries(rsc, RSC_PROMOTE, action, action_complete, data_set); rsc 866 lib/pacemaker/pcmk_sched_promotable.c action = create_pseudo_resource_op(rsc, RSC_DEMOTE, !any_demoting, TRUE, data_set); rsc 867 lib/pacemaker/pcmk_sched_promotable.c action_complete = create_pseudo_resource_op(rsc, RSC_DEMOTED, !any_demoting, TRUE, data_set); rsc 870 lib/pacemaker/pcmk_sched_promotable.c child_demoting_constraints(clone_data, pe_order_optional, rsc, NULL, last_demote_rsc, data_set); rsc 874 lib/pacemaker/pcmk_sched_promotable.c create_notification_boundaries(rsc, RSC_DEMOTE, action, action_complete, data_set); rsc 895 lib/pacemaker/pcmk_sched_promotable.c gIter = rsc->children; rsc 899 lib/pacemaker/pcmk_sched_promotable.c child_rsc->priority = rsc->priority; rsc 904 lib/pacemaker/pcmk_sched_promotable.c promote_demote_constraints(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 907 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(rsc, RSC_STOPPED, rsc, RSC_START, pe_order_optional, data_set); rsc 910 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(rsc, RSC_STOPPED, rsc, RSC_PROMOTE, pe_order_optional, data_set); rsc 913 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(rsc, RSC_DEMOTED, rsc, RSC_START, pe_order_optional, data_set); rsc 916 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(rsc, RSC_STARTED, rsc, RSC_PROMOTE, pe_order_optional, data_set); rsc 919 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(rsc, RSC_DEMOTED, rsc, RSC_STOP, pe_order_optional, data_set); rsc 922 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(rsc, RSC_DEMOTE, rsc, RSC_DEMOTED, pe_order_optional, data_set); rsc 925 lib/pacemaker/pcmk_sched_promotable.c new_rsc_order(rsc, RSC_DEMOTED, rsc, RSC_PROMOTE, pe_order_optional, data_set); rsc 930 lib/pacemaker/pcmk_sched_promotable.c promotable_constraints(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 932 lib/pacemaker/pcmk_sched_promotable.c GListPtr gIter = rsc->children; rsc 936 lib/pacemaker/pcmk_sched_promotable.c get_clone_variant_data(clone_data, rsc); rsc 938 lib/pacemaker/pcmk_sched_promotable.c promote_demote_constraints(rsc, data_set); rsc 947 lib/pacemaker/pcmk_sched_promotable.c rsc, child_rsc, last_rsc, data_set); rsc 950 lib/pacemaker/pcmk_sched_promotable.c rsc, child_rsc, last_rsc, data_set); rsc 546 lib/pacemaker/pcmk_sched_transition.c pe_resource_t *rsc = NULL; rsc 562 lib/pacemaker/pcmk_sched_transition.c rsc = pe_find_resource(data_set->resources, resource); rsc 563 lib/pacemaker/pcmk_sched_transition.c if (rsc == NULL) { rsc 566 lib/pacemaker/pcmk_sched_transition.c rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 567 lib/pacemaker/pcmk_sched_transition.c rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 568 lib/pacemaker/pcmk_sched_transition.c rprovider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 757 lib/pacemaker/pcmk_sched_transition.c xmlNode *rsc = first_named_child(action->xml, XML_CIB_TAG_RESOURCE); rsc 761 lib/pacemaker/pcmk_sched_transition.c if(rsc) { rsc 762 lib/pacemaker/pcmk_sched_transition.c quiet_log(" * Cluster action: %s for %s on %s\n", task, ID(rsc), node); rsc 14 lib/pacemaker/pcmk_sched_utilization.c static GListPtr find_colocated_rscs(GListPtr colocated_rscs, pe_resource_t * rsc, rsc 17 lib/pacemaker/pcmk_sched_utilization.c static GListPtr group_find_colocated_rscs(GListPtr colocated_rscs, pe_resource_t * rsc, rsc 20 lib/pacemaker/pcmk_sched_utilization.c static void group_add_unallocated_utilization(GHashTable * all_utilization, pe_resource_t * rsc, rsc 167 lib/pacemaker/pcmk_sched_utilization.c native_add_unallocated_utilization(GHashTable * all_utilization, pe_resource_t * rsc) rsc 169 lib/pacemaker/pcmk_sched_utilization.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 173 lib/pacemaker/pcmk_sched_utilization.c calculate_utilization(all_utilization, rsc->utilization, TRUE); rsc 177 lib/pacemaker/pcmk_sched_utilization.c add_unallocated_utilization(GHashTable * all_utilization, pe_resource_t * rsc, rsc 180 lib/pacemaker/pcmk_sched_utilization.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 184 lib/pacemaker/pcmk_sched_utilization.c if (rsc->variant == pe_native) { rsc 186 lib/pacemaker/pcmk_sched_utilization.c orig_rsc->id, rsc->id); rsc 187 lib/pacemaker/pcmk_sched_utilization.c native_add_unallocated_utilization(all_utilization, rsc); rsc 189 lib/pacemaker/pcmk_sched_utilization.c } else if (rsc->variant == pe_group) { rsc 191 lib/pacemaker/pcmk_sched_utilization.c orig_rsc->id, rsc->id); rsc 192 lib/pacemaker/pcmk_sched_utilization.c group_add_unallocated_utilization(all_utilization, rsc, all_rscs); rsc 194 lib/pacemaker/pcmk_sched_utilization.c } else if (pe_rsc_is_clone(rsc)) { rsc 199 lib/pacemaker/pcmk_sched_utilization.c gIter1 = rsc->children; rsc 225 lib/pacemaker/pcmk_sched_utilization.c if (!existing && (rsc->children != NULL)) { rsc 226 lib/pacemaker/pcmk_sched_utilization.c pe_resource_t *first_child = (pe_resource_t *) rsc->children->data; rsc 236 lib/pacemaker/pcmk_sched_utilization.c sum_unallocated_utilization(pe_resource_t * rsc, GListPtr colocated_rscs) rsc 243 lib/pacemaker/pcmk_sched_utilization.c if (g_list_find(all_rscs, rsc) == FALSE) { rsc 244 lib/pacemaker/pcmk_sched_utilization.c all_rscs = g_list_append(all_rscs, rsc); rsc 254 lib/pacemaker/pcmk_sched_utilization.c pe_rsc_trace(rsc, "%s: Processing unallocated colocated %s", rsc->id, listed_rsc->id); rsc 255 lib/pacemaker/pcmk_sched_utilization.c add_unallocated_utilization(all_utilization, listed_rsc, all_rscs, rsc); rsc 264 lib/pacemaker/pcmk_sched_utilization.c find_colocated_rscs(GListPtr colocated_rscs, pe_resource_t * rsc, pe_resource_t * orig_rsc) rsc 268 lib/pacemaker/pcmk_sched_utilization.c if (rsc == NULL) { rsc 271 lib/pacemaker/pcmk_sched_utilization.c } else if (g_list_find(colocated_rscs, rsc)) { rsc 275 lib/pacemaker/pcmk_sched_utilization.c crm_trace("%s: %s is supposed to be colocated with %s", orig_rsc->id, rsc->id, orig_rsc->id); rsc 276 lib/pacemaker/pcmk_sched_utilization.c colocated_rscs = g_list_append(colocated_rscs, rsc); rsc 278 lib/pacemaker/pcmk_sched_utilization.c for (gIter = rsc->rsc_cons; gIter != NULL; gIter = gIter->next) { rsc 288 lib/pacemaker/pcmk_sched_utilization.c && filter_colocation_constraint(rsc, rsc_rh, constraint, TRUE) == influence_rsc_location) { rsc 300 lib/pacemaker/pcmk_sched_utilization.c for (gIter = rsc->rsc_cons_lhs; gIter != NULL; gIter = gIter->next) { rsc 309 lib/pacemaker/pcmk_sched_utilization.c if (pe_rsc_is_clone(rsc_lh) == FALSE && pe_rsc_is_clone(rsc)) { rsc 315 lib/pacemaker/pcmk_sched_utilization.c && filter_colocation_constraint(rsc_lh, rsc, constraint, TRUE) == influence_rsc_location) { rsc 331 lib/pacemaker/pcmk_sched_utilization.c process_utilization(pe_resource_t * rsc, pe_node_t ** prefer, pe_working_set_t * data_set) rsc 333 lib/pacemaker/pcmk_sched_utilization.c CRM_CHECK(rsc && prefer && data_set, return); rsc 340 lib/pacemaker/pcmk_sched_utilization.c colocated_rscs = find_colocated_rscs(colocated_rscs, rsc, rsc); rsc 344 lib/pacemaker/pcmk_sched_utilization.c rsc->id); rsc 347 lib/pacemaker/pcmk_sched_utilization.c unallocated_utilization = sum_unallocated_utilization(rsc, colocated_rscs); rsc 349 lib/pacemaker/pcmk_sched_utilization.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 367 lib/pacemaker/pcmk_sched_utilization.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 374 lib/pacemaker/pcmk_sched_utilization.c pe_rsc_debug(rsc, rsc 377 lib/pacemaker/pcmk_sched_utilization.c rsc->id, node->details->uname); rsc 378 lib/pacemaker/pcmk_sched_utilization.c resource_location(rsc, node, -INFINITY, "__limit_utilization__", data_set); rsc 395 lib/pacemaker/pcmk_sched_utilization.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 401 lib/pacemaker/pcmk_sched_utilization.c if (have_enough_capacity(node, rsc->id, rsc->utilization) == FALSE) { rsc 402 lib/pacemaker/pcmk_sched_utilization.c pe_rsc_debug(rsc, rsc 405 lib/pacemaker/pcmk_sched_utilization.c rsc->id, node->details->uname); rsc 406 lib/pacemaker/pcmk_sched_utilization.c resource_location(rsc, node, -INFINITY, "__limit_utilization__", data_set); rsc 410 lib/pacemaker/pcmk_sched_utilization.c pe__show_node_weights(true, rsc, "Post-utilization", rsc->allowed_nodes); rsc 418 lib/pacemaker/pcmk_sched_utilization.c group_find_colocated_rscs(GListPtr colocated_rscs, pe_resource_t * rsc, pe_resource_t * orig_rsc) rsc 422 lib/pacemaker/pcmk_sched_utilization.c get_group_variant_data(group_data, rsc); rsc 423 lib/pacemaker/pcmk_sched_utilization.c if (group_data->colocated || pe_rsc_is_clone(rsc->parent)) { rsc 424 lib/pacemaker/pcmk_sched_utilization.c GListPtr gIter = rsc->children; rsc 438 lib/pacemaker/pcmk_sched_utilization.c colocated_rscs = find_colocated_rscs(colocated_rscs, rsc, orig_rsc); rsc 444 lib/pacemaker/pcmk_sched_utilization.c group_add_unallocated_utilization(GHashTable * all_utilization, pe_resource_t * rsc, rsc 449 lib/pacemaker/pcmk_sched_utilization.c get_group_variant_data(group_data, rsc); rsc 450 lib/pacemaker/pcmk_sched_utilization.c if (group_data->colocated || pe_rsc_is_clone(rsc->parent)) { rsc 451 lib/pacemaker/pcmk_sched_utilization.c GListPtr gIter = rsc->children; rsc 17 lib/pacemaker/pcmk_sched_utils.c rsc2node_new(const char *id, pe_resource_t *rsc, rsc 23 lib/pacemaker/pcmk_sched_utils.c if (rsc == NULL || id == NULL) { rsc 24 lib/pacemaker/pcmk_sched_utils.c pe_err("Invalid constraint %s for rsc=%p", crm_str(id), rsc); rsc 34 lib/pacemaker/pcmk_sched_utils.c new_con->rsc_lh = rsc; rsc 45 lib/pacemaker/pcmk_sched_utils.c rsc->exclusive_discover = TRUE; rsc 58 lib/pacemaker/pcmk_sched_utils.c rsc->rsc_location = g_list_prepend(rsc->rsc_location, new_con); rsc 253 lib/pacemaker/pcmk_sched_utils.c native_deallocate(pe_resource_t * rsc) rsc 255 lib/pacemaker/pcmk_sched_utils.c if (rsc->allocated_to) { rsc 256 lib/pacemaker/pcmk_sched_utils.c pe_node_t *old = rsc->allocated_to; rsc 258 lib/pacemaker/pcmk_sched_utils.c crm_info("Deallocating %s from %s", rsc->id, old->details->uname); rsc 259 lib/pacemaker/pcmk_sched_utils.c pe__set_resource_flags(rsc, pe_rsc_provisional); rsc 260 lib/pacemaker/pcmk_sched_utils.c rsc->allocated_to = NULL; rsc 262 lib/pacemaker/pcmk_sched_utils.c old->details->allocated_rsc = g_list_remove(old->details->allocated_rsc, rsc); rsc 265 lib/pacemaker/pcmk_sched_utils.c calculate_utilization(old->details->utilization, rsc->utilization, TRUE); rsc 271 lib/pacemaker/pcmk_sched_utils.c native_assign_node(pe_resource_t * rsc, GListPtr nodes, pe_node_t * chosen, gboolean force) rsc 273 lib/pacemaker/pcmk_sched_utils.c CRM_ASSERT(rsc->variant == pe_native); rsc 289 lib/pacemaker/pcmk_sched_utils.c rsc->id, chosen->details->uname, can_run_resources(chosen), chosen->weight); rsc 290 lib/pacemaker/pcmk_sched_utils.c rsc->next_role = RSC_ROLE_STOPPED; rsc 299 lib/pacemaker/pcmk_sched_utils.c native_deallocate(rsc); rsc 300 lib/pacemaker/pcmk_sched_utils.c pe__clear_resource_flags(rsc, pe_rsc_provisional); rsc 306 lib/pacemaker/pcmk_sched_utils.c crm_debug("Could not allocate a node for %s", rsc->id); rsc 307 lib/pacemaker/pcmk_sched_utils.c rsc->next_role = RSC_ROLE_STOPPED; rsc 309 lib/pacemaker/pcmk_sched_utils.c for (gIter = rsc->actions; gIter != NULL; gIter = gIter->next) { rsc 339 lib/pacemaker/pcmk_sched_utils.c crm_debug("Assigning %s to %s", chosen->details->uname, rsc->id); rsc 340 lib/pacemaker/pcmk_sched_utils.c rsc->allocated_to = pe__copy_node(chosen); rsc 342 lib/pacemaker/pcmk_sched_utils.c chosen->details->allocated_rsc = g_list_prepend(chosen->details->allocated_rsc, rsc); rsc 345 lib/pacemaker/pcmk_sched_utils.c calculate_utilization(chosen->details->utilization, rsc->utilization, FALSE); rsc 347 lib/pacemaker/pcmk_sched_utils.c __func__, rsc, chosen); rsc 414 lib/pacemaker/pcmk_sched_utils.c (action->rsc? action->rsc->id : "<none>"), rsc 471 lib/pacemaker/pcmk_sched_utils.c create_pseudo_resource_op(pe_resource_t * rsc, const char *task, bool optional, bool runnable, pe_working_set_t *data_set) rsc 473 lib/pacemaker/pcmk_sched_utils.c pe_action_t *action = custom_action(rsc, pcmk__op_key(rsc->id, task, 0), rsc 496 lib/pacemaker/pcmk_sched_utils.c pe_cancel_op(pe_resource_t *rsc, const char *task, guint interval_ms, rsc 503 lib/pacemaker/pcmk_sched_utils.c char *key = pcmk__op_key(rsc->id, task, interval_ms); rsc 505 lib/pacemaker/pcmk_sched_utils.c cancel_op = custom_action(rsc, key, RSC_CANCEL, node, FALSE, TRUE, rsc 182 lib/pacemaker/pcmk_trans_graph.c return graph_fns->rsc(graph, action); rsc 65 lib/pacemaker/pcmk_trans_utils.c CRM_ASSERT(graph_fns->rsc != NULL); rsc 86 lib/pengine/bundle.c xmlNode *rsc = create_xml_node(NULL, XML_CIB_TAG_RESOURCE); rsc 88 lib/pengine/bundle.c crm_xml_add(rsc, XML_ATTR_ID, name); rsc 89 lib/pengine/bundle.c crm_xml_add(rsc, XML_AGENT_ATTR_CLASS, PCMK_RESOURCE_CLASS_OCF); rsc 90 lib/pengine/bundle.c crm_xml_add(rsc, XML_AGENT_ATTR_PROVIDER, provider); rsc 91 lib/pengine/bundle.c crm_xml_add(rsc, XML_ATTR_TYPE, kind); rsc 93 lib/pengine/bundle.c return rsc; rsc 683 lib/pengine/bundle.c disallow_node(pe_resource_t *rsc, const char *uname) rsc 685 lib/pengine/bundle.c gpointer match = g_hash_table_lookup(rsc->allowed_nodes, uname); rsc 691 lib/pengine/bundle.c if (rsc->children) { rsc 694 lib/pengine/bundle.c for (child = rsc->children; child != NULL; child = child->next) { rsc 957 lib/pengine/bundle.c pe__bundle_needs_remote_name(pe_resource_t *rsc) rsc 961 lib/pengine/bundle.c if (rsc == NULL) { rsc 965 lib/pengine/bundle.c value = g_hash_table_lookup(rsc->parameters, XML_RSC_ATTR_REMOTE_RA_ADDR); rsc 977 lib/pengine/bundle.c value = crm_element_value(rsc->xml, match[m][0]); rsc 987 lib/pengine/bundle.c pe__add_bundle_remote_name(pe_resource_t *rsc, xmlNode *xml, const char *field) rsc 994 lib/pengine/bundle.c if (!pe__bundle_needs_remote_name(rsc)) { rsc 998 lib/pengine/bundle.c replica = replica_for_remote(rsc); rsc 1012 lib/pengine/bundle.c crm_trace("Cannot determine address for bundle connection %s", rsc->id); rsc 1017 lib/pengine/bundle.c rsc->id, node->details->uname); rsc 1032 lib/pengine/bundle.c pe__unpack_bundle(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 1040 lib/pengine/bundle.c CRM_ASSERT(rsc != NULL); rsc 1041 lib/pengine/bundle.c pe_rsc_trace(rsc, "Processing resource %s...", rsc->id); rsc 1044 lib/pengine/bundle.c rsc->variant_opaque = bundle_data; rsc 1045 lib/pengine/bundle.c bundle_data->prefix = strdup(rsc->id); rsc 1047 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, PE__CONTAINER_AGENT_DOCKER_S); rsc 1051 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, PE__CONTAINER_AGENT_RKT_S); rsc 1055 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, PE__CONTAINER_AGENT_PODMAN_S); rsc 1072 lib/pengine/bundle.c XML_RSC_ATTR_PROMOTED_MAX, rsc->id); rsc 1083 lib/pengine/bundle.c pe_err("'replicas' for %s must be positive integer, using 1", rsc->id); rsc 1096 lib/pengine/bundle.c rsc->id); rsc 1100 lib/pengine/bundle.c pe__clear_resource_flags(rsc, pe_rsc_unique); rsc 1108 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, "network"); rsc 1145 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, "storage"); rsc 1170 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, "primitive"); rsc 1219 lib/pengine/bundle.c rsc->id, ID(xml_obj)); rsc 1232 lib/pengine/bundle.c if (common_unpack(xml_resource, &new_rsc, rsc, data_set) == FALSE) { rsc 1233 lib/pengine/bundle.c pe_err("Failed unpacking resource %s", ID(rsc->xml)); rsc 1312 lib/pengine/bundle.c g_hash_table_replace(rsc->meta, strdup(XML_RSC_ATTR_TARGET), rsc 1340 lib/pengine/bundle.c if (!create_container(rsc, bundle_data, replica, data_set)) { rsc 1341 lib/pengine/bundle.c pe_err("Failed unpacking resource %s", rsc->id); rsc 1342 lib/pengine/bundle.c rsc->fns->free(rsc); rsc 1348 lib/pengine/bundle.c rsc->children = g_list_append(rsc->children, bundle_data->child); rsc 1354 lib/pengine/bundle.c replica_resource_active(pe_resource_t *rsc, gboolean all) rsc 1356 lib/pengine/bundle.c if (rsc) { rsc 1357 lib/pengine/bundle.c gboolean child_active = rsc->fns->active(rsc, all); rsc 1369 lib/pengine/bundle.c pe__bundle_active(pe_resource_t *rsc, gboolean all) rsc 1374 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1436 lib/pengine/bundle.c print_rsc_in_list(pe_resource_t *rsc, const char *pre_text, long options, rsc 1439 lib/pengine/bundle.c if (rsc != NULL) { rsc 1443 lib/pengine/bundle.c rsc->fns->print(rsc, pre_text, options, print_data); rsc 1464 lib/pengine/bundle.c bundle_print_xml(pe_resource_t *rsc, const char *pre_text, long options, rsc 1469 lib/pengine/bundle.c CRM_CHECK(rsc != NULL, return); rsc 1476 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1479 lib/pengine/bundle.c status_print("id=\"%s\" ", rsc->id); rsc 1482 lib/pengine/bundle.c status_print("unique=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_unique)); rsc 1483 lib/pengine/bundle.c status_print("managed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_managed)); rsc 1484 lib/pengine/bundle.c status_print("failed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_failed)); rsc 1508 lib/pengine/bundle.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1517 lib/pengine/bundle.c CRM_ASSERT(rsc != NULL); rsc 1519 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1521 lib/pengine/bundle.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 1525 lib/pengine/bundle.c print_everything = pcmk__str_in_list(only_rsc, rsc->id); rsc 1555 lib/pengine/bundle.c "id", rsc->id, rsc 1558 lib/pengine/bundle.c "unique", pe__rsc_bool_str(rsc, pe_rsc_unique), rsc 1559 lib/pengine/bundle.c "managed", pe__rsc_bool_str(rsc, pe_rsc_managed), rsc 1560 lib/pengine/bundle.c "failed", pe__rsc_bool_str(rsc, pe_rsc_failed)); rsc 1602 lib/pengine/bundle.c pe_resource_t *rsc = replica->child; rsc 1607 lib/pengine/bundle.c if(rsc == NULL) { rsc 1608 lib/pengine/bundle.c rsc = replica->container; rsc 1623 lib/pengine/bundle.c pe__common_output_html(out, rsc, buffer, node, options); rsc 1631 lib/pengine/bundle.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1640 lib/pengine/bundle.c CRM_ASSERT(rsc != NULL); rsc 1642 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1644 lib/pengine/bundle.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 1648 lib/pengine/bundle.c print_everything = pcmk__str_in_list(only_rsc, rsc->id); rsc 1686 lib/pengine/bundle.c rsc->id, bundle_data->image, rsc 1687 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 1688 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); rsc 1725 lib/pengine/bundle.c rsc->id, bundle_data->image, rsc 1726 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 1727 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); rsc 1744 lib/pengine/bundle.c pe_resource_t *rsc = replica->child; rsc 1749 lib/pengine/bundle.c if(rsc == NULL) { rsc 1750 lib/pengine/bundle.c rsc = replica->container; rsc 1765 lib/pengine/bundle.c pe__common_output_text(out, rsc, buffer, node, options); rsc 1773 lib/pengine/bundle.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1781 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1783 lib/pengine/bundle.c CRM_ASSERT(rsc != NULL); rsc 1785 lib/pengine/bundle.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 1789 lib/pengine/bundle.c print_everything = pcmk__str_in_list(only_rsc, rsc->id); rsc 1822 lib/pengine/bundle.c rsc->id, bundle_data->image, rsc 1823 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 1824 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); rsc 1858 lib/pengine/bundle.c rsc->id, bundle_data->image, rsc 1859 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 1860 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); rsc 1876 lib/pengine/bundle.c pe_resource_t *rsc = replica->child; rsc 1881 lib/pengine/bundle.c if(rsc == NULL) { rsc 1882 lib/pengine/bundle.c rsc = replica->container; rsc 1898 lib/pengine/bundle.c common_print(rsc, pre_text, buffer, node, options, print_data); rsc 1902 lib/pengine/bundle.c pe__print_bundle(pe_resource_t *rsc, const char *pre_text, long options, rsc 1907 lib/pengine/bundle.c CRM_CHECK(rsc != NULL, return); rsc 1910 lib/pengine/bundle.c bundle_print_xml(rsc, pre_text, options, print_data); rsc 1914 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1922 lib/pengine/bundle.c rsc->id, bundle_data->image, rsc 1923 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 1924 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); rsc 2004 lib/pengine/bundle.c pe__free_bundle(pe_resource_t *rsc) rsc 2007 lib/pengine/bundle.c CRM_CHECK(rsc != NULL, return); rsc 2009 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 2010 lib/pengine/bundle.c pe_rsc_trace(rsc, "Freeing %s", rsc->id); rsc 2027 lib/pengine/bundle.c g_list_free(rsc->children); rsc 2034 lib/pengine/bundle.c common_free(rsc); rsc 2038 lib/pengine/bundle.c pe__bundle_resource_state(const pe_resource_t *rsc, gboolean current) rsc 2052 lib/pengine/bundle.c pe_bundle_replicas(const pe_resource_t *rsc) rsc 2054 lib/pengine/bundle.c if ((rsc == NULL) || (rsc->variant != pe_container)) { rsc 2059 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 2065 lib/pengine/bundle.c pe__count_bundle(pe_resource_t *rsc) rsc 2069 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 2089 lib/pengine/bundle.c pe__bundle_is_filtered(pe_resource_t *rsc, GListPtr only_rsc, gboolean check_parent) rsc 2094 lib/pengine/bundle.c if (pcmk__str_in_list(only_rsc, rsc_printable_id(rsc))) { rsc 2097 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 23 lib/pengine/clone.c pe__force_anon(const char *standard, pe_resource_t *rsc, const char *rid, rsc 26 lib/pengine/clone.c if (pe_rsc_is_clone(rsc)) { rsc 29 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 33 lib/pengine/clone.c rsc->id, standard, rid); rsc 42 lib/pengine/clone.c find_clone_instance(pe_resource_t * rsc, const char *sub_id, pe_working_set_t * data_set) rsc 49 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 53 lib/pengine/clone.c child = pe_find_resource(rsc->children, child_id); rsc 60 lib/pengine/clone.c pe__create_clone_child(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 69 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 86 lib/pengine/clone.c if (common_unpack(child_copy, &child_rsc, rsc, data_set) == FALSE) { rsc 96 lib/pengine/clone.c rsc->children = g_list_append(rsc->children, child_rsc); rsc 102 lib/pengine/clone.c pe_rsc_trace(rsc, "Added %s instance %s", rsc->id, child_rsc->id); rsc 112 lib/pengine/clone.c clone_unpack(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 116 lib/pengine/clone.c xmlNode *xml_obj = rsc->xml; rsc 119 lib/pengine/clone.c const char *ordered = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_ORDERED); rsc 120 lib/pengine/clone.c const char *max_clones = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INCARNATION_MAX); rsc 121 lib/pengine/clone.c const char *max_clones_node = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INCARNATION_NODEMAX); rsc 123 lib/pengine/clone.c pe_rsc_trace(rsc, "Processing resource %s...", rsc->id); rsc 126 lib/pengine/clone.c rsc->variant_opaque = clone_data; rsc 128 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 132 lib/pengine/clone.c promoted_max = g_hash_table_lookup(rsc->meta, rsc 136 lib/pengine/clone.c promoted_max = g_hash_table_lookup(rsc->meta, rsc 140 lib/pengine/clone.c promoted_node_max = g_hash_table_lookup(rsc->meta, rsc 144 lib/pengine/clone.c promoted_node_max = g_hash_table_lookup(rsc->meta, rsc 169 lib/pengine/clone.c if ((rsc->flags & pe_rsc_unique) == 0 && clone_data->clone_node_max > 1) { rsc 172 lib/pengine/clone.c "per node", rsc->id); rsc 176 lib/pengine/clone.c pe_rsc_trace(rsc, "Options for %s", rsc->id); rsc 177 lib/pengine/clone.c pe_rsc_trace(rsc, "\tClone max: %d", clone_data->clone_max); rsc 178 lib/pengine/clone.c pe_rsc_trace(rsc, "\tClone node max: %d", clone_data->clone_node_max); rsc 179 lib/pengine/clone.c pe_rsc_trace(rsc, "\tClone is unique: %s", rsc 180 lib/pengine/clone.c pe__rsc_bool_str(rsc, pe_rsc_unique)); rsc 181 lib/pengine/clone.c pe_rsc_trace(rsc, "\tClone is promotable: %s", rsc 182 lib/pengine/clone.c pe__rsc_bool_str(rsc, pe_rsc_promotable)); rsc 195 lib/pengine/clone.c pcmk__config_err("%s has nothing to clone", rsc->id); rsc 205 lib/pengine/clone.c if (g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_STICKINESS) == NULL) { rsc 206 lib/pengine/clone.c add_hash_param(rsc->meta, XML_RSC_ATTR_STICKINESS, "1"); rsc 212 lib/pengine/clone.c add_hash_param(rsc->meta, XML_RSC_ATTR_UNIQUE, rsc 213 lib/pengine/clone.c pe__rsc_bool_str(rsc, pe_rsc_unique)); rsc 219 lib/pengine/clone.c if (pe__create_clone_child(rsc, data_set) == NULL) { rsc 226 lib/pengine/clone.c if (pe__create_clone_child(rsc, data_set) == NULL) { rsc 232 lib/pengine/clone.c pe_rsc_trace(rsc, "Added %d children to resource %s...", clone_data->clone_max, rsc->id); rsc 237 lib/pengine/clone.c clone_active(pe_resource_t * rsc, gboolean all) rsc 239 lib/pengine/clone.c GListPtr gIter = rsc->children; rsc 285 lib/pengine/clone.c configured_role_str(pe_resource_t * rsc) rsc 287 lib/pengine/clone.c const char *target_role = g_hash_table_lookup(rsc->meta, rsc 290 lib/pengine/clone.c if ((target_role == NULL) && rsc->children && rsc->children->data) { rsc 291 lib/pengine/clone.c target_role = g_hash_table_lookup(((pe_resource_t*)rsc->children->data)->meta, rsc 298 lib/pengine/clone.c configured_role(pe_resource_t * rsc) rsc 300 lib/pengine/clone.c const char *target_role = configured_role_str(rsc); rsc 309 lib/pengine/clone.c clone_print_xml(pe_resource_t * rsc, const char *pre_text, long options, void *print_data) rsc 312 lib/pengine/clone.c const char *target_role = configured_role_str(rsc); rsc 313 lib/pengine/clone.c GListPtr gIter = rsc->children; rsc 316 lib/pengine/clone.c status_print("id=\"%s\" ", rsc->id); rsc 318 lib/pengine/clone.c pe__rsc_bool_str(rsc, pe_rsc_promotable)); rsc 319 lib/pengine/clone.c status_print("unique=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_unique)); rsc 320 lib/pengine/clone.c status_print("managed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_managed)); rsc 321 lib/pengine/clone.c status_print("failed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_failed)); rsc 323 lib/pengine/clone.c pe__rsc_bool_str(rsc, pe_rsc_failure_ignored)); rsc 339 lib/pengine/clone.c bool is_set_recursive(pe_resource_t * rsc, long long flag, bool any) rsc 344 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, flag)) { rsc 352 lib/pengine/clone.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 370 lib/pengine/clone.c clone_print(pe_resource_t * rsc, const char *pre_text, long options, void *print_data) rsc 380 lib/pengine/clone.c GListPtr gIter = rsc->children; rsc 390 lib/pengine/clone.c clone_print_xml(rsc, pre_text, options, print_data); rsc 394 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 399 lib/pengine/clone.c pre_text ? pre_text : "", rsc->id, ID(clone_data->xml_obj_child), rsc 400 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_promotable)? " (promotable)" : "", rsc 401 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_unique)? " (unique)" : "", rsc 402 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_managed)? "" : " (unmanaged)"); rsc 420 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 422 lib/pengine/clone.c if (partially_active || !pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 513 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 514 lib/pengine/clone.c enum rsc_role_e role = configured_role(rsc); rsc 533 lib/pengine/clone.c enum rsc_role_e role = configured_role(rsc); rsc 539 lib/pengine/clone.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique) rsc 543 lib/pengine/clone.c GListPtr list = g_hash_table_get_values(rsc->allowed_nodes); rsc 554 lib/pengine/clone.c list = g_hash_table_get_values(rsc->known_on); rsc 561 lib/pengine/clone.c if (pe_find_node(rsc->running_on, node->details->uname) == NULL) { rsc 585 lib/pengine/clone.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 589 lib/pengine/clone.c GListPtr gIter = rsc->children; rsc 594 lib/pengine/clone.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 598 lib/pengine/clone.c print_everything = pcmk__str_in_list(only_rsc, rsc_printable_id(rsc)) || rsc 599 lib/pengine/clone.c (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(only_rsc, rsc->id)); rsc 616 lib/pengine/clone.c "id", rsc->id, rsc 617 lib/pengine/clone.c "multi_state", pe__rsc_bool_str(rsc, pe_rsc_promotable), rsc 618 lib/pengine/clone.c "unique", pe__rsc_bool_str(rsc, pe_rsc_unique), rsc 619 lib/pengine/clone.c "managed", pe__rsc_bool_str(rsc, pe_rsc_managed), rsc 620 lib/pengine/clone.c "disabled", pcmk__btoa(pe__resource_is_disabled(rsc)), rsc 621 lib/pengine/clone.c "failed", pe__rsc_bool_str(rsc, pe_rsc_failed), rsc 622 lib/pengine/clone.c "failure_ignored", pe__rsc_bool_str(rsc, pe_rsc_failure_ignored), rsc 623 lib/pengine/clone.c "target_role", configured_role_str(rsc)); rsc 643 lib/pengine/clone.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 654 lib/pengine/clone.c GListPtr gIter = rsc->children; rsc 661 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 663 lib/pengine/clone.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 667 lib/pengine/clone.c print_everything = pcmk__str_in_list(only_rsc, rsc_printable_id(rsc)) || rsc 668 lib/pengine/clone.c (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(only_rsc, rsc->id)); rsc 671 lib/pengine/clone.c rsc->id, ID(clone_data->xml_obj_child), rsc 672 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_promotable) ? " (promotable)" : "", rsc 673 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 674 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)", rsc 675 lib/pengine/clone.c pe__resource_is_disabled(rsc) ? " (disabled)" : ""); rsc 695 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 697 lib/pengine/clone.c if (partially_active || !pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 805 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 806 lib/pengine/clone.c enum rsc_role_e role = configured_role(rsc); rsc 826 lib/pengine/clone.c enum rsc_role_e role = configured_role(rsc); rsc 832 lib/pengine/clone.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique) rsc 836 lib/pengine/clone.c GListPtr list = g_hash_table_get_values(rsc->allowed_nodes); rsc 847 lib/pengine/clone.c list = g_hash_table_get_values(rsc->known_on); rsc 854 lib/pengine/clone.c if (pe_find_node(rsc->running_on, node->details->uname) == NULL && rsc 880 lib/pengine/clone.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 891 lib/pengine/clone.c GListPtr gIter = rsc->children; rsc 898 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 900 lib/pengine/clone.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 904 lib/pengine/clone.c print_everything = pcmk__str_in_list(only_rsc, rsc_printable_id(rsc)) || rsc 905 lib/pengine/clone.c (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(only_rsc, rsc->id)); rsc 908 lib/pengine/clone.c rsc->id, ID(clone_data->xml_obj_child), rsc 909 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_promotable) ? " (promotable)" : "", rsc 910 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 911 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)", rsc 912 lib/pengine/clone.c pe__resource_is_disabled(rsc) ? " (disabled)" : ""); rsc 932 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 934 lib/pengine/clone.c if (partially_active || !pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 1042 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 1043 lib/pengine/clone.c enum rsc_role_e role = configured_role(rsc); rsc 1061 lib/pengine/clone.c enum rsc_role_e role = configured_role(rsc); rsc 1067 lib/pengine/clone.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique) rsc 1071 lib/pengine/clone.c GListPtr list = g_hash_table_get_values(rsc->allowed_nodes); rsc 1082 lib/pengine/clone.c list = g_hash_table_get_values(rsc->known_on); rsc 1089 lib/pengine/clone.c if (pe_find_node(rsc->running_on, node->details->uname) == NULL && rsc 1110 lib/pengine/clone.c clone_free(pe_resource_t * rsc) rsc 1114 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 1116 lib/pengine/clone.c pe_rsc_trace(rsc, "Freeing %s", rsc->id); rsc 1118 lib/pengine/clone.c for (GListPtr gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 1131 lib/pengine/clone.c g_list_free(rsc->children); rsc 1140 lib/pengine/clone.c common_free(rsc); rsc 1144 lib/pengine/clone.c clone_resource_state(const pe_resource_t * rsc, gboolean current) rsc 1147 lib/pengine/clone.c GListPtr gIter = rsc->children; rsc 1158 lib/pengine/clone.c pe_rsc_trace(rsc, "%s role: %s", rsc->id, role2text(clone_role)); rsc 1170 lib/pengine/clone.c pe__is_universal_clone(pe_resource_t *rsc, rsc 1173 lib/pengine/clone.c if (pe_rsc_is_clone(rsc)) { rsc 1176 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 1185 lib/pengine/clone.c pe__clone_is_filtered(pe_resource_t *rsc, GListPtr only_rsc, gboolean check_parent) rsc 1190 lib/pengine/clone.c if (pcmk__str_in_list(only_rsc, rsc_printable_id(rsc))) { rsc 1193 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 1197 lib/pengine/clone.c for (GListPtr gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 591 lib/pengine/common.c const pe_resource_t *rsc) rsc 598 lib/pengine/common.c } else if(rsc == NULL) { rsc 602 lib/pengine/common.c source = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET); rsc 619 lib/pengine/common.c pe_rsc_trace(rsc, "%s: Looking for %s on the container host %s", rsc->id, name, host->details->uname); rsc 623 lib/pengine/common.c pe_rsc_trace(rsc, "%s: Not looking for %s on the container host: %s is inactive", rsc 624 lib/pengine/common.c rsc->id, name, node->details->remote_rsc->container->id); rsc 100 lib/pengine/complex.c get_meta_attributes(GHashTable * meta_hash, pe_resource_t * rsc, rsc 104 lib/pengine/complex.c .standard = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS), rsc 105 lib/pengine/complex.c .provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER), rsc 106 lib/pengine/complex.c .agent = crm_element_value(rsc->xml, XML_EXPR_ATTR_TYPE) rsc 122 lib/pengine/complex.c if (rsc->xml) { rsc 125 lib/pengine/complex.c for (xIter = rsc->xml->properties; xIter; xIter = xIter->next) { rsc 127 lib/pengine/complex.c const char *prop_value = crm_element_value(rsc->xml, prop_name); rsc 133 lib/pengine/complex.c pe__unpack_dataset_nvpairs(rsc->xml, XML_TAG_META_SETS, &rule_data, rsc 137 lib/pengine/complex.c if (rsc->parent != NULL) { rsc 138 lib/pengine/complex.c g_hash_table_foreach(rsc->parent->meta, dup_attr, meta_hash); rsc 147 lib/pengine/complex.c get_rsc_attributes(GHashTable * meta_hash, pe_resource_t * rsc, rsc 163 lib/pengine/complex.c pe__unpack_dataset_nvpairs(rsc->xml, XML_TAG_ATTR_SETS, &rule_data, rsc 167 lib/pengine/complex.c if (rsc->parent != NULL) { rsc 168 lib/pengine/complex.c get_rsc_attributes(meta_hash, rsc->parent, node, data_set); rsc 179 lib/pengine/complex.c pe_get_versioned_attributes(xmlNode * meta_hash, pe_resource_t * rsc, rsc 191 lib/pengine/complex.c pe_eval_versioned_attributes(data_set->input, rsc->xml, XML_TAG_ATTR_SETS, rsc 195 lib/pengine/complex.c if (rsc->parent != NULL) { rsc 196 lib/pengine/complex.c pe_get_versioned_attributes(meta_hash, rsc->parent, node, data_set); rsc 374 lib/pengine/complex.c detect_promotable(pe_resource_t *rsc) rsc 376 lib/pengine/complex.c const char *promotable = g_hash_table_lookup(rsc->meta, rsc 384 lib/pengine/complex.c if (pcmk__str_eq(crm_element_name(rsc->xml), XML_CIB_TAG_MASTER, pcmk__str_casei)) { rsc 388 lib/pengine/complex.c g_hash_table_insert(rsc->meta, strdup(XML_RSC_ATTR_PROMOTABLE), rsc 396 lib/pengine/complex.c common_unpack(xmlNode * xml_obj, pe_resource_t ** rsc, rsc 424 lib/pengine/complex.c } else if (rsc == NULL) { rsc 434 lib/pengine/complex.c *rsc = calloc(1, sizeof(pe_resource_t)); rsc 435 lib/pengine/complex.c (*rsc)->cluster = data_set; rsc 439 lib/pengine/complex.c (*rsc)->xml = expanded_xml; rsc 440 lib/pengine/complex.c (*rsc)->orig_xml = xml_obj; rsc 443 lib/pengine/complex.c (*rsc)->xml = xml_obj; rsc 444 lib/pengine/complex.c (*rsc)->orig_xml = NULL; rsc 448 lib/pengine/complex.c rclass = crm_element_value((*rsc)->xml, XML_AGENT_ATTR_CLASS); rsc 449 lib/pengine/complex.c (*rsc)->parent = parent; rsc 451 lib/pengine/complex.c ops = find_xml_node((*rsc)->xml, "operations", FALSE); rsc 452 lib/pengine/complex.c (*rsc)->ops_xml = expand_idref(ops, data_set->input); rsc 454 lib/pengine/complex.c (*rsc)->variant = get_resource_type(crm_element_name((*rsc)->xml)); rsc 455 lib/pengine/complex.c if ((*rsc)->variant == pe_unknown) { rsc 456 lib/pengine/complex.c pe_err("Unknown resource type: %s", crm_element_name((*rsc)->xml)); rsc 457 lib/pengine/complex.c free(*rsc); rsc 461 lib/pengine/complex.c (*rsc)->parameters = crm_str_table_new(); rsc 464 lib/pengine/complex.c (*rsc)->versioned_parameters = create_xml_node(NULL, XML_TAG_RSC_VER_ATTRS); rsc 467 lib/pengine/complex.c (*rsc)->meta = crm_str_table_new(); rsc 469 lib/pengine/complex.c (*rsc)->allowed_nodes = rsc 472 lib/pengine/complex.c (*rsc)->known_on = g_hash_table_new_full(crm_str_hash, g_str_equal, NULL, rsc 475 lib/pengine/complex.c value = crm_element_value((*rsc)->xml, XML_RSC_ATTR_INCARNATION); rsc 477 lib/pengine/complex.c (*rsc)->id = crm_strdup_printf("%s:%s", id, value); rsc 478 lib/pengine/complex.c add_hash_param((*rsc)->meta, XML_RSC_ATTR_INCARNATION, value); rsc 481 lib/pengine/complex.c (*rsc)->id = strdup(id); rsc 484 lib/pengine/complex.c (*rsc)->fns = &resource_class_functions[(*rsc)->variant]; rsc 485 lib/pengine/complex.c pe_rsc_trace((*rsc), "Unpacking resource..."); rsc 487 lib/pengine/complex.c get_meta_attributes((*rsc)->meta, *rsc, NULL, data_set); rsc 488 lib/pengine/complex.c get_rsc_attributes((*rsc)->parameters, *rsc, NULL, data_set); rsc 490 lib/pengine/complex.c pe_get_versioned_attributes((*rsc)->versioned_parameters, *rsc, NULL, data_set); rsc 493 lib/pengine/complex.c (*rsc)->flags = 0; rsc 494 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_runnable|pe_rsc_provisional); rsc 497 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_managed); rsc 500 lib/pengine/complex.c (*rsc)->rsc_cons = NULL; rsc 501 lib/pengine/complex.c (*rsc)->rsc_tickets = NULL; rsc 502 lib/pengine/complex.c (*rsc)->actions = NULL; rsc 503 lib/pengine/complex.c (*rsc)->role = RSC_ROLE_STOPPED; rsc 504 lib/pengine/complex.c (*rsc)->next_role = RSC_ROLE_UNKNOWN; rsc 506 lib/pengine/complex.c (*rsc)->recovery_type = recovery_stop_start; rsc 507 lib/pengine/complex.c (*rsc)->stickiness = 0; rsc 508 lib/pengine/complex.c (*rsc)->migration_threshold = INFINITY; rsc 509 lib/pengine/complex.c (*rsc)->failure_timeout = 0; rsc 511 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_CIB_ATTR_PRIORITY); rsc 512 lib/pengine/complex.c (*rsc)->priority = crm_parse_int(value, "0"); rsc 514 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_NOTIFY); rsc 516 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_notify); rsc 519 lib/pengine/complex.c if (xml_contains_remote_node((*rsc)->xml)) { rsc 520 lib/pengine/complex.c (*rsc)->is_remote_node = TRUE; rsc 521 lib/pengine/complex.c if (g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_CONTAINER)) { rsc 528 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_OP_ATTR_ALLOW_MIGRATE); rsc 530 lib/pengine/complex.c has_versioned_params = xml_has_children((*rsc)->versioned_parameters); rsc 533 lib/pengine/complex.c pe_rsc_trace((*rsc), "Migration is disabled for resources with versioned parameters"); rsc 535 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_allow_migrate); rsc 544 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_allow_migrate); rsc 547 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_MANAGED); rsc 550 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_managed); rsc 552 lib/pengine/complex.c pe__clear_resource_flags(*rsc, pe_rsc_managed); rsc 556 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_MAINTENANCE); rsc 558 lib/pengine/complex.c pe__clear_resource_flags(*rsc, pe_rsc_managed); rsc 559 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_maintenance); rsc 562 lib/pengine/complex.c pe__clear_resource_flags(*rsc, pe_rsc_managed); rsc 563 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_maintenance); rsc 566 lib/pengine/complex.c if (pe_rsc_is_clone(uber_parent(*rsc))) { rsc 567 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_UNIQUE); rsc 569 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_unique); rsc 571 lib/pengine/complex.c if (detect_promotable(*rsc)) { rsc 572 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_promotable); rsc 575 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_unique); rsc 578 lib/pengine/complex.c pe_rsc_trace((*rsc), "Options for %s", (*rsc)->id); rsc 580 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_RESTART); rsc 582 lib/pengine/complex.c (*rsc)->restart_type = pe_restart_restart; rsc 583 lib/pengine/complex.c pe_rsc_trace((*rsc), "\tDependency restart handling: restart"); rsc 588 lib/pengine/complex.c (*rsc)->restart_type = pe_restart_ignore; rsc 589 lib/pengine/complex.c pe_rsc_trace((*rsc), "\tDependency restart handling: ignore"); rsc 592 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_MULTIPLE); rsc 594 lib/pengine/complex.c (*rsc)->recovery_type = recovery_stop_only; rsc 595 lib/pengine/complex.c pe_rsc_trace((*rsc), "\tMultiple running resource recovery: stop only"); rsc 598 lib/pengine/complex.c (*rsc)->recovery_type = recovery_block; rsc 599 lib/pengine/complex.c pe_rsc_trace((*rsc), "\tMultiple running resource recovery: block"); rsc 602 lib/pengine/complex.c (*rsc)->recovery_type = recovery_stop_start; rsc 603 lib/pengine/complex.c pe_rsc_trace((*rsc), "\tMultiple running resource recovery: stop/start"); rsc 606 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_STICKINESS); rsc 608 lib/pengine/complex.c (*rsc)->stickiness = char2score(value); rsc 611 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_FAIL_STICKINESS); rsc 613 lib/pengine/complex.c (*rsc)->migration_threshold = char2score(value); rsc 614 lib/pengine/complex.c if ((*rsc)->migration_threshold < 0) { rsc 622 lib/pengine/complex.c (*rsc)->migration_threshold = 1; rsc 628 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_fence_device); rsc 631 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_REQUIRES); rsc 637 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_needs_quorum); rsc 640 lib/pengine/complex.c if (pcmk_is_set((*rsc)->flags, pe_rsc_fence_device)) { rsc 643 lib/pengine/complex.c "require unfencing", (*rsc)->id); rsc 651 lib/pengine/complex.c (*rsc)->id); rsc 657 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_needs_fencing rsc 662 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_needs_fencing); rsc 665 lib/pengine/complex.c (*rsc)->id); rsc 672 lib/pengine/complex.c if (pcmk_is_set((*rsc)->flags, pe_rsc_fence_device)) { rsc 675 lib/pengine/complex.c } else if (((*rsc)->variant == pe_native) rsc 676 lib/pengine/complex.c && pcmk__str_eq(crm_element_value((*rsc)->xml, XML_AGENT_ATTR_CLASS), PCMK_RESOURCE_CLASS_OCF, pcmk__str_casei) rsc 677 lib/pengine/complex.c && pcmk__str_eq(crm_element_value((*rsc)->xml, XML_AGENT_ATTR_PROVIDER), "pacemaker", pcmk__str_casei) rsc 678 lib/pengine/complex.c && pcmk__str_eq(crm_element_value((*rsc)->xml, XML_ATTR_TYPE), "remote", pcmk__str_casei) rsc 698 lib/pengine/complex.c (*rsc)->id, value, orig_value); rsc 704 lib/pengine/complex.c pe_rsc_trace((*rsc), "\tRequired to start: %s%s", value, isdefault?" (default)":""); rsc 705 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_FAIL_TIMEOUT); rsc 708 lib/pengine/complex.c (*rsc)->failure_timeout = (int) (crm_parse_interval_spec(value) / 1000); rsc 712 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->parameters, XML_REMOTE_ATTR_RECONNECT_INTERVAL); rsc 716 lib/pengine/complex.c (*rsc)->remote_reconnect_ms = crm_parse_interval_spec(value); rsc 719 lib/pengine/complex.c (*rsc)->failure_timeout = (*rsc)->remote_reconnect_ms / 1000; rsc 723 lib/pengine/complex.c get_target_role(*rsc, &((*rsc)->next_role)); rsc 724 lib/pengine/complex.c pe_rsc_trace((*rsc), "\tDesired next state: %s", rsc 725 lib/pengine/complex.c (*rsc)->next_role != RSC_ROLE_UNKNOWN ? role2text((*rsc)->next_role) : "default"); rsc 727 lib/pengine/complex.c if ((*rsc)->fns->unpack(*rsc, data_set) == FALSE) { rsc 733 lib/pengine/complex.c resource_location(*rsc, NULL, 0, "symmetric_default", data_set); rsc 738 lib/pengine/complex.c resource_location(*rsc, NULL, 0, "remote_connection_default", data_set); rsc 741 lib/pengine/complex.c pe_rsc_trace((*rsc), "\tAction notification: %s", rsc 742 lib/pengine/complex.c pcmk_is_set((*rsc)->flags, pe_rsc_notify)? "required" : "not required"); rsc 744 lib/pengine/complex.c (*rsc)->utilization = crm_str_table_new(); rsc 746 lib/pengine/complex.c pe__unpack_dataset_nvpairs((*rsc)->xml, XML_TAG_UTILIZATION, &rule_data, rsc 747 lib/pengine/complex.c (*rsc)->utilization, NULL, FALSE, data_set); rsc 760 lib/pengine/complex.c common_update_score(pe_resource_t * rsc, const char *id, int score) rsc 764 lib/pengine/complex.c node = pe_hash_table_lookup(rsc->allowed_nodes, id); rsc 766 lib/pengine/complex.c pe_rsc_trace(rsc, "Updating score for %s on %s: %d + %d", rsc->id, id, node->weight, score); rsc 770 lib/pengine/complex.c if (rsc->children) { rsc 771 lib/pengine/complex.c GListPtr gIter = rsc->children; rsc 782 lib/pengine/complex.c is_parent(pe_resource_t *child, pe_resource_t *rsc) rsc 786 lib/pengine/complex.c if (parent == NULL || rsc == NULL) { rsc 790 lib/pengine/complex.c if (parent->parent == rsc) { rsc 799 lib/pengine/complex.c uber_parent(pe_resource_t * rsc) rsc 801 lib/pengine/complex.c pe_resource_t *parent = rsc; rsc 813 lib/pengine/complex.c common_free(pe_resource_t * rsc) rsc 815 lib/pengine/complex.c if (rsc == NULL) { rsc 819 lib/pengine/complex.c pe_rsc_trace(rsc, "Freeing %s %d", rsc->id, rsc->variant); rsc 821 lib/pengine/complex.c g_list_free(rsc->rsc_cons); rsc 822 lib/pengine/complex.c g_list_free(rsc->rsc_cons_lhs); rsc 823 lib/pengine/complex.c g_list_free(rsc->rsc_tickets); rsc 824 lib/pengine/complex.c g_list_free(rsc->dangling_migrations); rsc 826 lib/pengine/complex.c if (rsc->parameters != NULL) { rsc 827 lib/pengine/complex.c g_hash_table_destroy(rsc->parameters); rsc 830 lib/pengine/complex.c if (rsc->versioned_parameters != NULL) { rsc 831 lib/pengine/complex.c free_xml(rsc->versioned_parameters); rsc 834 lib/pengine/complex.c if (rsc->meta != NULL) { rsc 835 lib/pengine/complex.c g_hash_table_destroy(rsc->meta); rsc 837 lib/pengine/complex.c if (rsc->utilization != NULL) { rsc 838 lib/pengine/complex.c g_hash_table_destroy(rsc->utilization); rsc 841 lib/pengine/complex.c if ((rsc->parent == NULL) && pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 842 lib/pengine/complex.c free_xml(rsc->xml); rsc 843 lib/pengine/complex.c rsc->xml = NULL; rsc 844 lib/pengine/complex.c free_xml(rsc->orig_xml); rsc 845 lib/pengine/complex.c rsc->orig_xml = NULL; rsc 848 lib/pengine/complex.c } else if (rsc->orig_xml) { rsc 849 lib/pengine/complex.c free_xml(rsc->xml); rsc 850 lib/pengine/complex.c rsc->xml = NULL; rsc 852 lib/pengine/complex.c if (rsc->running_on) { rsc 853 lib/pengine/complex.c g_list_free(rsc->running_on); rsc 854 lib/pengine/complex.c rsc->running_on = NULL; rsc 856 lib/pengine/complex.c if (rsc->known_on) { rsc 857 lib/pengine/complex.c g_hash_table_destroy(rsc->known_on); rsc 858 lib/pengine/complex.c rsc->known_on = NULL; rsc 860 lib/pengine/complex.c if (rsc->actions) { rsc 861 lib/pengine/complex.c g_list_free(rsc->actions); rsc 862 lib/pengine/complex.c rsc->actions = NULL; rsc 864 lib/pengine/complex.c if (rsc->allowed_nodes) { rsc 865 lib/pengine/complex.c g_hash_table_destroy(rsc->allowed_nodes); rsc 866 lib/pengine/complex.c rsc->allowed_nodes = NULL; rsc 868 lib/pengine/complex.c g_list_free(rsc->fillers); rsc 869 lib/pengine/complex.c g_list_free(rsc->rsc_location); rsc 870 lib/pengine/complex.c pe_rsc_trace(rsc, "Resource freed"); rsc 871 lib/pengine/complex.c free(rsc->id); rsc 872 lib/pengine/complex.c free(rsc->clone_name); rsc 873 lib/pengine/complex.c free(rsc->allocated_to); rsc 874 lib/pengine/complex.c free(rsc->variant_opaque); rsc 875 lib/pengine/complex.c free(rsc->pending_task); rsc 876 lib/pengine/complex.c free(rsc); rsc 895 lib/pengine/complex.c pe__find_active_on(const pe_resource_t *rsc, unsigned int *count_all, rsc 909 lib/pengine/complex.c if (rsc == NULL) { rsc 913 lib/pengine/complex.c for (GList *node_iter = rsc->running_on; node_iter != NULL; rsc 932 lib/pengine/complex.c if (rsc->partial_migration_source != NULL) { rsc 933 lib/pengine/complex.c if (node->details == rsc->partial_migration_source->details) { rsc 939 lib/pengine/complex.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_needs_fencing)) { rsc 975 lib/pengine/complex.c pe__find_active_requires(const pe_resource_t *rsc, unsigned int *count) rsc 977 lib/pengine/complex.c if (rsc && !pcmk_is_set(rsc->flags, pe_rsc_needs_fencing)) { rsc 978 lib/pengine/complex.c return pe__find_active_on(rsc, NULL, count); rsc 980 lib/pengine/complex.c return pe__find_active_on(rsc, count, NULL); rsc 984 lib/pengine/complex.c pe__count_common(pe_resource_t *rsc) rsc 986 lib/pengine/complex.c if (rsc->children != NULL) { rsc 987 lib/pengine/complex.c for (GList *item = rsc->children; item != NULL; item = item->next) { rsc 991 lib/pengine/complex.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_orphan) rsc 992 lib/pengine/complex.c || (rsc->role > RSC_ROLE_STOPPED)) { rsc 993 lib/pengine/complex.c rsc->cluster->ninstances++; rsc 994 lib/pengine/complex.c if (pe__resource_is_disabled(rsc)) { rsc 995 lib/pengine/complex.c rsc->cluster->disabled_resources++; rsc 997 lib/pengine/complex.c if (pcmk_is_set(rsc->flags, pe_rsc_block)) { rsc 998 lib/pengine/complex.c rsc->cluster->blocked_resources++; rsc 80 lib/pengine/failcounts.c block_failure(pe_node_t *node, pe_resource_t *rsc, xmlNode *xml_op, rsc 83 lib/pengine/failcounts.c char *xml_name = clone_strip(rsc->id); rsc 98 lib/pengine/failcounts.c xmlXPathObject *xpathObj = xpath_search(rsc->xml, xpath); rsc 177 lib/pengine/failcounts.c rsc_fail_name(pe_resource_t *rsc) rsc 179 lib/pengine/failcounts.c const char *name = (rsc->clone_name? rsc->clone_name : rsc->id); rsc 181 lib/pengine/failcounts.c return pcmk_is_set(rsc->flags, pe_rsc_unique)? strdup(name) : clone_strip(name); rsc 234 lib/pengine/failcounts.c generate_fail_regexes(pe_resource_t *rsc, pe_working_set_t *data_set, rsc 237 lib/pengine/failcounts.c char *rsc_name = rsc_fail_name(rsc); rsc 242 lib/pengine/failcounts.c pcmk_is_set(rsc->flags, pe_rsc_unique), failcount_re); rsc 245 lib/pengine/failcounts.c pcmk_is_set(rsc->flags, pe_rsc_unique), lastfailure_re); rsc 251 lib/pengine/failcounts.c pe_get_failcount(pe_node_t *node, pe_resource_t *rsc, time_t *last_failure, rsc 261 lib/pengine/failcounts.c generate_fail_regexes(rsc, data_set, &failcount_re, &lastfailure_re); rsc 281 lib/pengine/failcounts.c if ((failcount > 0) && rsc->failure_timeout rsc 282 lib/pengine/failcounts.c && block_failure(node, rsc, xml_op, data_set)) { rsc 285 lib/pengine/failcounts.c rsc->failure_timeout, rsc->id); rsc 286 lib/pengine/failcounts.c rsc->failure_timeout = 0; rsc 291 lib/pengine/failcounts.c && rsc->failure_timeout) { rsc 295 lib/pengine/failcounts.c if (now > (last + rsc->failure_timeout)) { rsc 297 lib/pengine/failcounts.c rsc->id, node->details->uname, rsc->failure_timeout); rsc 312 lib/pengine/failcounts.c if (pcmk_is_set(flags, pe_fc_fillers) && rsc->fillers rsc 313 lib/pengine/failcounts.c && !pe_rsc_is_bundled(rsc)) { rsc 317 lib/pengine/failcounts.c for (gIter = rsc->fillers; gIter != NULL; gIter = gIter->next) { rsc 333 lib/pengine/failcounts.c rsc->id, score, node->details->uname); rsc 341 lib/pengine/failcounts.c rsc->id, score, node->details->uname); rsc 360 lib/pengine/failcounts.c pe__clear_failcount(pe_resource_t *rsc, pe_node_t *node, rsc 366 lib/pengine/failcounts.c CRM_CHECK(rsc && node && reason && data_set, return NULL); rsc 368 lib/pengine/failcounts.c key = pcmk__op_key(rsc->id, CRM_OP_CLEAR_FAILCOUNT, 0); rsc 369 lib/pengine/failcounts.c clear = custom_action(rsc, key, CRM_OP_CLEAR_FAILCOUNT, node, FALSE, TRUE, rsc 373 lib/pengine/failcounts.c rsc->id, node->details->uname, reason, clear->uuid); rsc 23 lib/pengine/group.c group_unpack(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 25 lib/pengine/group.c xmlNode *xml_obj = rsc->xml; rsc 28 lib/pengine/group.c const char *group_ordered = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_ORDERED); rsc 29 lib/pengine/group.c const char *group_colocated = g_hash_table_lookup(rsc->meta, "collocated"); rsc 32 lib/pengine/group.c pe_rsc_trace(rsc, "Processing resource %s...", rsc->id); rsc 38 lib/pengine/group.c rsc->variant_opaque = group_data; rsc 50 lib/pengine/group.c clone_id = crm_element_value(rsc->xml, XML_RSC_ATTR_INCARNATION); rsc 60 lib/pengine/group.c if (common_unpack(xml_native_rsc, &new_rsc, rsc, data_set) == FALSE) { rsc 69 lib/pengine/group.c rsc->children = g_list_append(rsc->children, new_rsc); rsc 75 lib/pengine/group.c pe_rsc_trace(rsc, "Added %s member %s", rsc->id, new_rsc->id); rsc 80 lib/pengine/group.c pcmk__config_warn("Group %s does not have any children", rsc->id); rsc 84 lib/pengine/group.c pe_rsc_trace(rsc, "Added %d children to resource %s...", group_data->num_children, rsc->id); rsc 90 lib/pengine/group.c group_active(pe_resource_t * rsc, gboolean all) rsc 94 lib/pengine/group.c GListPtr gIter = rsc->children; rsc 115 lib/pengine/group.c group_print_xml(pe_resource_t * rsc, const char *pre_text, long options, void *print_data) rsc 117 lib/pengine/group.c GListPtr gIter = rsc->children; rsc 120 lib/pengine/group.c status_print("%s<group id=\"%s\" ", pre_text, rsc->id); rsc 121 lib/pengine/group.c status_print("number_resources=\"%d\" ", g_list_length(rsc->children)); rsc 135 lib/pengine/group.c group_print(pe_resource_t * rsc, const char *pre_text, long options, void *print_data) rsc 138 lib/pengine/group.c GListPtr gIter = rsc->children; rsc 145 lib/pengine/group.c group_print_xml(rsc, pre_text, options, print_data); rsc 151 lib/pengine/group.c status_print("%sResource Group: %s", pre_text ? pre_text : "", rsc->id); rsc 161 lib/pengine/group.c print_rscs_brief(rsc->children, child_text, options, print_data, TRUE); rsc 188 lib/pengine/group.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 192 lib/pengine/group.c GListPtr gIter = rsc->children; rsc 198 lib/pengine/group.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 203 lib/pengine/group.c print_everything = pcmk__str_in_list(only_rsc, rsc_printable_id(rsc)) || rsc 204 lib/pengine/group.c (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(only_rsc, rsc->id)); rsc 215 lib/pengine/group.c , "id", rsc->id rsc 217 lib/pengine/group.c , "managed", pe__rsc_bool_str(rsc, pe_rsc_managed) rsc 218 lib/pengine/group.c , "disabled", pcmk__btoa(pe__resource_is_disabled(rsc))); rsc 239 lib/pengine/group.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 246 lib/pengine/group.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 250 lib/pengine/group.c print_everything = pcmk__str_in_list(only_rsc, rsc_printable_id(rsc)) || rsc 251 lib/pengine/group.c (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(only_rsc, rsc->id)); rsc 254 lib/pengine/group.c GListPtr rscs = pe__filter_rsc_list(rsc->children, only_rsc); rsc 257 lib/pengine/group.c out->begin_list(out, NULL, NULL, "Resource Group: %s%s%s", rsc->id, rsc 258 lib/pengine/group.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)", rsc 259 lib/pengine/group.c pe__resource_is_disabled(rsc) ? " (disabled)" : ""); rsc 268 lib/pengine/group.c for (GListPtr gIter = rsc->children; gIter; gIter = gIter->next) { rsc 275 lib/pengine/group.c PCMK__OUTPUT_LIST_HEADER(out, FALSE, rc, "Resource Group: %s%s%s", rsc->id, rsc 276 lib/pengine/group.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)", rsc 277 lib/pengine/group.c pe__resource_is_disabled(rsc) ? " (disabled)" : ""); rsc 294 lib/pengine/group.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 301 lib/pengine/group.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 305 lib/pengine/group.c print_everything = pcmk__str_in_list(only_rsc, rsc_printable_id(rsc)) || rsc 306 lib/pengine/group.c (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(only_rsc, rsc->id)); rsc 309 lib/pengine/group.c GListPtr rscs = pe__filter_rsc_list(rsc->children, only_rsc); rsc 312 lib/pengine/group.c out->begin_list(out, NULL, NULL, "Resource Group: %s%s%s", rsc->id, rsc 313 lib/pengine/group.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)", rsc 314 lib/pengine/group.c pe__resource_is_disabled(rsc) ? " (disabled)" : ""); rsc 323 lib/pengine/group.c for (GListPtr gIter = rsc->children; gIter; gIter = gIter->next) { rsc 330 lib/pengine/group.c PCMK__OUTPUT_LIST_HEADER(out, FALSE, rc, "Resource Group: %s%s%s", rsc->id, rsc 331 lib/pengine/group.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)", rsc 332 lib/pengine/group.c pe__resource_is_disabled(rsc) ? " (disabled)" : ""); rsc 345 lib/pengine/group.c group_free(pe_resource_t * rsc) rsc 347 lib/pengine/group.c CRM_CHECK(rsc != NULL, return); rsc 349 lib/pengine/group.c pe_rsc_trace(rsc, "Freeing %s", rsc->id); rsc 351 lib/pengine/group.c for (GListPtr gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 359 lib/pengine/group.c pe_rsc_trace(rsc, "Freeing child list"); rsc 360 lib/pengine/group.c g_list_free(rsc->children); rsc 362 lib/pengine/group.c common_free(rsc); rsc 366 lib/pengine/group.c group_resource_state(const pe_resource_t * rsc, gboolean current) rsc 369 lib/pengine/group.c GListPtr gIter = rsc->children; rsc 380 lib/pengine/group.c pe_rsc_trace(rsc, "%s role: %s", rsc->id, role2text(group_role)); rsc 385 lib/pengine/group.c pe__group_is_filtered(pe_resource_t *rsc, GListPtr only_rsc, gboolean check_parent) rsc 389 lib/pengine/group.c if (check_parent && pcmk__str_in_list(only_rsc, rsc_printable_id(uber_parent(rsc)))) { rsc 391 lib/pengine/group.c } else if (pcmk__str_in_list(only_rsc, rsc_printable_id(rsc))) { rsc 393 lib/pengine/group.c } else if (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(only_rsc, rsc->id)) { rsc 396 lib/pengine/group.c for (GListPtr gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 27 lib/pengine/native.c is_multiply_active(pe_resource_t *rsc) rsc 31 lib/pengine/native.c if (rsc->variant == pe_native) { rsc 32 lib/pengine/native.c pe__find_active_requires(rsc, &count); rsc 38 lib/pengine/native.c native_priority_to_node(pe_resource_t * rsc, pe_node_t * node) rsc 42 lib/pengine/native.c if (rsc->priority == 0) { rsc 46 lib/pengine/native.c if (rsc->role == RSC_ROLE_MASTER) { rsc 48 lib/pengine/native.c priority = rsc->priority + 1; rsc 51 lib/pengine/native.c priority = rsc->priority; rsc 55 lib/pengine/native.c pe_rsc_trace(rsc, "Node '%s' now has priority %d with %s'%s' (priority: %d%s)", rsc 57 lib/pengine/native.c rsc->role == RSC_ROLE_MASTER ? "promoted " : "", rsc 58 lib/pengine/native.c rsc->id, rsc->priority, rsc 59 lib/pengine/native.c rsc->role == RSC_ROLE_MASTER ? " + 1" : ""); rsc 71 lib/pengine/native.c pe_rsc_trace(rsc, "Node '%s' now has priority %d with %s'%s' (priority: %d%s) " rsc 74 lib/pengine/native.c rsc->role == RSC_ROLE_MASTER ? "promoted " : "", rsc 75 lib/pengine/native.c rsc->id, rsc->priority, rsc 76 lib/pengine/native.c rsc->role == RSC_ROLE_MASTER ? " + 1" : "", rsc 83 lib/pengine/native.c native_add_running(pe_resource_t * rsc, pe_node_t * node, pe_working_set_t * data_set) rsc 85 lib/pengine/native.c GListPtr gIter = rsc->running_on; rsc 97 lib/pengine/native.c pe_rsc_trace(rsc, "Adding %s to %s %s", rsc->id, node->details->uname, rsc 98 lib/pengine/native.c pcmk_is_set(rsc->flags, pe_rsc_managed)? "" : "(unmanaged)"); rsc 100 lib/pengine/native.c rsc->running_on = g_list_append(rsc->running_on, node); rsc 101 lib/pengine/native.c if (rsc->variant == pe_native) { rsc 102 lib/pengine/native.c node->details->running_rsc = g_list_append(node->details->running_rsc, rsc); rsc 104 lib/pengine/native.c native_priority_to_node(rsc, node); rsc 107 lib/pengine/native.c if (rsc->variant == pe_native && node->details->maintenance) { rsc 108 lib/pengine/native.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 111 lib/pengine/native.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 112 lib/pengine/native.c pe_resource_t *p = rsc->parent; rsc 114 lib/pengine/native.c pe_rsc_info(rsc, "resource %s isn't managed", rsc->id); rsc 115 lib/pengine/native.c resource_location(rsc, node, INFINITY, "not_managed_default", data_set); rsc 125 lib/pengine/native.c if (is_multiply_active(rsc)) { rsc 126 lib/pengine/native.c switch (rsc->recovery_type) { rsc 133 lib/pengine/native.c if (rsc->allowed_nodes != NULL) { rsc 134 lib/pengine/native.c g_hash_table_destroy(rsc->allowed_nodes); rsc 136 lib/pengine/native.c rsc->allowed_nodes = pe__node_list2table(data_set->nodes); rsc 137 lib/pengine/native.c g_hash_table_iter_init(&gIter, rsc->allowed_nodes); rsc 146 lib/pengine/native.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 147 lib/pengine/native.c pe__set_resource_flags(rsc, pe_rsc_block); rsc 152 lib/pengine/native.c if (rsc->parent rsc 153 lib/pengine/native.c && (rsc->parent->variant == pe_group || rsc->parent->variant == pe_container) rsc 154 lib/pengine/native.c && rsc->parent->recovery_type == recovery_block) { rsc 155 lib/pengine/native.c GListPtr gIter = rsc->parent->children; rsc 167 lib/pengine/native.c rsc->id, node->details->uname, rsc 168 lib/pengine/native.c recovery2text(rsc->recovery_type)); rsc 171 lib/pengine/native.c pe_rsc_trace(rsc, "Resource %s is active on: %s", rsc->id, node->details->uname); rsc 174 lib/pengine/native.c if (rsc->parent != NULL) { rsc 175 lib/pengine/native.c native_add_running(rsc->parent, node, data_set); rsc 180 lib/pengine/native.c recursive_clear_unique(pe_resource_t *rsc) rsc 182 lib/pengine/native.c pe__clear_resource_flags(rsc, pe_rsc_unique); rsc 183 lib/pengine/native.c add_hash_param(rsc->meta, XML_RSC_ATTR_UNIQUE, XML_BOOLEAN_FALSE); rsc 185 lib/pengine/native.c for (GList *child = rsc->children; child != NULL; child = child->next) { rsc 191 lib/pengine/native.c native_unpack(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 193 lib/pengine/native.c pe_resource_t *parent = uber_parent(rsc); rsc 195 lib/pengine/native.c const char *standard = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 198 lib/pengine/native.c pe_rsc_trace(rsc, "Processing resource %s...", rsc->id); rsc 201 lib/pengine/native.c rsc->variant_opaque = native_data; rsc 205 lib/pengine/native.c && pcmk_is_set(rsc->flags, pe_rsc_unique) && pe_rsc_is_clone(parent)) { rsc 212 lib/pengine/native.c pe__force_anon(standard, parent, rsc->id, data_set); rsc 220 lib/pengine/native.c recursive_clear_unique(rsc); rsc 227 lib/pengine/native.c rsc->id, standard); rsc 234 lib/pengine/native.c rsc_is_on_node(pe_resource_t *rsc, const pe_node_t *node, int flags) rsc 236 lib/pengine/native.c pe_rsc_trace(rsc, "Checking whether %s is on %s", rsc 237 lib/pengine/native.c rsc->id, node->details->uname); rsc 239 lib/pengine/native.c if (pcmk_is_set(flags, pe_find_current) && rsc->running_on) { rsc 241 lib/pengine/native.c for (GListPtr iter = rsc->running_on; iter; iter = iter->next) { rsc 250 lib/pengine/native.c && (rsc->running_on == NULL)) { rsc 253 lib/pengine/native.c } else if (!pcmk_is_set(flags, pe_find_current) && rsc->allocated_to rsc 254 lib/pengine/native.c && (rsc->allocated_to->details == node->details)) { rsc 261 lib/pengine/native.c native_find_rsc(pe_resource_t * rsc, const char *id, const pe_node_t *on_node, rsc 267 lib/pengine/native.c CRM_CHECK(id && rsc && rsc->id, return NULL); rsc 270 lib/pengine/native.c const char *rid = ID(rsc->xml); rsc 272 lib/pengine/native.c if (!pe_rsc_is_clone(uber_parent(rsc))) { rsc 275 lib/pengine/native.c } else if (!strcmp(id, rsc->id) || pcmk__str_eq(id, rid, pcmk__str_casei)) { rsc 279 lib/pengine/native.c } else if (!strcmp(id, rsc->id)) { rsc 283 lib/pengine/native.c && rsc->clone_name && strcmp(rsc->clone_name, id) == 0) { rsc 288 lib/pengine/native.c && !pcmk_is_set(rsc->flags, pe_rsc_unique))) { rsc 289 lib/pengine/native.c match = pe_base_name_eq(rsc, id); rsc 293 lib/pengine/native.c bool match_node = rsc_is_on_node(rsc, on_node, flags); rsc 301 lib/pengine/native.c return rsc; rsc 304 lib/pengine/native.c for (GListPtr gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 307 lib/pengine/native.c result = rsc->fns->find_rsc(child, id, on_node, flags); rsc 316 lib/pengine/native.c native_parameter(pe_resource_t * rsc, pe_node_t * node, gboolean create, const char *name, rsc 324 lib/pengine/native.c CRM_CHECK(rsc != NULL, return NULL); rsc 327 lib/pengine/native.c pe_rsc_trace(rsc, "Looking up %s in %s", name, rsc->id); rsc 329 lib/pengine/native.c if (create || g_hash_table_size(rsc->parameters) == 0) { rsc 331 lib/pengine/native.c pe_rsc_trace(rsc, "Creating hash with node %s", node->details->uname); rsc 333 lib/pengine/native.c pe_rsc_trace(rsc, "Creating default hash"); rsc 338 lib/pengine/native.c get_rsc_attributes(local_hash, rsc, node, data_set); rsc 342 lib/pengine/native.c hash = rsc->parameters; rsc 348 lib/pengine/native.c value = g_hash_table_lookup(rsc->meta, name); rsc 361 lib/pengine/native.c native_active(pe_resource_t * rsc, gboolean all) rsc 363 lib/pengine/native.c for (GList *gIter = rsc->running_on; gIter != NULL; gIter = gIter->next) { rsc 367 lib/pengine/native.c pe_rsc_trace(rsc, "Resource %s: node %s is unclean", rsc 368 lib/pengine/native.c rsc->id, a_node->details->uname); rsc 371 lib/pengine/native.c pe_rsc_trace(rsc, "Resource %s: node %s is offline", rsc 372 lib/pengine/native.c rsc->id, a_node->details->uname); rsc 374 lib/pengine/native.c pe_rsc_trace(rsc, "Resource %s active on %s", rsc 375 lib/pengine/native.c rsc->id, a_node->details->uname); rsc 397 lib/pengine/native.c native_pending_state(pe_resource_t * rsc) rsc 401 lib/pengine/native.c if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_START, pcmk__str_casei)) { rsc 404 lib/pengine/native.c } else if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_STOP, pcmk__str_casei)) { rsc 407 lib/pengine/native.c } else if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_MIGRATE, pcmk__str_casei)) { rsc 410 lib/pengine/native.c } else if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_MIGRATED, pcmk__str_casei)) { rsc 414 lib/pengine/native.c } else if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_PROMOTE, pcmk__str_casei)) { rsc 417 lib/pengine/native.c } else if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_DEMOTE, pcmk__str_casei)) { rsc 425 lib/pengine/native.c native_pending_task(pe_resource_t * rsc) rsc 429 lib/pengine/native.c if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_STATUS, pcmk__str_casei)) { rsc 447 lib/pengine/native.c native_displayable_role(pe_resource_t *rsc) rsc 449 lib/pengine/native.c enum rsc_role_e role = rsc->role; rsc 452 lib/pengine/native.c && pcmk_is_set(uber_parent(rsc)->flags, pe_rsc_promotable)) { rsc 460 lib/pengine/native.c native_displayable_state(pe_resource_t *rsc, long options) rsc 465 lib/pengine/native.c rsc_state = native_pending_state(rsc); rsc 468 lib/pengine/native.c rsc_state = role2text(native_displayable_role(rsc)); rsc 474 lib/pengine/native.c native_print_xml(pe_resource_t * rsc, const char *pre_text, long options, void *print_data) rsc 476 lib/pengine/native.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 477 lib/pengine/native.c const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 478 lib/pengine/native.c const char *rsc_state = native_displayable_state(rsc, options); rsc 483 lib/pengine/native.c status_print("id=\"%s\" ", rsc_printable_id(rsc)); rsc 486 lib/pengine/native.c prov ? "::" : "", prov ? prov : "", crm_element_value(rsc->xml, XML_ATTR_TYPE)); rsc 489 lib/pengine/native.c if (rsc->meta) { rsc 490 lib/pengine/native.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 495 lib/pengine/native.c status_print("active=\"%s\" ", pcmk__btoa(rsc->fns->active(rsc, TRUE))); rsc 496 lib/pengine/native.c status_print("orphaned=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_orphan)); rsc 497 lib/pengine/native.c status_print("blocked=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_block)); rsc 498 lib/pengine/native.c status_print("managed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_managed)); rsc 499 lib/pengine/native.c status_print("failed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_failed)); rsc 501 lib/pengine/native.c pe__rsc_bool_str(rsc, pe_rsc_failure_ignored)); rsc 502 lib/pengine/native.c status_print("nodes_running_on=\"%d\" ", g_list_length(rsc->running_on)); rsc 505 lib/pengine/native.c const char *pending_task = native_pending_task(rsc); rsc 514 lib/pengine/native.c pe__rsc_bool_str(rsc, pe_rsc_provisional)); rsc 515 lib/pengine/native.c status_print("runnable=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_runnable)); rsc 516 lib/pengine/native.c status_print("priority=\"%f\" ", (double)rsc->priority); rsc 517 lib/pengine/native.c status_print("variant=\"%s\" ", crm_element_name(rsc->xml)); rsc 524 lib/pengine/native.c } else if (rsc->running_on != NULL) { rsc 525 lib/pengine/native.c GListPtr gIter = rsc->running_on; rsc 574 lib/pengine/native.c native_output_string(pe_resource_t *rsc, const char *name, pe_node_t *node, rsc 577 lib/pengine/native.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 579 lib/pengine/native.c const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 589 lib/pengine/native.c provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 592 lib/pengine/native.c if ((node == NULL) && (rsc->lock_node != NULL)) { rsc 593 lib/pengine/native.c node = rsc->lock_node; rsc 596 lib/pengine/native.c || pcmk__list_of_multiple(rsc->running_on)) { rsc 615 lib/pengine/native.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 618 lib/pengine/native.c if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 619 lib/pengine/native.c enum rsc_role_e role = native_displayable_role(rsc); rsc 627 lib/pengine/native.c g_string_append_printf(outstr, " %s", native_displayable_state(rsc, options)); rsc 637 lib/pengine/native.c if (node && (node == rsc->lock_node)) { rsc 641 lib/pengine/native.c const char *pending_task = native_pending_task(rsc); rsc 657 lib/pengine/native.c } else if (pcmk_is_set(uber_parent(rsc)->flags, pe_rsc_promotable) rsc 663 lib/pengine/native.c if (pcmk_is_set(rsc->flags, pe_rsc_block)) { rsc 665 lib/pengine/native.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 668 lib/pengine/native.c if (pcmk_is_set(rsc->flags, pe_rsc_failure_ignored)) { rsc 680 lib/pengine/native.c crm_element_name(rsc->xml), rsc 681 lib/pengine/native.c (double) (rsc->priority)); rsc 689 lib/pengine/native.c || pcmk__list_of_multiple(rsc->running_on)) { rsc 690 lib/pengine/native.c const char *desc = crm_element_value(rsc->xml, XML_ATTR_DESC); rsc 698 lib/pengine/native.c && pcmk__list_of_multiple(rsc->running_on)) { rsc 701 lib/pengine/native.c for (GList *iter = rsc->running_on; iter != NULL; iter = iter->next) { rsc 717 lib/pengine/native.c pe__common_output_html(pcmk__output_t *out, pe_resource_t * rsc, rsc 720 lib/pengine/native.c const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 726 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 729 lib/pengine/native.c if (rsc->meta) { rsc 730 lib/pengine/native.c const char *is_internal = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INTERNAL_RSC); rsc 735 lib/pengine/native.c crm_trace("skipping print of internal resource %s", rsc->id); rsc 738 lib/pengine/native.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 741 lib/pengine/native.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 744 lib/pengine/native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 747 lib/pengine/native.c } else if (rsc->variant == pe_native && (rsc->running_on == NULL)) { rsc 750 lib/pengine/native.c } else if (pcmk__list_of_multiple(rsc->running_on)) { rsc 753 lib/pengine/native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failure_ignored)) { rsc 761 lib/pengine/native.c gchar *s = native_output_string(rsc, name, node, options, target_role, rsc 774 lib/pengine/native.c g_hash_table_iter_init(&iter, rsc->parameters); rsc 786 lib/pengine/native.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 798 lib/pengine/native.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 809 lib/pengine/native.c pe__common_output_text(pcmk__output_t *out, pe_resource_t * rsc, rsc 814 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 816 lib/pengine/native.c if (rsc->meta) { rsc 817 lib/pengine/native.c const char *is_internal = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INTERNAL_RSC); rsc 822 lib/pengine/native.c crm_trace("skipping print of internal resource %s", rsc->id); rsc 825 lib/pengine/native.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 829 lib/pengine/native.c gchar *s = native_output_string(rsc, name, node, options, target_role, rsc 841 lib/pengine/native.c g_hash_table_iter_init(&iter, rsc->parameters); rsc 853 lib/pengine/native.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 865 lib/pengine/native.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 876 lib/pengine/native.c common_print(pe_resource_t * rsc, const char *pre_text, const char *name, pe_node_t *node, long options, void *print_data) rsc 880 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 882 lib/pengine/native.c if (rsc->meta) { rsc 883 lib/pengine/native.c const char *is_internal = g_hash_table_lookup(rsc->meta, rsc 889 lib/pengine/native.c crm_trace("skipping print of internal resource %s", rsc->id); rsc 892 lib/pengine/native.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 896 lib/pengine/native.c native_print_xml(rsc, pre_text, options, print_data); rsc 905 lib/pengine/native.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 908 lib/pengine/native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 911 lib/pengine/native.c } else if (rsc->running_on == NULL) { rsc 914 lib/pengine/native.c } else if (pcmk__list_of_multiple(rsc->running_on)) { rsc 917 lib/pengine/native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failure_ignored)) { rsc 926 lib/pengine/native.c gchar *resource_s = native_output_string(rsc, name, node, options, rsc 935 lib/pengine/native.c && !pcmk__list_of_multiple(rsc->running_on)) { rsc 946 lib/pengine/native.c && pcmk__list_of_multiple(rsc->running_on)) { rsc 948 lib/pengine/native.c GListPtr gIter = rsc->running_on; rsc 1003 lib/pengine/native.c g_hash_table_foreach(rsc->parameters, native_print_attr, &pdata); rsc 1011 lib/pengine/native.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 1022 lib/pengine/native.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 1030 lib/pengine/native.c native_print(pe_resource_t * rsc, const char *pre_text, long options, void *print_data) rsc 1034 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 1036 lib/pengine/native.c native_print_xml(rsc, pre_text, options, print_data); rsc 1040 lib/pengine/native.c node = pe__current_node(rsc); rsc 1044 lib/pengine/native.c node = rsc->pending_node; rsc 1047 lib/pengine/native.c common_print(rsc, pre_text, rsc_printable_id(rsc), node, options, print_data); rsc 1055 lib/pengine/native.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1059 lib/pengine/native.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 1060 lib/pengine/native.c const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 1061 lib/pengine/native.c const char *rsc_state = native_displayable_state(rsc, options); rsc 1072 lib/pengine/native.c if (rsc->meta != NULL) { rsc 1073 lib/pengine/native.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 1076 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 1078 lib/pengine/native.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 1084 lib/pengine/native.c , crm_element_value(rsc->xml, XML_ATTR_TYPE)); rsc 1086 lib/pengine/native.c nodes_running_on = crm_itoa(g_list_length(rsc->running_on)); rsc 1087 lib/pengine/native.c priority = crm_ftoa(rsc->priority); rsc 1090 lib/pengine/native.c "id", rsc_printable_id(rsc), rsc 1094 lib/pengine/native.c "active", pcmk__btoa(rsc->fns->active(rsc, TRUE)), rsc 1095 lib/pengine/native.c "orphaned", pe__rsc_bool_str(rsc, pe_rsc_orphan), rsc 1096 lib/pengine/native.c "blocked", pe__rsc_bool_str(rsc, pe_rsc_block), rsc 1097 lib/pengine/native.c "managed", pe__rsc_bool_str(rsc, pe_rsc_managed), rsc 1098 lib/pengine/native.c "failed", pe__rsc_bool_str(rsc, pe_rsc_failed), rsc 1099 lib/pengine/native.c "failure_ignored", pe__rsc_bool_str(rsc, pe_rsc_failure_ignored), rsc 1101 lib/pengine/native.c "pending", (is_print_pending? native_pending_task(rsc) : NULL), rsc 1102 lib/pengine/native.c "provisional", (is_print_dev? pe__rsc_bool_str(rsc, pe_rsc_provisional) : NULL), rsc 1103 lib/pengine/native.c "runnable", (is_print_dev? pe__rsc_bool_str(rsc, pe_rsc_runnable) : NULL), rsc 1105 lib/pengine/native.c "variant", (is_print_dev? crm_element_name(rsc->xml) : NULL)); rsc 1111 lib/pengine/native.c if (rsc->running_on != NULL) { rsc 1112 lib/pengine/native.c GListPtr gIter = rsc->running_on; rsc 1134 lib/pengine/native.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1138 lib/pengine/native.c pe_node_t *node = pe__current_node(rsc); rsc 1140 lib/pengine/native.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 1144 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 1148 lib/pengine/native.c node = rsc->pending_node; rsc 1150 lib/pengine/native.c return pe__common_output_html(out, rsc, rsc_printable_id(rsc), node, options); rsc 1158 lib/pengine/native.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1162 lib/pengine/native.c pe_node_t *node = pe__current_node(rsc); rsc 1164 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 1166 lib/pengine/native.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 1172 lib/pengine/native.c node = rsc->pending_node; rsc 1174 lib/pengine/native.c return pe__common_output_text(out, rsc, rsc_printable_id(rsc), node, options); rsc 1178 lib/pengine/native.c native_free(pe_resource_t * rsc) rsc 1180 lib/pengine/native.c pe_rsc_trace(rsc, "Freeing resource action list (not the data)"); rsc 1181 lib/pengine/native.c common_free(rsc); rsc 1185 lib/pengine/native.c native_resource_state(const pe_resource_t * rsc, gboolean current) rsc 1187 lib/pengine/native.c enum rsc_role_e role = rsc->next_role; rsc 1190 lib/pengine/native.c role = rsc->role; rsc 1192 lib/pengine/native.c pe_rsc_trace(rsc, "%s state: %s", rsc->id, role2text(role)); rsc 1207 lib/pengine/native.c native_location(const pe_resource_t *rsc, GList **list, int current) rsc 1212 lib/pengine/native.c if (rsc->children) { rsc 1213 lib/pengine/native.c GListPtr gIter = rsc->children; rsc 1223 lib/pengine/native.c if (rsc->running_on) { rsc 1224 lib/pengine/native.c result = g_list_copy(rsc->running_on); rsc 1226 lib/pengine/native.c if ((current == 2) && rsc->pending_node rsc 1227 lib/pengine/native.c && !pe_find_node_id(result, rsc->pending_node->details->id)) { rsc 1228 lib/pengine/native.c result = g_list_append(result, rsc->pending_node); rsc 1231 lib/pengine/native.c } else if (current == FALSE && rsc->allocated_to) { rsc 1232 lib/pengine/native.c result = g_list_append(NULL, rsc->allocated_to); rsc 1261 lib/pengine/native.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 1263 lib/pengine/native.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 1264 lib/pengine/native.c const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 1272 lib/pengine/native.c if (rsc->variant != pe_native) { rsc 1278 lib/pengine/native.c const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 1295 lib/pengine/native.c GListPtr gIter2 = rsc->running_on; rsc 1492 lib/pengine/native.c pe__native_is_filtered(pe_resource_t *rsc, GListPtr only_rsc, gboolean check_parent) rsc 1494 lib/pengine/native.c if (pcmk__str_in_list(only_rsc, rsc_printable_id(rsc)) || rsc 1495 lib/pengine/native.c pcmk__str_in_list(only_rsc, rsc->id)) { rsc 1498 lib/pengine/native.c pe_resource_t *up = uber_parent(rsc); rsc 1500 lib/pengine/native.c if (pe_rsc_is_bundled(rsc)) { rsc 173 lib/pengine/pe_output.c resource_history_string(pe_resource_t *rsc, const char *rsc_id, gboolean all, rsc 177 lib/pengine/pe_output.c if (rsc == NULL) { rsc 196 lib/pengine/pe_output.c rsc_id, rsc->migration_threshold, failcount_s, rsc 1075 lib/pengine/pe_output.c pe_resource_t *rsc = (pe_resource_t *) lpc2->data; rsc 1076 lib/pengine/pe_output.c out->message(out, crm_map_element_name(rsc->xml), print_opts | pe_print_rsconly, rsc 1077 lib/pengine/pe_output.c rsc, only_node, only_rsc); rsc 1139 lib/pengine/pe_output.c pe_resource_t *rsc = (pe_resource_t *) gIter2->data; rsc 1140 lib/pengine/pe_output.c out->message(out, crm_map_element_name(rsc->xml), print_opts | pe_print_rsconly, rsc 1141 lib/pengine/pe_output.c rsc, only_node, only_rsc); rsc 1214 lib/pengine/pe_output.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 1215 lib/pengine/pe_output.c out->message(out, crm_map_element_name(rsc->xml), print_opts | pe_print_rsconly, rsc 1216 lib/pengine/pe_output.c rsc, only_node, only_rsc); rsc 1589 lib/pengine/pe_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1596 lib/pengine/pe_output.c char *buf = resource_history_string(rsc, rsc_id, all, failcount, last_failure); rsc 1611 lib/pengine/pe_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1621 lib/pengine/pe_output.c if (rsc == NULL) { rsc 1624 lib/pengine/pe_output.c char *migration_s = crm_itoa(rsc->migration_threshold); rsc 1699 lib/pengine/pe_output.c pe_resource_t *rsc = (pe_resource_t *) rsc_iter->data; rsc 1703 lib/pengine/pe_output.c gboolean is_active = rsc->fns->active(rsc, TRUE); rsc 1704 lib/pengine/pe_output.c gboolean partially_active = rsc->fns->active(rsc, FALSE); rsc 1707 lib/pengine/pe_output.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan) && !is_active) { rsc 1717 lib/pengine/pe_output.c } else if (brief_output && (rsc->variant == pe_native)) { rsc 1726 lib/pengine/pe_output.c } else if (partially_active && !pe__rsc_running_on_any_node_in_list(rsc, only_node)) { rsc 1731 lib/pengine/pe_output.c x = out->message(out, crm_map_element_name(rsc->xml), print_opts, rsc, rsc 1922 lib/pengine/pe_output.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 1924 lib/pengine/pe_output.c out->message(out, crm_map_element_name(rsc->xml), rsc 1925 lib/pengine/pe_output.c pe_print_pending, rsc, all, all); rsc 43 lib/pengine/pe_status_private.h pe_resource_t *pe__create_clone_child(pe_resource_t *rsc, rsc 47 lib/pengine/pe_status_private.h void pe__force_anon(const char *standard, pe_resource_t *rsc, const char *rid, rsc 17 lib/pengine/remote.c pe__resource_is_remote_conn(const pe_resource_t *rsc, rsc 20 lib/pengine/remote.c return (rsc != NULL) && rsc->is_remote_node rsc 21 lib/pengine/remote.c && pe__is_remote_node(pe_find_node(data_set->nodes, rsc->id)); rsc 67 lib/pengine/remote.c const pe_resource_t *rsc) rsc 69 lib/pengine/remote.c if ((rsc != NULL) && (data_set != NULL) rsc 72 lib/pengine/remote.c for (GList *gIter = rsc->fillers; gIter != NULL; gIter = gIter->next) { rsc 130 lib/pengine/remote.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 132 lib/pengine/remote.c if (rsc->is_remote_node && (rsc->container != NULL)) { rsc 133 lib/pengine/remote.c pe_node_t *guest_node = pe_find_node(data_set->nodes, rsc->id); rsc 214 lib/pengine/remote.c pe_resource_t *rsc; // Known resource corresponding to history entry rsc 220 lib/pengine/remote.c pe__add_param_check(xmlNode *rsc_op, pe_resource_t *rsc, pe_node_t *node, rsc 225 lib/pengine/remote.c CRM_CHECK(data_set && rsc_op && rsc && node, return); rsc 232 lib/pengine/remote.c check_op->rsc = rsc; rsc 255 lib/pengine/remote.c cb(check_op->rsc, check_op->node, check_op->rsc_op, rsc 155 lib/pengine/status.c pe_resource_t *rsc = NULL; rsc 159 lib/pengine/status.c rsc = (pe_resource_t *) iterator->data; rsc 161 lib/pengine/status.c rsc->fns->free(rsc); rsc 35 lib/pengine/tags.c pe_resource_t *rsc = pe_find_resource_with_flags(data_set->resources, id, rsc 38 lib/pengine/tags.c if (!rsc) { rsc 42 lib/pengine/tags.c retval = g_list_append(retval, strdup(rsc_printable_id(rsc))); rsc 52 lib/pengine/unpack.c static void unpack_rsc_op(pe_resource_t *rsc, pe_node_t *node, xmlNode *xml_op, rsc 104 lib/pengine/unpack.c pe_resource_t *rsc = node->details->remote_rsc->container; rsc 106 lib/pengine/unpack.c if (!pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 107 lib/pengine/unpack.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 111 lib/pengine/unpack.c node->details->uname, reason, rsc->id); rsc 115 lib/pengine/unpack.c node->details->uname, rsc->id, reason); rsc 122 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 135 lib/pengine/unpack.c pe_resource_t *rsc = node->details->remote_rsc; rsc 137 lib/pengine/unpack.c if ((rsc != NULL) && !pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 606 lib/pengine/unpack.c setup_container(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 610 lib/pengine/unpack.c if (rsc->children) { rsc 611 lib/pengine/unpack.c GListPtr gIter = rsc->children; rsc 621 lib/pengine/unpack.c container_id = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_CONTAINER); rsc 622 lib/pengine/unpack.c if (container_id && !pcmk__str_eq(container_id, rsc->id, pcmk__str_casei)) { rsc 626 lib/pengine/unpack.c rsc->container = container; rsc 628 lib/pengine/unpack.c container->fillers = g_list_append(container->fillers, rsc); rsc 629 lib/pengine/unpack.c pe_rsc_trace(rsc, "Resource %s's container is %s", rsc->id, container_id); rsc 631 lib/pengine/unpack.c pe_err("Resource %s: Unknown resource container (%s)", rsc->id, container_id); rsc 815 lib/pengine/unpack.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 817 lib/pengine/unpack.c setup_container(rsc, data_set); rsc 818 lib/pengine/unpack.c link_rsc2remotenode(data_set, rsc); rsc 973 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 987 lib/pengine/unpack.c rsc = this_node->details->remote_rsc; rsc 998 lib/pengine/unpack.c if (rsc) { rsc 999 lib/pengine/unpack.c rsc->next_role = RSC_ROLE_STOPPED; rsc 1009 lib/pengine/unpack.c ((rsc != NULL) && !pcmk_is_set(rsc->flags, pe_rsc_managed))) { rsc 1069 lib/pengine/unpack.c pe_resource_t *rsc = this_node->details->remote_rsc; rsc 1074 lib/pengine/unpack.c } else if(rsc == NULL) { rsc 1078 lib/pengine/unpack.c && rsc->role == RSC_ROLE_STARTED rsc 1079 lib/pengine/unpack.c && rsc->container->role == RSC_ROLE_STARTED) { rsc 1084 lib/pengine/unpack.c crm_trace("Checking node %s/%s/%s status %d/%d/%d", id, rsc->id, rsc->container->id, fence, rsc->role, RSC_ROLE_STARTED); rsc 1087 lib/pengine/unpack.c && ((rsc->role == RSC_ROLE_STARTED) rsc 1090 lib/pengine/unpack.c crm_trace("Checking node %s/%s status %d/%d/%d", id, rsc->id, fence, rsc->role, RSC_ROLE_STARTED); rsc 1396 lib/pengine/unpack.c pe_resource_t *rsc = this_node->details->remote_rsc; rsc 1404 lib/pengine/unpack.c if (rsc == NULL) { rsc 1409 lib/pengine/unpack.c container = rsc->container; rsc 1411 lib/pengine/unpack.c if (container && pcmk__list_of_1(rsc->running_on)) { rsc 1412 lib/pengine/unpack.c host = rsc->running_on->data; rsc 1416 lib/pengine/unpack.c if (rsc->role == RSC_ROLE_STARTED) { rsc 1423 lib/pengine/unpack.c if (rsc->role == RSC_ROLE_STARTED && rsc->next_role == RSC_ROLE_STOPPED) { rsc 1436 lib/pengine/unpack.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 1441 lib/pengine/unpack.c } else if (rsc->role == RSC_ROLE_STOPPED rsc 1616 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 1623 lib/pengine/unpack.c if (!common_unpack(xml_rsc, &rsc, NULL, data_set)) { rsc 1635 lib/pengine/unpack.c link_rsc2remotenode(data_set, rsc); rsc 1646 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_orphan_container_filler); rsc 1648 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_orphan); rsc 1649 lib/pengine/unpack.c data_set->resources = g_list_append(data_set->resources, rsc); rsc 1650 lib/pengine/unpack.c return rsc; rsc 1690 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 1700 lib/pengine/unpack.c for (rIter = parent->children; rsc == NULL && rIter; rIter = rIter->next) { rsc 1735 lib/pengine/unpack.c rsc = parent->fns->find_rsc(child, rsc_id, NULL, pe_find_clone); rsc 1736 lib/pengine/unpack.c if (rsc) { rsc 1744 lib/pengine/unpack.c if (rsc->running_on) { rsc 1749 lib/pengine/unpack.c rsc = NULL; rsc 1751 lib/pengine/unpack.c pe_rsc_trace(parent, "Resource %s, active", rsc->id); rsc 1776 lib/pengine/unpack.c if ((rsc == NULL) && !skip_inactive && (inactive_instance != NULL)) { rsc 1778 lib/pengine/unpack.c rsc = inactive_instance; rsc 1793 lib/pengine/unpack.c if ((rsc != NULL) && !pcmk_is_set(rsc->flags, pe_rsc_needs_fencing) rsc 1798 lib/pengine/unpack.c rsc = NULL; rsc 1801 lib/pengine/unpack.c if (rsc == NULL) { rsc 1802 lib/pengine/unpack.c rsc = create_anonymous_orphan(parent, rsc_id, node, data_set); rsc 1803 lib/pengine/unpack.c pe_rsc_trace(parent, "Resource %s, orphan", rsc->id); rsc 1805 lib/pengine/unpack.c return rsc; rsc 1812 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 1816 lib/pengine/unpack.c rsc = pe_find_resource(data_set->resources, rsc_id); rsc 1818 lib/pengine/unpack.c if (rsc == NULL) { rsc 1827 lib/pengine/unpack.c rsc = clone0; rsc 1836 lib/pengine/unpack.c } else if (rsc->variant > pe_native) { rsc 1842 lib/pengine/unpack.c parent = uber_parent(rsc); rsc 1848 lib/pengine/unpack.c rsc = pe__find_bundle_replica(parent->parent, node); rsc 1852 lib/pengine/unpack.c rsc = find_anonymous_clone(data_set, node, parent, base); rsc 1854 lib/pengine/unpack.c CRM_ASSERT(rsc != NULL); rsc 1858 lib/pengine/unpack.c if (rsc && !pcmk__str_eq(rsc_id, rsc->id, pcmk__str_casei) rsc 1859 lib/pengine/unpack.c && !pcmk__str_eq(rsc_id, rsc->clone_name, pcmk__str_casei)) { rsc 1861 lib/pengine/unpack.c free(rsc->clone_name); rsc 1862 lib/pengine/unpack.c rsc->clone_name = strdup(rsc_id); rsc 1863 lib/pengine/unpack.c pe_rsc_debug(rsc, "Internally renamed %s on %s to %s%s", rsc 1864 lib/pengine/unpack.c rsc_id, node->details->uname, rsc->id, rsc 1865 lib/pengine/unpack.c (pcmk_is_set(rsc->flags, pe_rsc_orphan)? " (ORPHAN)" : "")); rsc 1867 lib/pengine/unpack.c return rsc; rsc 1873 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 1877 lib/pengine/unpack.c rsc = create_fake_resource(rsc_id, rsc_entry, data_set); rsc 1880 lib/pengine/unpack.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 1883 lib/pengine/unpack.c CRM_CHECK(rsc != NULL, return NULL); rsc 1884 lib/pengine/unpack.c pe_rsc_trace(rsc, "Added orphan %s", rsc->id); rsc 1885 lib/pengine/unpack.c resource_location(rsc, NULL, -INFINITY, "__orphan_do_not_run__", data_set); rsc 1887 lib/pengine/unpack.c return rsc; rsc 1891 lib/pengine/unpack.c process_rsc_state(pe_resource_t * rsc, pe_node_t * node, rsc 1898 lib/pengine/unpack.c CRM_ASSERT(rsc); rsc 1899 lib/pengine/unpack.c pe_rsc_trace(rsc, "Resource %s is %s on %s: on_fail=%s", rsc 1900 lib/pengine/unpack.c rsc->id, role2text(rsc->role), node->details->uname, fail2text(on_fail)); rsc 1903 lib/pengine/unpack.c if (rsc->role != RSC_ROLE_UNKNOWN) { rsc 1904 lib/pengine/unpack.c pe_resource_t *iter = rsc; rsc 1910 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s (aka. %s) known on %s", rsc->id, rsc->clone_name, rsc 1922 lib/pengine/unpack.c if (rsc->role > RSC_ROLE_STOPPED rsc 1925 lib/pengine/unpack.c && pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 1937 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 1954 lib/pengine/unpack.c rsc->id); rsc 1961 lib/pengine/unpack.c reason = crm_strdup_printf("%s is thought to be active there", rsc->id); rsc 1981 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed); rsc 1982 lib/pengine/unpack.c demote_action(rsc, node, FALSE); rsc 1989 lib/pengine/unpack.c reason = crm_strdup_printf("%s failed there", rsc->id); rsc 2003 lib/pengine/unpack.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 2004 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_block); rsc 2011 lib/pengine/unpack.c resource_location(rsc, node, -INFINITY, "__action_migration_auto__", data_set); rsc 2015 lib/pengine/unpack.c rsc->next_role = RSC_ROLE_STOPPED; rsc 2019 lib/pengine/unpack.c if (rsc->role != RSC_ROLE_STOPPED && rsc->role != RSC_ROLE_UNKNOWN) { rsc 2020 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2021 lib/pengine/unpack.c stop_action(rsc, node, FALSE); rsc 2026 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2027 lib/pengine/unpack.c if (rsc->container && pe_rsc_is_bundled(rsc)) { rsc 2034 lib/pengine/unpack.c rsc->container); rsc 2035 lib/pengine/unpack.c } else if (rsc->container) { rsc 2036 lib/pengine/unpack.c stop_action(rsc->container, node, FALSE); rsc 2037 lib/pengine/unpack.c } else if (rsc->role != RSC_ROLE_STOPPED && rsc->role != RSC_ROLE_UNKNOWN) { rsc 2038 lib/pengine/unpack.c stop_action(rsc, node, FALSE); rsc 2043 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2046 lib/pengine/unpack.c if (rsc->is_remote_node) { rsc 2047 lib/pengine/unpack.c tmpnode = pe_find_node(data_set->nodes, rsc->id); rsc 2062 lib/pengine/unpack.c if (rsc->role > RSC_ROLE_STOPPED) { rsc 2063 lib/pengine/unpack.c stop_action(rsc, node, FALSE); rsc 2068 lib/pengine/unpack.c if (rsc->remote_reconnect_ms) { rsc 2069 lib/pengine/unpack.c rsc->next_role = RSC_ROLE_STOPPED; rsc 2078 lib/pengine/unpack.c if (pcmk_is_set(rsc->flags, pe_rsc_failed) && rsc->is_remote_node) { rsc 2079 lib/pengine/unpack.c tmpnode = pe_find_node(data_set->nodes, rsc->id); rsc 2085 lib/pengine/unpack.c if (rsc->role != RSC_ROLE_STOPPED && rsc->role != RSC_ROLE_UNKNOWN) { rsc 2086 lib/pengine/unpack.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 2087 lib/pengine/unpack.c if (pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 2089 lib/pengine/unpack.c rsc->id, node->details->uname); rsc 2094 lib/pengine/unpack.c rsc->id, node->details->uname); rsc 2098 lib/pengine/unpack.c native_add_running(rsc, node, data_set); rsc 2104 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed); rsc 2107 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2111 lib/pengine/unpack.c } else if (rsc->clone_name && strchr(rsc->clone_name, ':') != NULL) { rsc 2115 lib/pengine/unpack.c pe_rsc_trace(rsc, "Resetting clone_name %s for %s (stopped)", rsc->clone_name, rsc->id); rsc 2116 lib/pengine/unpack.c free(rsc->clone_name); rsc 2117 lib/pengine/unpack.c rsc->clone_name = NULL; rsc 2120 lib/pengine/unpack.c GList *possible_matches = pe__resource_actions(rsc, node, RSC_STOP, rsc 2136 lib/pengine/unpack.c process_recurring(pe_node_t * node, pe_resource_t * rsc, rsc 2145 lib/pengine/unpack.c CRM_ASSERT(rsc); rsc 2146 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s: Start index %d, stop index = %d", rsc->id, start_index, stop_index); rsc 2158 lib/pengine/unpack.c pe_rsc_trace(rsc, "Skipping %s/%s: node is offline", rsc->id, node->details->uname); rsc 2163 lib/pengine/unpack.c pe_rsc_trace(rsc, "Skipping %s/%s: resource is not active", id, node->details->uname); rsc 2167 lib/pengine/unpack.c pe_rsc_trace(rsc, "Skipping %s/%s: old %d", id, node->details->uname, counter); rsc 2173 lib/pengine/unpack.c pe_rsc_trace(rsc, "Skipping %s/%s: non-recurring", id, node->details->uname); rsc 2179 lib/pengine/unpack.c pe_rsc_trace(rsc, "Skipping %s/%s: status", id, node->details->uname); rsc 2184 lib/pengine/unpack.c key = pcmk__op_key(rsc->id, task, interval_ms); rsc 2185 lib/pengine/unpack.c pe_rsc_trace(rsc, "Creating %s/%s", key, node->details->uname); rsc 2186 lib/pengine/unpack.c custom_action(rsc, key, task, node, TRUE, TRUE, data_set); rsc 2240 lib/pengine/unpack.c unpack_shutdown_lock(xmlNode *rsc_entry, pe_resource_t *rsc, pe_node_t *node, rsc 2251 lib/pengine/unpack.c pe_rsc_info(rsc, "Shutdown lock for %s on %s expired", rsc 2252 lib/pengine/unpack.c rsc->id, node->details->uname); rsc 2253 lib/pengine/unpack.c pe__clear_resource_history(rsc, node, data_set); rsc 2255 lib/pengine/unpack.c rsc->lock_node = node; rsc 2256 lib/pengine/unpack.c rsc->lock_time = lock_time; rsc 2272 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 2307 lib/pengine/unpack.c rsc = unpack_find_resource(data_set, node, rsc_id, rsc_entry); rsc 2308 lib/pengine/unpack.c if (rsc == NULL) { rsc 2313 lib/pengine/unpack.c rsc = process_orphan_resource(rsc_entry, node, data_set); rsc 2316 lib/pengine/unpack.c CRM_ASSERT(rsc != NULL); rsc 2320 lib/pengine/unpack.c unpack_shutdown_lock(rsc_entry, rsc, node, data_set); rsc 2324 lib/pengine/unpack.c saved_role = rsc->role; rsc 2325 lib/pengine/unpack.c rsc->role = RSC_ROLE_UNKNOWN; rsc 2336 lib/pengine/unpack.c unpack_rsc_op(rsc, node, rsc_op, &last_failure, &on_fail, data_set); rsc 2341 lib/pengine/unpack.c process_recurring(node, rsc, start_index, stop_index, sorted_op_list, data_set); rsc 2346 lib/pengine/unpack.c process_rsc_state(rsc, node, on_fail, migrate_op, data_set); rsc 2348 lib/pengine/unpack.c if (get_target_role(rsc, &req_role)) { rsc 2349 lib/pengine/unpack.c if (rsc->next_role == RSC_ROLE_UNKNOWN || req_role < rsc->next_role) { rsc 2350 lib/pengine/unpack.c pe_rsc_debug(rsc, "%s: Overwriting calculated next role %s" rsc 2352 lib/pengine/unpack.c rsc->id, role2text(rsc->next_role), role2text(req_role)); rsc 2353 lib/pengine/unpack.c rsc->next_role = req_role; rsc 2355 lib/pengine/unpack.c } else if (req_role > rsc->next_role) { rsc 2356 lib/pengine/unpack.c pe_rsc_info(rsc, "%s: Not overwriting calculated next role %s" rsc 2358 lib/pengine/unpack.c rsc->id, role2text(rsc->next_role), role2text(req_role)); rsc 2362 lib/pengine/unpack.c if (saved_role > rsc->role) { rsc 2363 lib/pengine/unpack.c rsc->role = saved_role; rsc 2366 lib/pengine/unpack.c return rsc; rsc 2376 lib/pengine/unpack.c pe_resource_t *rsc; rsc 2396 lib/pengine/unpack.c rsc = pe_find_resource(data_set->resources, rsc_id); rsc 2397 lib/pengine/unpack.c if (rsc == NULL || rsc 2398 lib/pengine/unpack.c !pcmk_is_set(rsc->flags, pe_rsc_orphan_container_filler) || rsc 2399 lib/pengine/unpack.c rsc->container != NULL) { rsc 2403 lib/pengine/unpack.c pe_rsc_trace(rsc, "Mapped container of orphaned resource %s to %s", rsc 2404 lib/pengine/unpack.c rsc->id, container_id); rsc 2405 lib/pengine/unpack.c rsc->container = container; rsc 2406 lib/pengine/unpack.c container->fillers = g_list_append(container->fillers, rsc); rsc 2421 lib/pengine/unpack.c pe_resource_t *rsc = unpack_lrm_rsc_state(node, rsc_entry, data_set); rsc 2422 lib/pengine/unpack.c if (!rsc) { rsc 2425 lib/pengine/unpack.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan_container_filler)) { rsc 2440 lib/pengine/unpack.c set_active(pe_resource_t * rsc) rsc 2442 lib/pengine/unpack.c pe_resource_t *top = uber_parent(rsc); rsc 2445 lib/pengine/unpack.c rsc->role = RSC_ROLE_SLAVE; rsc 2447 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 2535 lib/pengine/unpack.c stop_happened_after(pe_resource_t *rsc, pe_node_t *node, xmlNode *xml_op, rsc 2538 lib/pengine/unpack.c xmlNode *stop_op = find_lrm_op(rsc->id, CRMD_ACTION_STOP, rsc 2545 lib/pengine/unpack.c unpack_migrate_to_success(pe_resource_t *rsc, pe_node_t *node, xmlNode *xml_op, rsc 2576 lib/pengine/unpack.c if (stop_happened_after(rsc, node, xml_op, data_set)) { rsc 2581 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 2587 lib/pengine/unpack.c migrate_from = find_lrm_op(rsc->id, CRMD_ACTION_MIGRATED, target, rsc 2592 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s op on %s exited with status=%d, rc=%d", rsc 2602 lib/pengine/unpack.c pe_rsc_trace(rsc, "Detected dangling migration op: %s on %s", ID(xml_op), rsc 2604 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 2605 lib/pengine/unpack.c rsc->dangling_migrations = g_list_prepend(rsc->dangling_migrations, node); rsc 2609 lib/pengine/unpack.c pe_rsc_trace(rsc, "Marking active on %s %p %d", target, target_node, rsc 2611 lib/pengine/unpack.c native_add_running(rsc, target_node, data_set); rsc 2616 lib/pengine/unpack.c pe_rsc_trace(rsc, "Marking active on %s %p %d", target, target_node, rsc 2619 lib/pengine/unpack.c native_add_running(rsc, target_node, data_set); rsc 2627 lib/pengine/unpack.c rsc->partial_migration_target = target_node; rsc 2628 lib/pengine/unpack.c rsc->partial_migration_source = source_node; rsc 2632 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2633 lib/pengine/unpack.c pe__clear_resource_flags(rsc, pe_rsc_allow_migrate); rsc 2640 lib/pengine/unpack.c newer_op(pe_resource_t *rsc, const char *action_name, const char *node_name, rsc 2643 lib/pengine/unpack.c xmlNode *action = find_lrm_op(rsc->id, action_name, node_name, NULL, TRUE, rsc 2650 lib/pengine/unpack.c unpack_migrate_to_failure(pe_resource_t *rsc, pe_node_t *node, xmlNode *xml_op, rsc 2666 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 2669 lib/pengine/unpack.c target_stop = find_lrm_op(rsc->id, CRMD_ACTION_STOP, target, NULL, rsc 2674 lib/pengine/unpack.c target_migrate_from = find_lrm_op(rsc->id, CRMD_ACTION_MIGRATED, target, rsc 2685 lib/pengine/unpack.c pe_rsc_trace(rsc, "stop (%d) + migrate_from (%d)", rsc 2688 lib/pengine/unpack.c native_add_running(rsc, target_node, data_set); rsc 2704 lib/pengine/unpack.c if (newer_op(rsc, CRMD_ACTION_MIGRATED, source, source_migrate_to_id, rsc 2706 lib/pengine/unpack.c || newer_op(rsc, CRMD_ACTION_START, source, source_migrate_to_id, rsc 2708 lib/pengine/unpack.c || newer_op(rsc, CRMD_ACTION_STOP, source, source_migrate_to_id, rsc 2714 lib/pengine/unpack.c rsc->dangling_migrations = g_list_prepend(rsc->dangling_migrations, node); rsc 2719 lib/pengine/unpack.c unpack_migrate_from_failure(pe_resource_t *rsc, pe_node_t *node, rsc 2733 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 2736 lib/pengine/unpack.c source_stop = find_lrm_op(rsc->id, CRMD_ACTION_STOP, source, NULL, rsc 2740 lib/pengine/unpack.c source_migrate_to = find_lrm_op(rsc->id, CRMD_ACTION_MIGRATE, rsc 2752 lib/pengine/unpack.c native_add_running(rsc, source_node, data_set); rsc 2759 lib/pengine/unpack.c const pe_resource_t *rsc, pe_working_set_t *data_set) rsc 2780 lib/pengine/unpack.c crm_xml_add(op, XML_LRM_ATTR_RSCID, rsc->id); rsc 2904 lib/pengine/unpack.c unpack_rsc_op_failure(pe_resource_t * rsc, pe_node_t * node, int rc, xmlNode * xml_op, xmlNode ** last_failure, rsc 2916 lib/pengine/unpack.c CRM_ASSERT(rsc); rsc 2936 lib/pengine/unpack.c (is_probe? "probe" : task), rsc->id, node->details->uname, rsc 2943 lib/pengine/unpack.c (is_probe? "probe" : task), rsc->id, node->details->uname, rsc 2955 lib/pengine/unpack.c rsc->id, node->details->uname); rsc 2958 lib/pengine/unpack.c record_failed_op(xml_op, node, rsc, data_set); rsc 2961 lib/pengine/unpack.c action = custom_action(rsc, strdup(key), task, NULL, TRUE, FALSE, data_set); rsc 2963 lib/pengine/unpack.c pe_rsc_trace(rsc, "on-fail %s -> %s for %s (%s)", fail2text(*on_fail), rsc 2969 lib/pengine/unpack.c resource_location(rsc, node, -INFINITY, "__stop_fail__", data_set); rsc 2972 lib/pengine/unpack.c unpack_migrate_to_failure(rsc, node, xml_op, data_set); rsc 2975 lib/pengine/unpack.c unpack_migrate_from_failure(rsc, node, xml_op, data_set); rsc 2978 lib/pengine/unpack.c rsc->role = RSC_ROLE_MASTER; rsc 2982 lib/pengine/unpack.c rsc->role = RSC_ROLE_MASTER; rsc 2983 lib/pengine/unpack.c rsc->next_role = RSC_ROLE_STOPPED; rsc 2986 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 2994 lib/pengine/unpack.c rsc->role = RSC_ROLE_SLAVE; rsc 3000 lib/pengine/unpack.c pe_rsc_trace(rsc, "Leaving %s stopped", rsc->id); rsc 3001 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 3003 lib/pengine/unpack.c } else if (rsc->role < RSC_ROLE_STARTED) { rsc 3004 lib/pengine/unpack.c pe_rsc_trace(rsc, "Setting %s active", rsc->id); rsc 3005 lib/pengine/unpack.c set_active(rsc); rsc 3008 lib/pengine/unpack.c pe_rsc_trace(rsc, "Resource %s: role=%s, unclean=%s, on_fail=%s, fail_role=%s", rsc 3009 lib/pengine/unpack.c rsc->id, role2text(rsc->role), rsc 3013 lib/pengine/unpack.c if (action->fail_role != RSC_ROLE_STARTED && rsc->next_role < action->fail_role) { rsc 3014 lib/pengine/unpack.c rsc->next_role = action->fail_role; rsc 3020 lib/pengine/unpack.c pe_resource_t *fail_rsc = rsc; rsc 3067 lib/pengine/unpack.c pe_resource_t *rsc, int rc, int target_rc, pe_node_t * node, xmlNode * xml_op, enum action_fail_response * on_fail, pe_working_set_t * data_set) rsc 3077 lib/pengine/unpack.c CRM_ASSERT(rsc); rsc 3105 lib/pengine/unpack.c pe_rsc_debug(rsc, "%s on %s: expected %d (%s), got %d (%s%s%s)", rsc 3116 lib/pengine/unpack.c pe_rsc_info(rsc, "Probe found %s active on %s at %s", rsc 3117 lib/pengine/unpack.c rsc->id, node->details->uname, rsc 3124 lib/pengine/unpack.c || !pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 3127 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 3131 lib/pengine/unpack.c rsc->next_role = RSC_ROLE_UNKNOWN; rsc 3138 lib/pengine/unpack.c pe_rsc_info(rsc, rsc 3140 lib/pengine/unpack.c rsc->id, node->details->uname, rsc 3143 lib/pengine/unpack.c rsc->role = RSC_ROLE_MASTER; rsc 3148 lib/pengine/unpack.c rsc->role = RSC_ROLE_MASTER; rsc 3170 lib/pengine/unpack.c CRM_XS " rc=%d id=%s", rsc->id, task, rsc 3174 lib/pengine/unpack.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 3175 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_block); rsc 3184 lib/pengine/unpack.c rc, task, rsc->id, node->details->uname, rsc 3196 lib/pengine/unpack.c pe_resource_t *rsc, pe_node_t *node, rsc 3201 lib/pengine/unpack.c if (pe__bundle_needs_remote_name(rsc)) { rsc 3206 lib/pengine/unpack.c pe__add_param_check(xml_op, rsc, node, pe_check_last_failure, rsc 3212 lib/pengine/unpack.c digest_data = rsc_action_digest_cmp(rsc, xml_op, node, data_set); rsc 3217 lib/pengine/unpack.c rsc->id, get_op_key(xml_op), node->details->id); rsc 3245 lib/pengine/unpack.c should_ignore_failure_timeout(pe_resource_t *rsc, xmlNode *xml_op, rsc 3269 lib/pengine/unpack.c if (rsc->remote_reconnect_ms rsc 3273 lib/pengine/unpack.c pe_node_t *remote_node = pe_find_node(data_set->nodes, rsc->id); rsc 3278 lib/pengine/unpack.c " until fencing has occurred", rsc->id); rsc 3309 lib/pengine/unpack.c check_operation_expiry(pe_resource_t *rsc, pe_node_t *node, int rc, rsc 3322 lib/pengine/unpack.c if ((rsc->failure_timeout > 0) rsc 3332 lib/pengine/unpack.c if ((now >= (last_run + rsc->failure_timeout)) rsc 3333 lib/pengine/unpack.c && !should_ignore_failure_timeout(rsc, xml_op, task, interval_ms, rsc 3339 lib/pengine/unpack.c unexpired_fail_count = pe_get_failcount(node, rsc, &last_failure, rsc 3347 lib/pengine/unpack.c (long long) now, unexpired_fail_count, rsc->failure_timeout, rsc 3349 lib/pengine/unpack.c last_failure += rsc->failure_timeout + 1; rsc 3356 lib/pengine/unpack.c if (pe_get_failcount(node, rsc, NULL, pe_fc_default, xml_op, data_set)) { rsc 3374 lib/pengine/unpack.c } else if (is_last_failure && rsc->remote_reconnect_ms) { rsc 3383 lib/pengine/unpack.c && should_clear_for_param_change(xml_op, task, rsc, node, data_set)) { rsc 3389 lib/pengine/unpack.c pe_action_t *clear_op = pe__clear_failcount(rsc, node, clear_reason, rsc 3393 lib/pengine/unpack.c && rsc->remote_reconnect_ms) { rsc 3403 lib/pengine/unpack.c "fencing of %s completes", task, rsc->id); rsc 3404 lib/pengine/unpack.c order_after_remote_fencing(clear_op, rsc, data_set); rsc 3437 lib/pengine/unpack.c get_action_on_fail(pe_resource_t *rsc, const char *key, const char *task, pe_working_set_t * data_set) rsc 3440 lib/pengine/unpack.c pe_action_t *action = custom_action(rsc, strdup(key), task, NULL, TRUE, FALSE, data_set); rsc 3449 lib/pengine/unpack.c update_resource_state(pe_resource_t * rsc, pe_node_t * node, xmlNode * xml_op, const char * task, int rc, rsc 3454 lib/pengine/unpack.c CRM_ASSERT(rsc); rsc 3461 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 3473 lib/pengine/unpack.c if (rsc->role < RSC_ROLE_STARTED) { rsc 3474 lib/pengine/unpack.c set_active(rsc); rsc 3478 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 3482 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 3486 lib/pengine/unpack.c rsc->role = RSC_ROLE_MASTER; rsc 3495 lib/pengine/unpack.c rsc->role = RSC_ROLE_SLAVE; rsc 3498 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 3502 lib/pengine/unpack.c unpack_migrate_to_success(rsc, node, xml_op, data_set); rsc 3504 lib/pengine/unpack.c } else if (rsc->role < RSC_ROLE_STARTED) { rsc 3505 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s active on %s", rsc->id, node->details->uname); rsc 3506 lib/pengine/unpack.c set_active(rsc); rsc 3516 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s.%s is not cleared by a completed stop", rsc 3517 lib/pengine/unpack.c rsc->id, fail2text(*on_fail)); rsc 3526 lib/pengine/unpack.c rsc->next_role = RSC_ROLE_UNKNOWN; rsc 3529 lib/pengine/unpack.c if (rsc->remote_reconnect_ms == 0) { rsc 3537 lib/pengine/unpack.c rsc->next_role = RSC_ROLE_UNKNOWN; rsc 3566 lib/pengine/unpack.c const pe_resource_t *rsc, pe_working_set_t *data_set) rsc 3573 lib/pengine/unpack.c record_failed_op(xml_op, node, rsc, data_set); rsc 3580 lib/pengine/unpack.c unpack_rsc_op(pe_resource_t *rsc, pe_node_t *node, xmlNode *xml_op, rsc 3593 lib/pengine/unpack.c pe_resource_t *parent = rsc; rsc 3596 lib/pengine/unpack.c CRM_CHECK(rsc && node && xml_op, return); rsc 3621 lib/pengine/unpack.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 3622 lib/pengine/unpack.c parent = uber_parent(rsc); rsc 3625 lib/pengine/unpack.c pe_rsc_trace(rsc, "Unpacking task %s/%s (call_id=%d, status=%d, rc=%d) on %s (role=%s)", rsc 3626 lib/pengine/unpack.c task_key, task, task_id, status, rc, node->details->uname, role2text(rsc->role)); rsc 3629 lib/pengine/unpack.c pe_rsc_trace(rsc, "Node %s (where %s is running) is unclean." rsc 3631 lib/pengine/unpack.c node->details->uname, rsc->id); rsc 3647 lib/pengine/unpack.c && check_operation_expiry(rsc, node, rc, xml_op, data_set)) { rsc 3652 lib/pengine/unpack.c rc = remap_monitor_rc(rc, xml_op, node, rsc, data_set); rsc 3689 lib/pengine/unpack.c status = determine_op_status(rsc, rc, target_rc, node, xml_op, on_fail, data_set); rsc 3690 lib/pengine/unpack.c pe_rsc_trace(rsc, "Remapped %s status to %d", task_key, status); rsc 3698 lib/pengine/unpack.c ID(xml_op), task, rsc->id, node->details->uname, rsc 3704 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_start_pending); rsc 3705 lib/pengine/unpack.c set_active(rsc); rsc 3708 lib/pengine/unpack.c rsc->role = RSC_ROLE_MASTER; rsc 3716 lib/pengine/unpack.c stop_action(rsc, target, FALSE); rsc 3720 lib/pengine/unpack.c if (rsc->pending_task == NULL) { rsc 3722 lib/pengine/unpack.c rsc->pending_task = strdup(task); rsc 3723 lib/pengine/unpack.c rsc->pending_node = node; rsc 3731 lib/pengine/unpack.c rsc->pending_task = strdup("probe"); rsc 3732 lib/pengine/unpack.c rsc->pending_node = node; rsc 3739 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s of %s on %s completed at %s " CRM_XS " id=%s", rsc 3740 lib/pengine/unpack.c task, rsc->id, node->details->uname, rsc 3742 lib/pengine/unpack.c update_resource_state(rsc, node, xml_op, task, rc, *last_failure, on_fail, data_set); rsc 3746 lib/pengine/unpack.c failure_strategy = get_action_on_fail(rsc, task_key, task, data_set); rsc 3751 lib/pengine/unpack.c task, rsc->id, node->details->uname, status, rc, rsc 3757 lib/pengine/unpack.c unpack_rsc_op_failure(rsc, node, rc, xml_op, last_failure, on_fail, data_set); rsc 3782 lib/pengine/unpack.c failure_strategy = get_action_on_fail(rsc, task_key, task, data_set); rsc 3790 lib/pengine/unpack.c (*exit_reason? ": " : ""), exit_reason, rsc->id, rsc 3794 lib/pengine/unpack.c update_resource_state(rsc, node, xml_op, task, target_rc, *last_failure, on_fail, data_set); rsc 3796 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failure_ignored); rsc 3798 lib/pengine/unpack.c record_failed_op(xml_op, node, rsc, data_set); rsc 3806 lib/pengine/unpack.c unpack_rsc_op_failure(rsc, node, rc, xml_op, last_failure, on_fail, data_set); rsc 3831 lib/pengine/unpack.c pe_rsc_trace(rsc, "Resource %s after %s: role=%s, next=%s", rsc 3832 lib/pengine/unpack.c rsc->id, task, role2text(rsc->role), rsc 3833 lib/pengine/unpack.c role2text(rsc->next_role)); rsc 3893 lib/pengine/unpack.c extract_operations(const char *node, const char *rsc, xmlNode * rsc_entry, gboolean active_filter) rsc 3914 lib/pengine/unpack.c crm_xml_add(rsc_op, "resource", rsc); rsc 3957 lib/pengine/unpack.c find_operations(const char *rsc, const char *node, gboolean active_filter, rsc 4011 lib/pengine/unpack.c if (rsc != NULL && !pcmk__str_eq(rsc_id, rsc, pcmk__str_casei)) { rsc 28 lib/pengine/utils.c static xmlNode *find_rsc_op_entry_helper(pe_resource_t * rsc, const char *key, rsc 93 lib/pengine/utils.c pe_resource_t *rsc = node->details->remote_rsc->container; rsc 95 lib/pengine/utils.c for (GList *n = rsc->running_on; n != NULL; n = n->next) { rsc 230 lib/pengine/utils.c pe__output_node_weights(pe_resource_t *rsc, const char *comment, rsc 242 lib/pengine/utils.c if (rsc) { rsc 244 lib/pengine/utils.c comment, rsc->id, node->details->uname, score); rsc 265 lib/pengine/utils.c pe_resource_t *rsc, const char *comment, GHashTable *nodes) rsc 277 lib/pengine/utils.c if (rsc) { rsc 281 lib/pengine/utils.c comment, rsc->id, rsc 306 lib/pengine/utils.c bool to_log, pe_resource_t *rsc, const char *comment, rsc 309 lib/pengine/utils.c if (rsc != NULL) { rsc 310 lib/pengine/utils.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 314 lib/pengine/utils.c nodes = rsc->allowed_nodes; rsc 322 lib/pengine/utils.c pe__log_node_weights(file, function, line, rsc, comment, nodes); rsc 324 lib/pengine/utils.c pe__output_node_weights(rsc, comment, nodes); rsc 328 lib/pengine/utils.c if (rsc && rsc->children) { rsc 329 lib/pengine/utils.c for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 367 lib/pengine/utils.c dump_rsc_utilization(int level, const char *comment, pe_resource_t * rsc, pe_node_t * node) rsc 370 lib/pengine/utils.c comment, rsc->id, node->details->uname); rsc 372 lib/pengine/utils.c g_hash_table_foreach(rsc->utilization, append_dump_text, &dump_text); rsc 440 lib/pengine/utils.c effective_quorum_policy(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 448 lib/pengine/utils.c switch (rsc->role) { rsc 451 lib/pengine/utils.c if (rsc->next_role > RSC_ROLE_SLAVE) { rsc 452 lib/pengine/utils.c rsc->next_role = RSC_ROLE_SLAVE; rsc 465 lib/pengine/utils.c custom_action(pe_resource_t * rsc, char *key, const char *task, rsc 475 lib/pengine/utils.c if (save_action && rsc != NULL) { rsc 476 lib/pengine/utils.c possible_matches = find_actions(rsc->actions, key, on_node); rsc 493 lib/pengine/utils.c task, rsc ? rsc->id : "<NULL>", rsc 498 lib/pengine/utils.c pe_rsc_trace(rsc, "Found action %d: %s for %s (%s) on %s", rsc 499 lib/pengine/utils.c action->id, task, (rsc? rsc->id : "no resource"), rsc 507 lib/pengine/utils.c pe_rsc_trace(rsc, "Creating action %d (%s): %s for %s (%s) on %s", rsc 510 lib/pengine/utils.c task, (rsc? rsc->id : "no resource"), key, rsc 520 lib/pengine/utils.c action->rsc = rsc; rsc 544 lib/pengine/utils.c if(rsc == NULL) { rsc 549 lib/pengine/utils.c if (rsc != NULL) { rsc 552 lib/pengine/utils.c action->op_entry = find_rsc_op_entry_helper(rsc, key, TRUE); rsc 555 lib/pengine/utils.c unpack_operation(action, action->op_entry, rsc->container, data_set, rsc 559 lib/pengine/utils.c rsc->actions = g_list_prepend(rsc->actions, action); rsc 568 lib/pengine/utils.c if (rsc != NULL) { rsc 570 lib/pengine/utils.c enum pe_quorum_policy quorum_policy = effective_quorum_policy(rsc, data_set); rsc 598 lib/pengine/utils.c pe_rsc_trace(rsc, "%s is unrunnable (unallocated)", rsc 602 lib/pengine/utils.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_managed) rsc 605 lib/pengine/utils.c pe_rsc_debug(rsc, "%s on %s is optional (%s is unmanaged)", rsc 606 lib/pengine/utils.c action->uuid, action->node->details->uname, rsc->id); rsc 618 lib/pengine/utils.c if (pcmk_is_set(action->rsc->flags, pe_rsc_managed) rsc 640 lib/pengine/utils.c pe_rsc_debug(rsc, "%s on %s is unrunnable " rsc 645 lib/pengine/utils.c pe_rsc_trace(rsc, "%s on %s does not require fencing or quorum", rsc 659 lib/pengine/utils.c pe_rsc_debug(rsc, "%s on %s is unrunnable (no quorum)", rsc 665 lib/pengine/utils.c if (rsc->fns->active(rsc, TRUE) == FALSE || rsc->next_role > rsc->role) { rsc 666 lib/pengine/utils.c pe_rsc_debug(rsc, "%s on %s is unrunnable (no quorum)", rsc 681 lib/pengine/utils.c pe__set_resource_flags(rsc, pe_rsc_stopping); rsc 684 lib/pengine/utils.c pe__clear_resource_flags(rsc, pe_rsc_starting); rsc 686 lib/pengine/utils.c pe__set_resource_flags(rsc, pe_rsc_starting); rsc 721 lib/pengine/utils.c "allowed for stop", action->rsc->id, value); rsc 728 lib/pengine/utils.c CRM_CHECK(action->rsc != NULL, return NULL); rsc 730 lib/pengine/utils.c for (operation = pcmk__xe_first_child(action->rsc->ops_xml); rsc 771 lib/pengine/utils.c "allowed for it", action->rsc->id, name); rsc 780 lib/pengine/utils.c find_min_interval_mon(pe_resource_t * rsc, gboolean include_disabled) rsc 790 lib/pengine/utils.c for (operation = pcmk__xe_first_child(rsc->ops_xml); rsc 892 lib/pengine/utils.c pe_get_configured_timeout(pe_resource_t *rsc, const char *action, pe_working_set_t *data_set) rsc 908 lib/pengine/utils.c for (child = first_named_child(rsc->ops_xml, XML_ATTR_OP); rsc 1002 lib/pengine/utils.c .standard = crm_element_value(action->rsc->xml, XML_AGENT_ATTR_CLASS), rsc 1003 lib/pengine/utils.c .provider = crm_element_value(action->rsc->xml, XML_AGENT_ATTR_PROVIDER), rsc 1004 lib/pengine/utils.c .agent = crm_element_value(action->rsc->xml, XML_EXPR_ATTR_TYPE) rsc 1021 lib/pengine/utils.c CRM_CHECK(action && action->rsc, return); rsc 1030 lib/pengine/utils.c xmlNode *min_interval_mon = find_min_interval_mon(action->rsc, FALSE); rsc 1103 lib/pengine/utils.c && action->rsc->parameters) { rsc 1105 lib/pengine/utils.c value = g_hash_table_lookup(action->rsc->parameters, rsc 1126 lib/pengine/utils.c } else if (pcmk_is_set(action->rsc->flags, pe_rsc_needs_fencing)) { rsc 1130 lib/pengine/utils.c } else if (pcmk_is_set(action->rsc->flags, pe_rsc_needs_quorum)) { rsc 1138 lib/pengine/utils.c pe_rsc_trace(action->rsc, "%s requires %s", action->uuid, value); rsc 1197 lib/pengine/utils.c pe_err("Resource %s: Unknown failure type (%s)", action->rsc->id, value); rsc 1214 lib/pengine/utils.c } else if (((value == NULL) || !pcmk_is_set(action->rsc->flags, pe_rsc_managed)) rsc 1215 lib/pengine/utils.c && pe__resource_is_remote_conn(action->rsc, data_set) rsc 1220 lib/pengine/utils.c if (!pcmk_is_set(action->rsc->flags, pe_rsc_managed)) { rsc 1232 lib/pengine/utils.c if (action->rsc->remote_reconnect_ms) { rsc 1253 lib/pengine/utils.c pe_rsc_trace(action->rsc, "%s failure handling: %s", rsc 1275 lib/pengine/utils.c pe_rsc_trace(action->rsc, "%s failure results in: %s", rsc 1299 lib/pengine/utils.c find_rsc_op_entry_helper(pe_resource_t * rsc, const char *key, gboolean include_disabled) rsc 1312 lib/pengine/utils.c for (operation = pcmk__xe_first_child(rsc->ops_xml); operation != NULL; rsc 1324 lib/pengine/utils.c match_key = pcmk__op_key(rsc->id, name, interval_ms); rsc 1330 lib/pengine/utils.c if (rsc->clone_name) { rsc 1331 lib/pengine/utils.c match_key = pcmk__op_key(rsc->clone_name, name, interval_ms); rsc 1352 lib/pengine/utils.c local_key = pcmk__op_key(rsc->id, "migrate", 0); rsc 1357 lib/pengine/utils.c local_key = pcmk__op_key(rsc->id, "notify", 0); rsc 1366 lib/pengine/utils.c find_rsc_op_entry(pe_resource_t * rsc, const char *key) rsc 1368 lib/pengine/utils.c return find_rsc_op_entry_helper(rsc, key, FALSE); rsc 1399 lib/pengine/utils.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 1401 lib/pengine/utils.c rsc->fns->print(rsc, "\t\t", pe_print_log|pe_print_pending, rsc 1433 lib/pengine/utils.c if (action->rsc) { rsc 1480 lib/pengine/utils.c get_complex_task(pe_resource_t * rsc, const char *name, gboolean allow_non_atomic) rsc 1484 lib/pengine/utils.c if (rsc == NULL) { rsc 1487 lib/pengine/utils.c } else if (allow_non_atomic == FALSE || rsc->variant == pe_native) { rsc 1493 lib/pengine/utils.c crm_trace("Folding %s back into its atomic counterpart for %s", name, rsc->id); rsc 1621 lib/pengine/utils.c pe__resource_actions(const pe_resource_t *rsc, const pe_node_t *node, rsc 1625 lib/pengine/utils.c char *key = pcmk__op_key(rsc->id, task, 0); rsc 1628 lib/pengine/utils.c result = find_actions_exact(rsc->actions, key, node); rsc 1630 lib/pengine/utils.c result = find_actions(rsc->actions, key, node); rsc 1637 lib/pengine/utils.c resource_node_score(pe_resource_t * rsc, pe_node_t * node, int score, const char *tag) rsc 1641 lib/pengine/utils.c if ((rsc->exclusive_discover || (node->rsc_discover_mode == pe_discover_never)) rsc 1649 lib/pengine/utils.c } else if (rsc->children) { rsc 1650 lib/pengine/utils.c GListPtr gIter = rsc->children; rsc 1659 lib/pengine/utils.c pe_rsc_trace(rsc, "Setting %s for %s on %s: %d", tag, rsc->id, node->details->uname, score); rsc 1660 lib/pengine/utils.c match = pe_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 1663 lib/pengine/utils.c g_hash_table_insert(rsc->allowed_nodes, (gpointer) match->details->id, match); rsc 1669 lib/pengine/utils.c resource_location(pe_resource_t * rsc, pe_node_t * node, int score, const char *tag, rsc 1673 lib/pengine/utils.c resource_node_score(rsc, node, score, tag); rsc 1681 lib/pengine/utils.c resource_node_score(rsc, node_iter, score, tag); rsc 1688 lib/pengine/utils.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 1690 lib/pengine/utils.c resource_node_score(rsc, node_iter, score, tag); rsc 1695 lib/pengine/utils.c if (rsc->allocated_to) { rsc 1696 lib/pengine/utils.c crm_info("Deallocating %s from %s", rsc->id, rsc->allocated_to->details->uname); rsc 1697 lib/pengine/utils.c free(rsc->allocated_to); rsc 1698 lib/pengine/utils.c rsc->allocated_to = NULL; rsc 1845 lib/pengine/utils.c get_target_role(pe_resource_t * rsc, enum rsc_role_e * role) rsc 1848 lib/pengine/utils.c const char *value = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 1860 lib/pengine/utils.c "because '%s' is not valid", rsc->id, value); rsc 1864 lib/pengine/utils.c if (pcmk_is_set(uber_parent(rsc)->flags, pe_rsc_promotable)) { rsc 1873 lib/pengine/utils.c "clones", rsc->id, value); rsc 2054 lib/pengine/utils.c rsc_action_digest(pe_resource_t *rsc, const char *task, const char *key, rsc 2063 lib/pengine/utils.c pe_action_t *action = custom_action(rsc, strdup(key), task, node, TRUE, FALSE, data_set); rsc 2076 lib/pengine/utils.c get_rsc_attributes(local_rsc_params, rsc, node, data_set); rsc 2078 lib/pengine/utils.c pe_get_versioned_attributes(local_versioned_params, rsc, node, data_set); rsc 2084 lib/pengine/utils.c if (pe__add_bundle_remote_name(rsc, data->params_all, rsc 2087 lib/pengine/utils.c rsc->id, node->details->uname); rsc 2092 lib/pengine/utils.c g_hash_table_foreach(rsc->parameters, hash2field, data->params_all); rsc 2110 lib/pengine/utils.c append_versioned_params(rsc->versioned_parameters, ra_version, data->params_all); rsc 2148 lib/pengine/utils.c rsc_action_digest_cmp(pe_resource_t * rsc, xmlNode * xml_op, pe_node_t * node, rsc 2168 lib/pengine/utils.c key = pcmk__op_key(rsc->id, task, interval_ms); rsc 2169 lib/pengine/utils.c data = rsc_action_digest(rsc, task, key, node, xml_op, rsc 2175 lib/pengine/utils.c pe_rsc_info(rsc, "Parameters to %s on %s changed: was %s vs. now %s (restart:%s) %s", rsc 2186 lib/pengine/utils.c pe_rsc_info(rsc, "Parameters to %s on %s changed: was %s vs. now %s (%s:%s) %s", rsc 2277 lib/pengine/utils.c fencing_action_digest_cmp(pe_resource_t *rsc, const char *agent, rsc 2283 lib/pengine/utils.c char *key = pcmk__op_key(rsc->id, STONITH_DIGEST_TASK, 0); rsc 2284 lib/pengine/utils.c op_digest_cache_t *data = rsc_action_digest(rsc, STONITH_DIGEST_TASK, key, rsc 2297 lib/pengine/utils.c if (unfencing_digest_matches(rsc->id, agent, data->digest_all_calc, rsc 2305 lib/pengine/utils.c if (unfencing_digest_matches(rsc->id, agent, data->digest_secure_calc, rsc 2310 lib/pengine/utils.c rsc->id, node->details->uname); rsc 2319 lib/pengine/utils.c char *digest = create_unfencing_summary(rsc->id, agent, rsc 2323 lib/pengine/utils.c rsc->id, node->details->uname, digest); rsc 2329 lib/pengine/utils.c const char *rsc_printable_id(pe_resource_t *rsc) rsc 2331 lib/pengine/utils.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 2332 lib/pengine/utils.c return ID(rsc->xml); rsc 2334 lib/pengine/utils.c return rsc->id; rsc 2338 lib/pengine/utils.c pe__clear_resource_flags_recursive(pe_resource_t *rsc, uint64_t flags) rsc 2340 lib/pengine/utils.c pe__clear_resource_flags(rsc, flags); rsc 2341 lib/pengine/utils.c for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 2347 lib/pengine/utils.c pe__set_resource_flags_recursive(pe_resource_t *rsc, uint64_t flags) rsc 2349 lib/pengine/utils.c pe__set_resource_flags(rsc, flags); rsc 2350 lib/pengine/utils.c for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 2550 lib/pengine/utils.c pe_resource_t * rsc, pe_node_t *node, const char *reason, pe_action_t *dependency, pe_working_set_t * data_set) rsc 2556 lib/pengine/utils.c } else if ((rsc != NULL) rsc 2557 lib/pengine/utils.c && !pcmk_is_set(rsc->flags, pe_rsc_fence_device)) { rsc 2571 lib/pengine/utils.c } else if(rsc) { rsc 2574 lib/pengine/utils.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 2577 lib/pengine/utils.c trigger_unfencing(rsc, node, reason, dependency, data_set); rsc 2665 lib/pengine/utils.c } else if(reason->rsc == NULL) { rsc 2668 lib/pengine/utils.c reason_text = crm_strdup_printf("%s %s %s%c %s", change, reason->rsc->id, reason->task, text?':':0, text?text:"NA"); rsc 2671 lib/pengine/utils.c if(reason_text && action->rsc != reason->rsc) { rsc 2681 lib/pengine/utils.c pe_rsc_trace(action->rsc, "Changing %s reason from '%s' to '%s'", rsc 2685 lib/pengine/utils.c pe_rsc_trace(action->rsc, "Set %s reason to '%s'", rsc 2759 lib/pengine/utils.c pe__resource_is_disabled(pe_resource_t *rsc) rsc 2763 lib/pengine/utils.c CRM_CHECK(rsc != NULL, return false); rsc 2764 lib/pengine/utils.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 2770 lib/pengine/utils.c && pcmk_is_set(uber_parent(rsc)->flags, pe_rsc_promotable))) { rsc 2787 lib/pengine/utils.c pe__clear_resource_history(pe_resource_t *rsc, pe_node_t *node, rsc 2792 lib/pengine/utils.c CRM_ASSERT(rsc && node); rsc 2793 lib/pengine/utils.c key = pcmk__op_key(rsc->id, CRM_OP_LRM_DELETE, 0); rsc 2794 lib/pengine/utils.c return custom_action(rsc, key, CRM_OP_LRM_DELETE, node, FALSE, TRUE, rsc 2799 lib/pengine/utils.c pe__rsc_running_on_any_node_in_list(pe_resource_t *rsc, GListPtr node_list) rsc 2801 lib/pengine/utils.c for (GListPtr ele = rsc->running_on; ele; ele = ele->next) { rsc 2812 lib/pengine/utils.c pcmk__rsc_filtered_by_node(pe_resource_t *rsc, GListPtr only_node) rsc 2814 lib/pengine/utils.c return (rsc->fns->active(rsc, FALSE) && !pe__rsc_running_on_any_node_in_list(rsc, only_node)); rsc 2823 lib/pengine/utils.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 2828 lib/pengine/utils.c if (pcmk__str_in_list(filter, rsc_printable_id(rsc)) || rsc 2829 lib/pengine/utils.c (rsc->parent && pcmk__str_in_list(filter, rsc_printable_id(rsc->parent)))) { rsc 2830 lib/pengine/utils.c retval = g_list_prepend(retval, rsc); rsc 37 lib/pengine/variant.h # define get_clone_variant_data(data, rsc) \ rsc 38 lib/pengine/variant.h CRM_ASSERT(rsc != NULL); \ rsc 39 lib/pengine/variant.h CRM_ASSERT(rsc->variant == pe_clone); \ rsc 40 lib/pengine/variant.h data = (clone_variant_data_t *)rsc->variant_opaque; rsc 112 lib/pengine/variant.h # define get_bundle_variant_data(data, rsc) \ rsc 113 lib/pengine/variant.h CRM_ASSERT(rsc != NULL); \ rsc 114 lib/pengine/variant.h CRM_ASSERT(rsc->variant == pe_container); \ rsc 115 lib/pengine/variant.h CRM_ASSERT(rsc->variant_opaque != NULL); \ rsc 116 lib/pengine/variant.h data = (pe__bundle_variant_data_t *)rsc->variant_opaque; \ rsc 133 lib/pengine/variant.h # define get_group_variant_data(data, rsc) \ rsc 134 lib/pengine/variant.h CRM_ASSERT(rsc != NULL); \ rsc 135 lib/pengine/variant.h CRM_ASSERT(rsc->variant == pe_group); \ rsc 136 lib/pengine/variant.h CRM_ASSERT(rsc->variant_opaque != NULL); \ rsc 137 lib/pengine/variant.h data = (group_variant_data_t *)rsc->variant_opaque; \ rsc 145 lib/pengine/variant.h # define get_native_variant_data(data, rsc) \ rsc 146 lib/pengine/variant.h CRM_ASSERT(rsc != NULL); \ rsc 147 lib/pengine/variant.h CRM_ASSERT(rsc->variant == pe_native); \ rsc 148 lib/pengine/variant.h CRM_ASSERT(rsc->variant_opaque != NULL); \ rsc 149 lib/pengine/variant.h data = (native_variant_data_t *)rsc->variant_opaque; rsc 127 lib/services/services.c expand_resource_class(const char *rsc, const char *standard, const char *agent) rsc 135 lib/services/services.c crm_debug("Found %s agent %s for %s", found_class, agent, rsc); rsc 139 lib/services/services.c agent, rsc); rsc 211 lib/services/services.c op->rsc = strdup(name); rsc 441 lib/services/services.c crm_trace("Removing timer for call %s to %s", op->action, op->rsc); rsc 505 lib/services/services.c free(op->rsc); rsc 717 lib/services/services.c if (op->rsc) { rsc 763 lib/services/services.c && op->rsc && is_op_blocked(op->rsc)) { rsc 781 lib/services/services.c is_op_blocked(const char *rsc) rsc 788 lib/services/services.c if (pcmk__str_eq(op->rsc, rsc, pcmk__str_casei)) { rsc 815 lib/services/services.c if (is_op_blocked(op->rsc)) { rsc 901 lib/services/services.c op->rsc, op->action, op->interval_ms, op->opaque->exec, op->rc); rsc 428 lib/services/services_linux.c if (op->rsc) { rsc 429 lib/services/services_linux.c set_ocf_env("OCF_RESOURCE_INSTANCE", op->rsc, NULL); rsc 715 lib/services/services_linux.c if (pcmk__substitute_secrets(op->rsc, op->params) != pcmk_rc_ok) { rsc 719 lib/services/services_linux.c crm_info("proceeding with the stop operation for %s", op->rsc); rsc 723 lib/services/services_linux.c "considering resource not configured", op->rsc); rsc 74 lib/services/services_private.h gboolean is_op_blocked(const char *rsc); rsc 234 lib/services/systemd.c crm_trace("Could not issue %s for %s: %s", op->action, op->rsc, error); rsc 240 lib/services/systemd.c crm_trace("Masking %s failure for %s: unknown services are stopped", op->action, op->rsc); rsc 245 lib/services/systemd.c crm_trace("Mapping %s failure for %s: unknown services are not installed", op->action, op->rsc); rsc 554 lib/services/systemd.c crm_err("Could not issue %s for %s: %s", op->action, op->rsc, error.message); rsc 587 lib/services/systemd.c crm_trace("Got result: %p for %p for %s, %s", reply, pending, op->rsc, op->action); rsc 699 lib/services/systemd.c crm_trace("Resource %s has %s='%s'", op->rsc, name, state); rsc 767 lib/services/systemd.c crm_debug("Calling %s for %s: %s", method, op->rsc, unit); rsc 821 lib/services/systemd.c crm_warn("%s operation on systemd unit %s named '%s' timed out", op->action, op->agent, op->rsc); rsc 838 lib/services/systemd.c op->synchronous ? "" : "a", op->action, op->agent, op->rsc); rsc 343 lib/services/upstart.c crm_trace("Could not issue %s for %s: %s", op->action, op->rsc, error); rsc 346 lib/services/upstart.c crm_trace("Masking %s failure for %s: unknown services are stopped", op->action, op->rsc); rsc 350 lib/services/upstart.c crm_trace("Mapping %s failure for %s: unknown services are not installed", op->action, op->rsc); rsc 358 lib/services/upstart.c crm_trace("Mapping %s failure for %s: starting a started resource is allowed", op->action, op->rsc); rsc 382 lib/services/upstart.c crm_err("%s for %s: %s", op->action, op->rsc, error.message); rsc 489 lib/services/upstart.c crm_debug("Calling %s for %s on %s", action, op->rsc, job); rsc 527 lib/services/upstart.c action, op->rsc, error.message, job); rsc 1581 tools/crm_mon.c send_custom_trap(const char *node, const char *rsc, const char *task, int target_rc, int rc, rsc 1593 tools/crm_mon.c if(rsc) { rsc 1594 tools/crm_mon.c setenv("CRM_notify_rsc", rsc, 1); rsc 1631 tools/crm_mon.c char *rsc = NULL; rsc 1669 tools/crm_mon.c if (parse_op_key(id, &rsc, &task, NULL) == FALSE) { rsc 1700 tools/crm_mon.c crm_notice("%s of %s on %s completed: %s", task, rsc, node, desc); rsc 1707 tools/crm_mon.c crm_warn("%s of %s on %s failed: %s", task, rsc, node, desc); rsc 1711 tools/crm_mon.c crm_warn("%s of %s on %s failed: %s", task, rsc, node, desc); rsc 1715 tools/crm_mon.c send_custom_trap(node, rsc, task, target_rc, rc, status, desc); rsc 1718 tools/crm_mon.c free(rsc); rsc 112 tools/crm_mon.h void crm_mon_get_parameters(pe_resource_t *rsc, pe_working_set_t *data_set); rsc 97 tools/crm_mon_print.c pe_resource_t *rsc = pe_find_resource_with_flags(data_set->resources, s, rsc 100 tools/crm_mon_print.c if (rsc) { rsc 107 tools/crm_mon_print.c resources = g_list_prepend(resources, strdup(rsc->id)); rsc 109 tools/crm_mon_print.c resources = g_list_prepend(resources, strdup(rsc_printable_id(rsc))); rsc 124 tools/crm_mon_print.c failure_count(pe_working_set_t *data_set, pe_node_t *node, pe_resource_t *rsc, time_t *last_failure) { rsc 125 tools/crm_mon_print.c return rsc ? pe_get_failcount(node, rsc, last_failure, pe_fc_default, rsc 181 tools/crm_mon_print.c pe_resource_t *rsc = pe_find_resource(data_set->resources, rsc_id); rsc 201 tools/crm_mon_print.c int failcount = failure_count(data_set, node, rsc, &last_failure); rsc 203 tools/crm_mon_print.c out->message(out, "resource-history", rsc, rsc_id, TRUE, failcount, last_failure, TRUE); rsc 246 tools/crm_mon_print.c pe_resource_t *rsc = pe_find_resource(data_set->resources, rsc_id); rsc 260 tools/crm_mon_print.c if (uber_parent(rsc)->variant == pe_group) { rsc 261 tools/crm_mon_print.c if (!pcmk__str_in_list(only_rsc, rsc_printable_id(rsc)) && rsc 262 tools/crm_mon_print.c !pcmk__str_in_list(only_rsc, rsc_printable_id(uber_parent(rsc)))) { rsc 266 tools/crm_mon_print.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 273 tools/crm_mon_print.c int failcount = failure_count(data_set, node, rsc, &last_failure); rsc 289 tools/crm_mon_print.c out->message(out, "resource-history", rsc, rsc_id, FALSE, rsc 338 tools/crm_mon_print.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 339 tools/crm_mon_print.c const char *type = g_hash_table_lookup(rsc->meta, "type"); rsc 342 tools/crm_mon_print.c if (rsc->children != NULL) { rsc 343 tools/crm_mon_print.c if (add_extra_info(out, node, rsc->children, attrname, expected_score)) { rsc 352 tools/crm_mon_print.c name = g_hash_table_lookup(rsc->parameters, "name"); rsc 362 tools/crm_mon_print.c const char *hosts = g_hash_table_lookup(rsc->parameters, "host_list"); rsc 363 tools/crm_mon_print.c const char *multiplier = g_hash_table_lookup(rsc->parameters, "multiplier"); rsc 622 tools/crm_mon_print.c char *rsc = NULL; rsc 629 tools/crm_mon_print.c if (parse_op_key(id ? id : ID(xml_op), &rsc, NULL, NULL) == FALSE) { rsc 633 tools/crm_mon_print.c if (!pcmk__str_in_list(only_rsc, rsc)) { rsc 634 tools/crm_mon_print.c free(rsc); rsc 638 tools/crm_mon_print.c free(rsc); rsc 70 tools/crm_mon_runtime.c crm_mon_get_parameters(pe_resource_t *rsc, pe_working_set_t * data_set) rsc 72 tools/crm_mon_runtime.c get_rsc_attributes(rsc->parameters, rsc, NULL, data_set); rsc 73 tools/crm_mon_runtime.c if(rsc->children) { rsc 76 tools/crm_mon_runtime.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 905 tools/crm_resource.c ban_or_move(pe_resource_t *rsc, const char *move_lifetime, crm_exit_t *exit_code) rsc 911 tools/crm_resource.c CRM_CHECK(rsc != NULL, return EINVAL); rsc 913 tools/crm_resource.c current = pe__find_active_requires(rsc, &nactive); rsc 919 tools/crm_resource.c } else if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 924 tools/crm_resource.c for(iter = rsc->children; iter; iter = iter->next) { rsc 964 tools/crm_resource.c cleanup(pe_resource_t *rsc) rsc 969 tools/crm_resource.c rsc = uber_parent(rsc); rsc 973 tools/crm_resource.c rsc->id, options.rsc_id, (options.host_uname? options.host_uname: "all nodes")); rsc 974 tools/crm_resource.c rc = cli_resource_delete(controld_api, options.host_uname, rsc, options.operation, rsc 979 tools/crm_resource.c cli_resource_check(cib_conn, rsc); rsc 1171 tools/crm_resource.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 1174 tools/crm_resource.c cli_resource_print_raw(rsc); rsc 1186 tools/crm_resource.c list_stacks_and_constraints(pe_resource_t *rsc, bool recursive) rsc 1195 tools/crm_resource.c rsc = uber_parent(rsc); rsc 1203 tools/crm_resource.c cli_resource_print_colocation(rsc, TRUE, recursive, 1); rsc 1205 tools/crm_resource.c fprintf(stdout, "* %s\n", rsc->id); rsc 1206 tools/crm_resource.c cli_resource_print_location(rsc, NULL); rsc 1214 tools/crm_resource.c cli_resource_print_colocation(rsc, FALSE, recursive, 1); rsc 1294 tools/crm_resource.c refresh_resource(pe_resource_t *rsc) rsc 1299 tools/crm_resource.c rsc = uber_parent(rsc); rsc 1303 tools/crm_resource.c rsc->id, options.rsc_id, (options.host_uname? options.host_uname: "all nodes")); rsc 1304 tools/crm_resource.c rc = cli_resource_delete(controld_api, options.host_uname, rsc, NULL, 0, FALSE, rsc 1309 tools/crm_resource.c cli_resource_check(cib_conn, rsc); rsc 1503 tools/crm_resource.c pe_resource_t *rsc = NULL; rsc 1671 tools/crm_resource.c rsc = pe_find_resource_with_flags(data_set->resources, options.rsc_id, rsc 1673 tools/crm_resource.c if (rsc == NULL) { rsc 1728 tools/crm_resource.c rc = cli_resource_restart(rsc, options.host_uname, rsc 1740 tools/crm_resource.c exit_code = cli_resource_execute(rsc, options.rsc_id, rsc 1749 tools/crm_resource.c list_stacks_and_constraints(rsc, false); rsc 1753 tools/crm_resource.c list_stacks_and_constraints(rsc, true); rsc 1761 tools/crm_resource.c rsc = (pe_resource_t *) lpc->data; rsc 1762 tools/crm_resource.c cli_resource_print_cts(rsc); rsc 1788 tools/crm_resource.c cli_resource_search(rsc, options.rsc_id, data_set); rsc 1793 tools/crm_resource.c rc = cli_resource_print(rsc, data_set, TRUE); rsc 1797 tools/crm_resource.c rc = cli_resource_print(rsc, data_set, FALSE); rsc 1811 tools/crm_resource.c cli_resource_why(cib_conn, data_set->resources, rsc, dest); rsc 1822 tools/crm_resource.c rc = ban_or_move(rsc, options.move_lifetime, &exit_code); rsc 1824 tools/crm_resource.c rc = cli_resource_move(rsc, options.rsc_id, options.host_uname, rsc 1834 tools/crm_resource.c rc = ban_or_move(rsc, options.move_lifetime, &exit_code); rsc 1851 tools/crm_resource.c rc = cli_resource_print_property(rsc, options.prop_name, data_set); rsc 1859 tools/crm_resource.c rc = cli_resource_print_attribute(rsc, options.prop_name, rsc 1872 tools/crm_resource.c rc = cli_resource_update_attribute(rsc, options.rsc_id, rsc 1885 tools/crm_resource.c rc = cli_resource_delete_attribute(rsc, options.rsc_id, rsc 1895 tools/crm_resource.c if (rsc == NULL) { rsc 1903 tools/crm_resource.c cleanup(rsc); rsc 1908 tools/crm_resource.c if (rsc == NULL) { rsc 1911 tools/crm_resource.c refresh_resource(rsc); rsc 36 tools/crm_resource.h const char *rsc, const char *node, gboolean promoted_role_only); rsc 39 tools/crm_resource.h void cli_resource_print_cts(pe_resource_t * rsc); rsc 40 tools/crm_resource.h void cli_resource_print_raw(pe_resource_t * rsc); rsc 42 tools/crm_resource.h void cli_resource_print_location(pe_resource_t * rsc, const char *prefix); rsc 43 tools/crm_resource.h void cli_resource_print_colocation(pe_resource_t * rsc, bool dependents, bool recursive, int offset); rsc 45 tools/crm_resource.h int cli_resource_print(pe_resource_t *rsc, pe_working_set_t *data_set, rsc 48 tools/crm_resource.h int cli_resource_print_attribute(pe_resource_t *rsc, const char *attr, const char *attr_set_type, rsc 50 tools/crm_resource.h int cli_resource_print_property(pe_resource_t *rsc, const char *attr, rsc 55 tools/crm_resource.h void cli_resource_check(cib_t * cib, pe_resource_t *rsc); rsc 59 tools/crm_resource.h int cli_resource_search(pe_resource_t *rsc, const char *requested_name, rsc 62 tools/crm_resource.h const char *host_uname, pe_resource_t *rsc, rsc 69 tools/crm_resource.h int cli_resource_restart(pe_resource_t *rsc, const char *host, const char *move_lifetime, rsc 72 tools/crm_resource.h int cli_resource_move(pe_resource_t *rsc, const char *rsc_id, rsc 81 tools/crm_resource.h crm_exit_t cli_resource_execute(pe_resource_t *rsc, const char *requested_name, rsc 86 tools/crm_resource.h int cli_resource_update_attribute(pe_resource_t *rsc, const char *requested_name, rsc 91 tools/crm_resource.h int cli_resource_delete_attribute(pe_resource_t *rsc, const char *requested_name, rsc 98 tools/crm_resource.h void cli_resource_why(cib_t *cib_conn, GListPtr resources, pe_resource_t *rsc, rsc 330 tools/crm_resource_ban.c build_clear_xpath_string(xmlNode *constraint_node, const char *rsc, const char *node, gboolean promoted_role_only) rsc 352 tools/crm_resource_ban.c if (node != NULL || rsc != NULL || promoted_role_only == TRUE) { rsc 356 tools/crm_resource_ban.c if (rsc != NULL || promoted_role_only == TRUE) { rsc 363 tools/crm_resource_ban.c if (rsc != NULL && promoted_role_only == TRUE) { rsc 364 tools/crm_resource_ban.c rsc_role_substr = crm_strdup_printf("@rsc='%s' and @role='%s'", rsc, RSC_ROLE_MASTER_S); rsc 365 tools/crm_resource_ban.c offset += snprintf(first_half + offset, XPATH_MAX - offset, "@rsc='%s' and @role='%s']", rsc, RSC_ROLE_MASTER_S); rsc 366 tools/crm_resource_ban.c } else if (rsc != NULL) { rsc 367 tools/crm_resource_ban.c rsc_role_substr = crm_strdup_printf("@rsc='%s'", rsc); rsc 368 tools/crm_resource_ban.c offset += snprintf(first_half + offset, XPATH_MAX - offset, "@rsc='%s']", rsc); rsc 399 tools/crm_resource_ban.c const char *rsc, const char *node, gboolean promoted_role_only) rsc 416 tools/crm_resource_ban.c xpath_string = build_clear_xpath_string(constraint_node, rsc, node, promoted_role_only); rsc 52 tools/crm_resource_print.c cli_resource_print_cts(pe_resource_t * rsc) rsc 57 tools/crm_resource_print.c const char *rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 58 tools/crm_resource_print.c const char *rprov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 59 tools/crm_resource_print.c const char *rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 60 tools/crm_resource_print.c pe_node_t *node = pe__current_node(rsc); rsc 73 tools/crm_resource_print.c crm_element_name(rsc->xml), rsc->id, rsc 74 tools/crm_resource_print.c rsc->clone_name ? rsc->clone_name : rsc->id, rsc->parent ? rsc->parent->id : "NA", rsc 75 tools/crm_resource_print.c rprov ? rprov : "NA", rclass, rtype, host ? host : "NA", needs_quorum, rsc->flags, rsc 76 tools/crm_resource_print.c rsc->flags); rsc 78 tools/crm_resource_print.c for (lpc = rsc->children; lpc != NULL; lpc = lpc->next) { rsc 87 tools/crm_resource_print.c cli_resource_print_raw(pe_resource_t * rsc) rsc 90 tools/crm_resource_print.c GListPtr children = rsc->children; rsc 93 tools/crm_resource_print.c printf("%s\n", rsc->id); rsc 113 tools/crm_resource_print.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 115 tools/crm_resource_print.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan) rsc 116 tools/crm_resource_print.c && rsc->fns->active(rsc, TRUE) == FALSE) { rsc 119 tools/crm_resource_print.c rsc->fns->print(rsc, NULL, opts, stdout); rsc 136 tools/crm_resource_print.c pe_resource_t *rsc = NULL; rsc 150 tools/crm_resource_print.c rsc = pe_find_resource(data_set->resources, op_rsc); rsc 151 tools/crm_resource_print.c if(rsc) { rsc 152 tools/crm_resource_print.c rsc->fns->print(rsc, "", opts, stdout); rsc 175 tools/crm_resource_print.c cli_resource_print_location(pe_resource_t * rsc, const char *prefix) rsc 178 tools/crm_resource_print.c GListPtr list = rsc->rsc_location; rsc 202 tools/crm_resource_print.c cli_resource_print_colocation(pe_resource_t * rsc, bool dependents, bool recursive, int offset) rsc 206 tools/crm_resource_print.c GListPtr list = rsc->rsc_cons; rsc 212 tools/crm_resource_print.c list = rsc->rsc_cons_lhs; rsc 215 tools/crm_resource_print.c if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 217 tools/crm_resource_print.c printf("loop %s\n", rsc->id); rsc 222 tools/crm_resource_print.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 266 tools/crm_resource_print.c cli_resource_print(pe_resource_t *rsc, pe_working_set_t *data_set, bool expanded) rsc 271 tools/crm_resource_print.c rsc->fns->print(rsc, NULL, opts, stdout); rsc 273 tools/crm_resource_print.c rsc_xml = dump_xml_formatted((!expanded && rsc->orig_xml)? rsc 274 tools/crm_resource_print.c rsc->orig_xml : rsc->xml); rsc 282 tools/crm_resource_print.c cli_resource_print_attribute(pe_resource_t *rsc, const char *attr, const char *attr_set_type, rsc 289 tools/crm_resource_print.c pe_node_t *current = pe__find_active_on(rsc, &count, NULL); rsc 293 tools/crm_resource_print.c " returning the default value for %s", rsc->id, crm_str(attr)); rsc 300 tools/crm_resource_print.c get_rsc_attributes(params, rsc, current, data_set); rsc 304 tools/crm_resource_print.c get_meta_attributes(params, rsc, current, data_set); rsc 307 tools/crm_resource_print.c pe__unpack_dataset_nvpairs(rsc->xml, XML_TAG_UTILIZATION, NULL, params, rsc 311 tools/crm_resource_print.c crm_debug("Looking up %s in %s", attr, rsc->id); rsc 318 tools/crm_resource_print.c CMD_ERR("Attribute '%s' not found for '%s'", attr, rsc->id); rsc 327 tools/crm_resource_print.c cli_resource_print_property(pe_resource_t *rsc, const char *attr, pe_working_set_t * data_set) rsc 329 tools/crm_resource_print.c const char *value = crm_element_value(rsc->xml, attr); rsc 16 tools/crm_resource_runtime.c do_find_resource(const char *rsc, pe_resource_t * the_rsc, pe_working_set_t * data_set) rsc 32 tools/crm_resource_runtime.c fprintf(stdout, "resource %s is running on: %s %s\n", rsc, node->details->uname, state); rsc 39 tools/crm_resource_runtime.c fprintf(stderr, "resource %s is NOT running\n", rsc); rsc 46 tools/crm_resource_runtime.c cli_resource_search(pe_resource_t *rsc, const char *requested_name, rsc 50 tools/crm_resource_runtime.c pe_resource_t *parent = uber_parent(rsc); rsc 52 tools/crm_resource_runtime.c if (pe_rsc_is_clone(rsc)) { rsc 53 tools/crm_resource_runtime.c for (GListPtr iter = rsc->children; iter != NULL; iter = iter->next) { rsc 59 tools/crm_resource_runtime.c && !pcmk_is_set(rsc->flags, pe_rsc_unique) rsc 60 tools/crm_resource_runtime.c && rsc->clone_name rsc 61 tools/crm_resource_runtime.c && pcmk__str_eq(requested_name, rsc->clone_name, pcmk__str_casei) rsc 62 tools/crm_resource_runtime.c && !pcmk__str_eq(requested_name, rsc->id, pcmk__str_casei)) { rsc 69 tools/crm_resource_runtime.c found += do_find_resource(requested_name, rsc, data_set); rsc 79 tools/crm_resource_runtime.c find_resource_attr(cib_t * the_cib, const char *attr, const char *rsc, const char *attr_set_type, rsc 99 tools/crm_resource_runtime.c offset += snprintf(xpath_string + offset, XPATH_MAX - offset, "//*[@id=\"%s\"]", rsc); rsc 159 tools/crm_resource_runtime.c find_matching_attr_resources_recursive(GList/* <pe_resource_t*> */ ** result, pe_resource_t * rsc, const char * rsc_id, rsc 164 tools/crm_resource_runtime.c char *lookup_id = clone_strip(rsc->id); rsc 168 tools/crm_resource_runtime.c for(GList *gIter = rsc->children; gIter; gIter = gIter->next) { rsc 173 tools/crm_resource_runtime.c if(pe_clone == rsc->variant) { rsc 183 tools/crm_resource_runtime.c *result = g_list_append(*result, rsc); rsc 193 tools/crm_resource_runtime.c find_matching_attr_resources(pe_resource_t * rsc, const char * rsc_id, const char * attr_set, rsc 205 tools/crm_resource_runtime.c return g_list_append(result, rsc); rsc 207 tools/crm_resource_runtime.c if(rsc->parent && pe_clone == rsc->parent->variant) { rsc 214 tools/crm_resource_runtime.c rsc = rsc->parent; rsc 216 tools/crm_resource_runtime.c printf("Performing %s of '%s' on '%s', the parent of '%s'\n", cmd, attr_name, rsc->id, rsc_id); rsc 219 tools/crm_resource_runtime.c return g_list_append(result, rsc); rsc 220 tools/crm_resource_runtime.c } else if(rsc->parent == NULL && rsc->children && pe_clone == rsc->variant) { rsc 221 tools/crm_resource_runtime.c pe_resource_t *child = rsc->children->data; rsc 228 tools/crm_resource_runtime.c rsc = child; rsc 237 tools/crm_resource_runtime.c return g_list_append(result, rsc); rsc 240 tools/crm_resource_runtime.c find_matching_attr_resources_recursive(&result, rsc, rsc_id, attr_set, rsc 248 tools/crm_resource_runtime.c cli_resource_update_attribute(pe_resource_t *rsc, const char *requested_name, rsc 266 tools/crm_resource_runtime.c cib, XML_ATTR_ID, uber_parent(rsc)->id, NULL, NULL, NULL, attr_name, NULL) == EINVAL) { rsc 272 tools/crm_resource_runtime.c rc = find_resource_attr(cib, XML_ATTR_ID, uber_parent(rsc)->id, rsc 277 tools/crm_resource_runtime.c uber_parent(rsc)->id, attr_name, local_attr_id); rsc 286 tools/crm_resource_runtime.c resources = g_list_append(resources, rsc); rsc 289 tools/crm_resource_runtime.c resources = find_matching_attr_resources(rsc, requested_name, attr_set, attr_set_type, rsc 305 tools/crm_resource_runtime.c rsc = (pe_resource_t*)gIter->data; rsc 308 tools/crm_resource_runtime.c lookup_id = clone_strip(rsc->id); /* Could be a cloned group! */ rsc 323 tools/crm_resource_runtime.c const char *tag = crm_element_name(rsc->xml); rsc 380 tools/crm_resource_runtime.c crm_debug("Looking for dependencies %p", rsc->rsc_cons_lhs); rsc 381 tools/crm_resource_runtime.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 382 tools/crm_resource_runtime.c for (lpc = rsc->rsc_cons_lhs; lpc != NULL; lpc = lpc->next) { rsc 403 tools/crm_resource_runtime.c cli_resource_delete_attribute(pe_resource_t *rsc, const char *requested_name, rsc 414 tools/crm_resource_runtime.c cib, XML_ATTR_ID, uber_parent(rsc)->id, NULL, NULL, NULL, attr_name, NULL) == EINVAL) { rsc 419 tools/crm_resource_runtime.c resources = find_matching_attr_resources(rsc, requested_name, attr_set, attr_set_type, rsc 422 tools/crm_resource_runtime.c resources = g_list_append(resources, rsc); rsc 430 tools/crm_resource_runtime.c rsc = (pe_resource_t*)gIter->data; rsc 432 tools/crm_resource_runtime.c lookup_id = clone_strip(rsc->id); rsc 485 tools/crm_resource_runtime.c pe_resource_t *rsc = pe_find_resource(data_set->resources, rsc_id); rsc 487 tools/crm_resource_runtime.c if (rsc == NULL) { rsc 491 tools/crm_resource_runtime.c } else if (rsc->variant != pe_native) { rsc 496 tools/crm_resource_runtime.c rsc_class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 497 tools/crm_resource_runtime.c rsc_provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER), rsc 498 tools/crm_resource_runtime.c rsc_type = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 535 tools/crm_resource_runtime.c if (rsc->clone_name) { rsc 536 tools/crm_resource_runtime.c rsc_api_id = rsc->clone_name; rsc 537 tools/crm_resource_runtime.c rsc_long_id = rsc->id; rsc 539 tools/crm_resource_runtime.c rsc_api_id = rsc->id; rsc 562 tools/crm_resource_runtime.c rsc_fail_name(pe_resource_t *rsc) rsc 564 tools/crm_resource_runtime.c const char *name = (rsc->clone_name? rsc->clone_name : rsc->id); rsc 566 tools/crm_resource_runtime.c return pcmk_is_set(rsc->flags, pe_rsc_unique)? strdup(name) : clone_strip(name); rsc 681 tools/crm_resource_runtime.c clear_rsc_fail_attrs(pe_resource_t *rsc, const char *operation, rsc 686 tools/crm_resource_runtime.c char *rsc_name = rsc_fail_name(rsc); rsc 701 tools/crm_resource_runtime.c pe_resource_t *rsc, const char *operation, rsc 708 tools/crm_resource_runtime.c if (rsc == NULL) { rsc 711 tools/crm_resource_runtime.c } else if (rsc->children) { rsc 714 tools/crm_resource_runtime.c for (lpc = rsc->children; lpc != NULL; lpc = lpc->next) { rsc 728 tools/crm_resource_runtime.c GListPtr nodes = g_hash_table_get_values(rsc->known_on); rsc 733 tools/crm_resource_runtime.c } else if(nodes == NULL && rsc->exclusive_discover) { rsc 737 tools/crm_resource_runtime.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 745 tools/crm_resource_runtime.c nodes = g_hash_table_get_values(rsc->allowed_nodes); rsc 753 tools/crm_resource_runtime.c rsc, operation, interval_spec, rsc 770 tools/crm_resource_runtime.c rsc->id, host_uname); rsc 776 tools/crm_resource_runtime.c rsc->id, host_uname); rsc 782 tools/crm_resource_runtime.c rsc->id, host_uname); rsc 786 tools/crm_resource_runtime.c rc = clear_rsc_fail_attrs(rsc, operation, interval_spec, node); rsc 789 tools/crm_resource_runtime.c rsc->id, host_uname, pcmk_rc_str(rc)); rsc 794 tools/crm_resource_runtime.c rc = clear_rsc_failures(controld_api, host_uname, rsc->id, operation, rsc 797 tools/crm_resource_runtime.c rc = clear_rsc_history(controld_api, host_uname, rsc->id, data_set); rsc 801 tools/crm_resource_runtime.c rsc->id, host_uname, pcmk_strerror(rc)); rsc 803 tools/crm_resource_runtime.c printf("Cleaned up %s on %s\n", rsc->id, host_uname); rsc 871 tools/crm_resource_runtime.c cli_resource_check(cib_t * cib_conn, pe_resource_t *rsc) rsc 876 tools/crm_resource_runtime.c pe_resource_t *parent = uber_parent(rsc); rsc 911 tools/crm_resource_runtime.c if (rsc->lock_node) { rsc 913 tools/crm_resource_runtime.c (printed? "" : "\n"), parent->id, rsc->lock_node->details->uname); rsc 931 tools/crm_resource_runtime.c generate_resource_params(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 938 tools/crm_resource_runtime.c if (!rsc) { rsc 947 tools/crm_resource_runtime.c get_rsc_attributes(params, rsc, NULL /* TODO: Pass in local node */ , data_set); rsc 948 tools/crm_resource_runtime.c get_meta_attributes(meta, rsc, NULL /* TODO: Pass in local node */ , data_set); rsc 977 tools/crm_resource_runtime.c static bool resource_is_running_on(pe_resource_t *rsc, const char *host) rsc 983 tools/crm_resource_runtime.c if(rsc == NULL) { rsc 987 tools/crm_resource_runtime.c rsc->fns->location(rsc, &hosts, TRUE); rsc 992 tools/crm_resource_runtime.c crm_trace("Resource %s is running on %s\n", rsc->id, host); rsc 995 tools/crm_resource_runtime.c crm_trace("Resource %s is running on %s\n", rsc->id, host); rsc 1001 tools/crm_resource_runtime.c crm_trace("Resource %s is not running on: %s\n", rsc->id, host); rsc 1005 tools/crm_resource_runtime.c crm_trace("Resource %s is not running\n", rsc->id); rsc 1031 tools/crm_resource_runtime.c pe_resource_t *rsc = (pe_resource_t *) rIter->data; rsc 1037 tools/crm_resource_runtime.c if (rsc->variant == pe_group) { rsc 1039 tools/crm_resource_runtime.c get_active_resources(host, rsc->children)); rsc 1040 tools/crm_resource_runtime.c } else if (resource_is_running_on(rsc, host)) { rsc 1041 tools/crm_resource_runtime.c active = g_list_append(active, strdup(rsc->id)); rsc 1191 tools/crm_resource_runtime.c max_delay_for_resource(pe_working_set_t * data_set, pe_resource_t *rsc) rsc 1196 tools/crm_resource_runtime.c if(rsc && rsc->children) { rsc 1199 tools/crm_resource_runtime.c for(iter = rsc->children; iter; iter = iter->next) { rsc 1210 tools/crm_resource_runtime.c } else if(rsc) { rsc 1211 tools/crm_resource_runtime.c char *key = crm_strdup_printf("%s_%s_0", rsc->id, RSC_STOP); rsc 1212 tools/crm_resource_runtime.c pe_action_t *stop = custom_action(rsc, key, RSC_STOP, NULL, TRUE, FALSE, data_set); rsc 1231 tools/crm_resource_runtime.c pe_resource_t *rsc = pe_find_resource(data_set->resources, (const char *)item->data); rsc 1233 tools/crm_resource_runtime.c delay = max_delay_for_resource(data_set, rsc); rsc 1237 tools/crm_resource_runtime.c crm_trace("Calculated new delay of %.1fs due to %s", seconds, rsc->id); rsc 1263 tools/crm_resource_runtime.c cli_resource_restart(pe_resource_t *rsc, const char *host, const char *move_lifetime, rsc 1285 tools/crm_resource_runtime.c if(resource_is_running_on(rsc, host) == FALSE) { rsc 1286 tools/crm_resource_runtime.c const char *id = rsc->clone_name?rsc->clone_name:rsc->id; rsc 1295 tools/crm_resource_runtime.c rsc_id = strdup(rsc->id); rsc 1296 tools/crm_resource_runtime.c if ((pe_rsc_is_clone(rsc) || pe_bundle_replicas(rsc)) && host) { rsc 1347 tools/crm_resource_runtime.c char *lookup_id = clone_strip(rsc->id); rsc 1352 tools/crm_resource_runtime.c rc = cli_resource_update_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS, NULL, rsc 1426 tools/crm_resource_runtime.c rc = cli_resource_update_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS, rsc 1433 tools/crm_resource_runtime.c rc = cli_resource_delete_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS, NULL, rsc 1452 tools/crm_resource_runtime.c while (waiting_for_starts(list_delta, rsc, host)) { rsc 1459 tools/crm_resource_runtime.c for (lpc = 0; (lpc < step_timeout_s) && waiting_for_starts(list_delta, rsc, host); lpc++) { rsc 1504 tools/crm_resource_runtime.c cli_resource_update_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS, NULL, rsc 1509 tools/crm_resource_runtime.c cli_resource_delete_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS, NULL, rsc 1818 tools/crm_resource_runtime.c cli_resource_execute(pe_resource_t *rsc, const char *requested_name, rsc 1844 tools/crm_resource_runtime.c if(pe_rsc_is_clone(rsc)) { rsc 1845 tools/crm_resource_runtime.c int rc = cli_resource_search(rsc, requested_name, data_set); rsc 1848 tools/crm_resource_runtime.c action, rsc->id); rsc 1859 tools/crm_resource_runtime.c if(pe_rsc_is_clone(rsc)) { rsc 1861 tools/crm_resource_runtime.c rsc = rsc->children->data; rsc 1864 tools/crm_resource_runtime.c if(rsc->variant == pe_group) { rsc 1870 tools/crm_resource_runtime.c rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 1871 tools/crm_resource_runtime.c rprov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 1872 tools/crm_resource_runtime.c rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 1874 tools/crm_resource_runtime.c params = generate_resource_params(rsc, data_set); rsc 1877 tools/crm_resource_runtime.c timeout_ms = pe_get_configured_timeout(rsc, action, data_set); rsc 1880 tools/crm_resource_runtime.c rid = pe_rsc_is_anon_clone(rsc->parent)? requested_name : rsc->id; rsc 1890 tools/crm_resource_runtime.c cli_resource_move(pe_resource_t *rsc, const char *rsc_id, const char *host_name, rsc 1905 tools/crm_resource_runtime.c if (promoted_role_only && !pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 1906 tools/crm_resource_runtime.c pe_resource_t *p = uber_parent(rsc); rsc 1909 tools/crm_resource_runtime.c CMD_ERR("Using parent '%s' for move instead of '%s'.", rsc->id, rsc_id); rsc 1911 tools/crm_resource_runtime.c rsc = p; rsc 1919 tools/crm_resource_runtime.c current = pe__find_active_requires(rsc, &count); rsc 1921 tools/crm_resource_runtime.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 1926 tools/crm_resource_runtime.c for(iter = rsc->children; iter; iter = iter->next) { rsc 1931 tools/crm_resource_runtime.c rsc = child; rsc 1944 tools/crm_resource_runtime.c if (pe_rsc_is_clone(rsc)) { rsc 1973 tools/crm_resource_runtime.c rsc->id, promoted_role_only?" (master)":"", dest->details->uname, force?"(forced)":""); rsc 2008 tools/crm_resource_runtime.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 2009 tools/crm_resource_runtime.c rsc->fns->location(rsc, &hosts, TRUE); rsc 2012 tools/crm_resource_runtime.c printf("Resource %s is not running\n", rsc->id); rsc 2014 tools/crm_resource_runtime.c printf("Resource %s is running\n", rsc->id); rsc 2017 tools/crm_resource_runtime.c cli_resource_check(cib_conn, rsc); rsc 2026 tools/crm_resource_runtime.c pe_resource_t *rsc, const char *host_uname) rsc 2028 tools/crm_resource_runtime.c if (resource_is_running_on(rsc, host_uname)) { rsc 2029 tools/crm_resource_runtime.c printf("Resource %s is running on host %s\n",rsc->id,host_uname); rsc 2031 tools/crm_resource_runtime.c printf("Resource %s is not running on host %s\n", rsc->id, host_uname); rsc 2033 tools/crm_resource_runtime.c cli_resource_check(cib_conn, rsc); rsc 2046 tools/crm_resource_runtime.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 2047 tools/crm_resource_runtime.c printf("Resource %s is running on host %s\n",rsc->id,host_uname); rsc 2048 tools/crm_resource_runtime.c cli_resource_check(cib_conn,rsc); rsc 2052 tools/crm_resource_runtime.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 2054 tools/crm_resource_runtime.c rsc->id, host_uname); rsc 2055 tools/crm_resource_runtime.c cli_resource_check(cib_conn,rsc); rsc 2065 tools/crm_resource_runtime.c pe_resource_t *rsc) rsc 2069 tools/crm_resource_runtime.c rsc->fns->location(rsc, &hosts, TRUE); rsc 2070 tools/crm_resource_runtime.c printf("Resource %s is %srunning\n", rsc->id, (hosts? "" : "not ")); rsc 2071 tools/crm_resource_runtime.c cli_resource_check(cib_conn, rsc); rsc 2075 tools/crm_resource_runtime.c void cli_resource_why(cib_t *cib_conn, GListPtr resources, pe_resource_t *rsc, rsc 2080 tools/crm_resource_runtime.c if ((rsc == NULL) && (host_uname == NULL)) { rsc 2083 tools/crm_resource_runtime.c } else if ((rsc != NULL) && (host_uname != NULL)) { rsc 2084 tools/crm_resource_runtime.c cli_resource_why_with_rsc_and_host(cib_conn, resources, rsc, rsc 2087 tools/crm_resource_runtime.c } else if ((rsc == NULL) && (host_uname != NULL)) { rsc 2090 tools/crm_resource_runtime.c } else if ((rsc != NULL) && (host_uname == NULL)) { rsc 2091 tools/crm_resource_runtime.c cli_resource_why_with_rsc_without_host(cib_conn, resources, rsc); rsc 507 tools/crm_simulate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 509 tools/crm_simulate.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan) rsc 510 tools/crm_simulate.c && rsc->role == RSC_ROLE_STOPPED) { rsc 513 tools/crm_simulate.c rsc->fns->print(rsc, NULL, pe_print_printf | options, stdout); rsc 538 tools/crm_simulate.c if (action->rsc && action->rsc->clone_name) { rsc 539 tools/crm_simulate.c clone_name = action->rsc->clone_name; rsc 576 tools/crm_simulate.c } else if (action->rsc && action_host) { rsc 627 tools/crm_simulate.c } else if ((action->rsc != NULL) rsc 628 tools/crm_simulate.c && !pcmk_is_set(action->rsc->flags, pe_rsc_managed)) { rsc 1082 tools/crm_simulate.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 1084 tools/crm_simulate.c LogActions(rsc, data_set, TRUE);