Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

High: crmd: Ensure we do not attempt to perform action on failed nodes

(transplanted from bf3938ce0a5cc09822e4c4441255a3a29f4054ff)

Mercurial revision: 90bd44985b2328f43149ab1b042a89fc37d00e50
  • Loading branch information...
commit f8fa7ecba91a8a46f2d7c98ce52b60f3baa7d1b3 1 parent 7d73f28
@beekhof beekhof authored
View
1  crmd/te_events.c
@@ -93,6 +93,7 @@ fail_incompletable_actions(crm_graph_t *graph, const char *down_node)
target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET_UUID);
if(safe_str_eq(target, down_node)) {
action->failed = TRUE;
+ synapse->failed = TRUE;
last_action = action->xml;
update_graph(graph, action);
crm_notice("Action %d (%s) is scheduled for %s (offline)",
View
1  include/crm/transition.h
@@ -34,6 +34,7 @@ typedef struct synapse_s {
int priority;
gboolean ready;
+ gboolean failed;
gboolean executed;
gboolean confirmed;
View
6 lib/transition/graph.c
@@ -107,7 +107,7 @@ update_graph(crm_graph_t *graph, crm_action_t *action)
gboolean updates = FALSE;
slist_iter(
synapse, synapse_t, graph->synapses, lpc,
- if (synapse->confirmed) {
+ if (synapse->confirmed || synapse->failed) {
crm_debug_2("Synapse complete");
} else if (synapse->executed) {
@@ -267,6 +267,10 @@ run_graph(crm_graph_t *graph)
graph->batch_limit);
break;
+ } else if (synapse->failed) {
+ graph->skipped++;
+ continue;
+
} else if (synapse->confirmed || synapse->executed) {
/* Already handled */
continue;
Please sign in to comment.
Something went wrong with that request. Please try again.