Page MenuHomeClusterLabs Projects

No OneTemporary

diff --git a/lib/pengine/native.c b/lib/pengine/native.c
index 9b2f5ffa6b..110c2103a4 100644
--- a/lib/pengine/native.c
+++ b/lib/pengine/native.c
@@ -1,588 +1,596 @@
/*
* Copyright (C) 2004 Andrew Beekhof <andrew@beekhof.net>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <crm_internal.h>
#include <crm/pengine/rules.h>
#include <crm/pengine/status.h>
#include <crm/pengine/complex.h>
#include <crm/pengine/internal.h>
#include <unpack.h>
#include <crm/msg_xml.h>
#define VARIANT_NATIVE 1
#include "./variant.h"
void
native_add_running(resource_t * rsc, node_t * node, pe_working_set_t * data_set)
{
GListPtr gIter = rsc->running_on;
CRM_CHECK(node != NULL, return);
-
for (; gIter != NULL; gIter = gIter->next) {
node_t *a_node = (node_t *) gIter->data;
CRM_CHECK(a_node != NULL, return);
if (safe_str_eq(a_node->details->id, node->details->id)) {
return;
}
}
- pe_rsc_trace(rsc, "Adding %s to %s", rsc->id, node->details->uname);
+ pe_rsc_trace(rsc, "Adding %s to %s %s", rsc->id, node->details->uname,
+ is_set(rsc->flags, pe_rsc_managed)?"":"(unmanaged)");
rsc->running_on = g_list_append(rsc->running_on, node);
if (rsc->variant == pe_native) {
node->details->running_rsc = g_list_append(node->details->running_rsc, rsc);
}
if (is_not_set(rsc->flags, pe_rsc_managed)) {
+ resource_t *p = rsc->parent;
+
pe_rsc_info(rsc, "resource %s isnt managed", rsc->id);
resource_location(rsc, node, INFINITY, "not_managed_default", data_set);
+
+ while(p && node->details->online) {
+ /* add without the additional location constraint */
+ p->running_on = g_list_append(p->running_on, node);
+ p = p->parent;
+ }
return;
}
if (rsc->variant == pe_native && g_list_length(rsc->running_on) > 1) {
switch (rsc->recovery_type) {
case recovery_stop_only:
{
GHashTableIter gIter;
node_t *local_node = NULL;
/* make sure it doesnt come up again */
g_hash_table_destroy(rsc->allowed_nodes);
rsc->allowed_nodes = node_hash_from_list(data_set->nodes);
g_hash_table_iter_init(&gIter, rsc->allowed_nodes);
while (g_hash_table_iter_next(&gIter, NULL, (void **)&local_node)) {
local_node->weight = -INFINITY;
}
}
break;
case recovery_stop_start:
break;
case recovery_block:
clear_bit(rsc->flags, pe_rsc_managed);
set_bit(rsc->flags, pe_rsc_block);
break;
}
crm_debug("%s is active on %d nodes including %s: %s",
rsc->id, g_list_length(rsc->running_on), node->details->uname,
recovery2text(rsc->recovery_type));
} else {
pe_rsc_trace(rsc, "Resource %s is active on: %s", rsc->id, node->details->uname);
}
if (rsc->parent != NULL) {
native_add_running(rsc->parent, node, data_set);
}
}
extern void force_non_unique_clone(resource_t * rsc, const char *rid, pe_working_set_t * data_set);
gboolean
native_unpack(resource_t * rsc, pe_working_set_t * data_set)
{
resource_t *parent = uber_parent(rsc);
native_variant_data_t *native_data = NULL;
const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
pe_rsc_trace(rsc, "Processing resource %s...", rsc->id);
native_data = calloc(1, sizeof(native_variant_data_t));
rsc->variant_opaque = native_data;
if (is_set(rsc->flags, pe_rsc_unique) && rsc->parent) {
if (safe_str_eq(class, "lsb")) {
resource_t *top = uber_parent(rsc);
force_non_unique_clone(top, rsc->id, data_set);
}
}
if (safe_str_eq(class, "ocf") == FALSE) {
const char *stateful = g_hash_table_lookup(parent->meta, "stateful");
if (safe_str_eq(stateful, XML_BOOLEAN_TRUE)) {
pe_err
("Resource %s is of type %s and therefore cannot be used as a master/slave resource",
rsc->id, class);
return FALSE;
}
}
return TRUE;
}
resource_t *
native_find_rsc(resource_t * rsc, const char *id, node_t * on_node, int flags)
{
gboolean match = FALSE;
resource_t *result = NULL;
GListPtr gIter = rsc->children;
CRM_ASSERT(id != NULL);
if (flags & pe_find_clone) {
const char *rid = ID(rsc->xml);
if (rsc->parent == NULL) {
match = FALSE;
} else if (safe_str_eq(rsc->id, id)) {
match = TRUE;
} else if (safe_str_eq(rid, id)) {
match = TRUE;
}
} else {
if (strcmp(rsc->id, id) == 0) {
match = TRUE;
} else if (is_set(flags, pe_find_renamed)
&& rsc->clone_name && strcmp(rsc->clone_name, id) == 0) {
match = TRUE;
}
}
if (match && on_node) {
pe_rsc_trace(rsc, "Now checking %s is on %s", rsc->id, on_node->details->uname);
if (is_set(flags, pe_find_current) && rsc->running_on) {
GListPtr gIter = rsc->running_on;
for (; gIter != NULL; gIter = gIter->next) {
node_t *loc = (node_t *) gIter->data;
if (loc->details == on_node->details) {
return rsc;
}
}
} else if (is_set(flags, pe_find_inactive) && rsc->running_on == NULL) {
return rsc;
} else if (is_not_set(flags, pe_find_current) && rsc->allocated_to
&& rsc->allocated_to->details == on_node->details) {
return rsc;
}
} else if (match) {
return rsc;
}
for (; gIter != NULL; gIter = gIter->next) {
resource_t *child = (resource_t *) gIter->data;
result = rsc->fns->find_rsc(child, id, on_node, flags);
if (result) {
return result;
}
}
return NULL;
}
char *
native_parameter(resource_t * rsc, node_t * node, gboolean create, const char *name,
pe_working_set_t * data_set)
{
char *value_copy = NULL;
const char *value = NULL;
GHashTable *hash = rsc->parameters;
GHashTable *local_hash = NULL;
CRM_CHECK(rsc != NULL, return NULL);
CRM_CHECK(name != NULL && strlen(name) != 0, return NULL);
pe_rsc_trace(rsc, "Looking up %s in %s", name, rsc->id);
if (create || g_hash_table_size(rsc->parameters) == 0) {
if (node != NULL) {
pe_rsc_trace(rsc, "Creating hash with node %s", node->details->uname);
} else {
pe_rsc_trace(rsc, "Creating default hash");
}
local_hash = g_hash_table_new_full(crm_str_hash, g_str_equal,
g_hash_destroy_str, g_hash_destroy_str);
get_rsc_attributes(local_hash, rsc, node, data_set);
hash = local_hash;
}
value = g_hash_table_lookup(hash, name);
if (value == NULL) {
/* try meta attributes instead */
value = g_hash_table_lookup(rsc->meta, name);
}
if (value != NULL) {
value_copy = strdup(value);
}
if (local_hash != NULL) {
g_hash_table_destroy(local_hash);
}
return value_copy;
}
gboolean
native_active(resource_t * rsc, gboolean all)
{
GListPtr gIter = rsc->running_on;
for (; gIter != NULL; gIter = gIter->next) {
node_t *a_node = (node_t *) gIter->data;
if (a_node->details->unclean) {
crm_debug("Resource %s: node %s is unclean", rsc->id, a_node->details->uname);
return TRUE;
} else if (a_node->details->online == FALSE) {
crm_debug("Resource %s: node %s is offline", rsc->id, a_node->details->uname);
} else {
crm_debug("Resource %s active on %s", rsc->id, a_node->details->uname);
return TRUE;
}
}
return FALSE;
}
struct print_data_s {
long options;
void *print_data;
};
static void
native_print_attr(gpointer key, gpointer value, gpointer user_data)
{
long options = ((struct print_data_s *)user_data)->options;
void *print_data = ((struct print_data_s *)user_data)->print_data;
status_print("Option: %s = %s\n", (char *)key, (char *)value);
}
static void
native_print_xml(resource_t * rsc, const char *pre_text, long options, void *print_data)
{
const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
/* resource information. */
status_print("%s<resource ", pre_text);
status_print("id=\"%s\" ", rsc_printable_id(rsc));
status_print("resource_agent=\"%s%s%s:%s\" ",
class,
prov ? "::" : "", prov ? prov : "", crm_element_value(rsc->xml, XML_ATTR_TYPE));
status_print("role=\"%s\" ", role2text(rsc->role));
status_print("active=\"%s\" ", rsc->fns->active(rsc, TRUE) ? "true" : "false");
status_print("orphaned=\"%s\" ", is_set(rsc->flags, pe_rsc_orphan) ? "true" : "false");
status_print("managed=\"%s\" ", is_set(rsc->flags, pe_rsc_managed) ? "true" : "false");
status_print("failed=\"%s\" ", is_set(rsc->flags, pe_rsc_failed) ? "true" : "false");
status_print("failure_ignored=\"%s\" ",
is_set(rsc->flags, pe_rsc_failure_ignored) ? "true" : "false");
status_print("nodes_running_on=\"%d\" ", g_list_length(rsc->running_on));
if (options & pe_print_dev) {
status_print("provisional=\"%s\" ",
is_set(rsc->flags, pe_rsc_provisional) ? "true" : "false");
status_print("runnable=\"%s\" ", is_set(rsc->flags, pe_rsc_runnable) ? "true" : "false");
status_print("priority=\"%f\" ", (double)rsc->priority);
status_print("variant=\"%s\" ", crm_element_name(rsc->xml));
}
/* print out the nodes this resource is running on */
if (options & pe_print_rsconly) {
status_print("/>\n");
/* do nothing */
} else if (g_list_length(rsc->running_on) > 0) {
GListPtr gIter = rsc->running_on;
status_print(">\n");
for (; gIter != NULL; gIter = gIter->next) {
node_t *node = (node_t *) gIter->data;
status_print("%s <node name=\"%s\" id=\"%s\" cached=\"%s\"/>\n", pre_text,
node->details->uname, node->details->id,
node->details->online ? "false" : "true");
}
status_print("%s</resource>\n", pre_text);
} else {
status_print("/>\n");
}
}
void
native_print(resource_t * rsc, const char *pre_text, long options, void *print_data)
{
node_t *node = NULL;
const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE);
int offset = 0;
char buffer[LINE_MAX];
CRM_ASSERT(rsc->variant == pe_native);
CRM_ASSERT(kind != NULL);
if (rsc->meta) {
const char *is_internal = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INTERNAL_RSC);
if (crm_is_true(is_internal)) {
crm_trace("skipping print of internal resource %s", rsc->id);
return;
}
}
if (pre_text == NULL && (options & pe_print_printf)) {
pre_text = " ";
}
if (options & pe_print_xml) {
native_print_xml(rsc, pre_text, options, print_data);
return;
}
if (rsc->running_on != NULL) {
node = rsc->running_on->data;
}
if ((options & pe_print_rsconly) || g_list_length(rsc->running_on) > 1) {
node = NULL;
}
if (options & pe_print_html) {
if (is_not_set(rsc->flags, pe_rsc_managed)) {
status_print("<font color=\"yellow\">");
} else if (is_set(rsc->flags, pe_rsc_failed)) {
status_print("<font color=\"red\">");
} else if (rsc->variant == pe_native && g_list_length(rsc->running_on) == 0) {
status_print("<font color=\"red\">");
} else if (g_list_length(rsc->running_on) > 1) {
status_print("<font color=\"orange\">");
} else if (is_set(rsc->flags, pe_rsc_failure_ignored)) {
status_print("<font color=\"yellow\">");
} else {
status_print("<font color=\"green\">");
}
}
if(pre_text) {
offset += snprintf(buffer + offset, LINE_MAX - offset, "%s", pre_text);
}
offset += snprintf(buffer + offset, LINE_MAX - offset, "%s", rsc_printable_id(rsc));
offset += snprintf(buffer + offset, LINE_MAX - offset, "\t(%s", class);
if (safe_str_eq(class, "ocf")) {
const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
offset += snprintf(buffer + offset, LINE_MAX - offset, "::%s", prov);
}
offset += snprintf(buffer + offset, LINE_MAX - offset, ":%s):\t", kind);
if(is_set(rsc->flags, pe_rsc_orphan)) {
offset += snprintf(buffer + offset, LINE_MAX - offset, " ORPHANED ");
}
offset += snprintf(buffer + offset, LINE_MAX - offset, "%s ", role2text(rsc->role));
if(node) {
offset += snprintf(buffer + offset, LINE_MAX - offset, "%s ", node->details->uname);
}
if(is_not_set(rsc->flags, pe_rsc_managed)) {
offset += snprintf(buffer + offset, LINE_MAX - offset, "(unmanaged) ");
}
if(is_set(rsc->flags, pe_rsc_failed)) {
offset += snprintf(buffer + offset, LINE_MAX - offset, "FAILED ");
}
if(is_set(rsc->flags, pe_rsc_failure_ignored)) {
offset += snprintf(buffer + offset, LINE_MAX - offset, "(failure ignored)");
}
if ((options & pe_print_rsconly) || g_list_length(rsc->running_on) > 1) {
const char *desc = crm_element_value(rsc->xml, XML_ATTR_DESC);
if(desc) {
offset += snprintf(buffer + offset, LINE_MAX - offset, "%s", desc);
}
}
status_print("%s", buffer);
#if CURSES_ENABLED
if ((options & pe_print_rsconly) || g_list_length(rsc->running_on) > 1) {
/* Done */
} else if (options & pe_print_ncurses) {
/* coverity[negative_returns] False positive */
move(-1, 0);
}
#endif
if (options & pe_print_html) {
status_print(" </font> ");
}
if ((options & pe_print_rsconly)) {
} else if (g_list_length(rsc->running_on) > 1) {
GListPtr gIter = rsc->running_on;
int counter = 0;
if (options & pe_print_html) {
status_print("<ul>\n");
} else if ((options & pe_print_printf)
|| (options & pe_print_ncurses)) {
status_print("[");
}
for (; gIter != NULL; gIter = gIter->next) {
node_t *node = (node_t *) gIter->data;
counter++;
if (options & pe_print_html) {
status_print("<li>\n%s", node->details->uname);
} else if ((options & pe_print_printf)
|| (options & pe_print_ncurses)) {
status_print(" %s", node->details->uname);
} else if ((options & pe_print_log)) {
status_print("\t%d : %s", counter, node->details->uname);
} else {
status_print("%s", node->details->uname);
}
if (options & pe_print_html) {
status_print("</li>\n");
}
}
if (options & pe_print_html) {
status_print("</ul>\n");
} else if ((options & pe_print_printf)
|| (options & pe_print_ncurses)) {
status_print(" ]");
}
}
if (options & pe_print_html) {
status_print("<br/>\n");
} else if (options & pe_print_suppres_nl) {
/* nothing */
} else if ((options & pe_print_printf) || (options & pe_print_ncurses)) {
status_print("\n");
}
if (options & pe_print_details) {
struct print_data_s pdata;
pdata.options = options;
pdata.print_data = print_data;
g_hash_table_foreach(rsc->parameters, native_print_attr, &pdata);
}
if (options & pe_print_dev) {
GHashTableIter iter;
node_t *node = NULL;
status_print("%s\t(%s%svariant=%s, priority=%f)", pre_text,
is_set(rsc->flags, pe_rsc_provisional) ? "provisional, " : "",
is_set(rsc->flags, pe_rsc_runnable) ? "" : "non-startable, ",
crm_element_name(rsc->xml), (double)rsc->priority);
status_print("%s\tAllowed Nodes", pre_text);
g_hash_table_iter_init(&iter, rsc->allowed_nodes);
while (g_hash_table_iter_next(&iter, NULL, (void **)&node)) {
status_print("%s\t * %s %d", pre_text, node->details->uname, node->weight);
}
}
if (options & pe_print_max_details) {
GHashTableIter iter;
node_t *node = NULL;
status_print("%s\t=== Allowed Nodes\n", pre_text);
g_hash_table_iter_init(&iter, rsc->allowed_nodes);
while (g_hash_table_iter_next(&iter, NULL, (void **)&node)) {
print_node("\t", node, FALSE);
}
}
}
void
native_free(resource_t * rsc)
{
pe_rsc_trace(rsc, "Freeing resource action list (not the data)");
common_free(rsc);
}
enum rsc_role_e
native_resource_state(const resource_t * rsc, gboolean current)
{
enum rsc_role_e role = rsc->next_role;
if (current) {
role = rsc->role;
}
pe_rsc_trace(rsc, "%s state: %s", rsc->id, role2text(role));
return role;
}
node_t *
native_location(resource_t * rsc, GListPtr * list, gboolean current)
{
node_t *one = NULL;
GListPtr result = NULL;
if (rsc->children) {
GListPtr gIter = rsc->children;
for (; gIter != NULL; gIter = gIter->next) {
resource_t *child = (resource_t *) gIter->data;
child->fns->location(child, &result, current);
}
} else if (current && rsc->running_on) {
result = g_list_copy(rsc->running_on);
} else if (current == FALSE && rsc->allocated_to) {
result = g_list_append(NULL, rsc->allocated_to);
}
if (result && g_list_length(result) == 1) {
one = g_list_nth_data(result, 0);
}
if (list) {
GListPtr gIter = result;
for (; gIter != NULL; gIter = gIter->next) {
node_t *node = (node_t *) gIter->data;
if (*list == NULL || pe_find_node_id(*list, node->details->id) == NULL) {
*list = g_list_append(*list, node);
}
}
}
g_list_free(result);
return one;
}
diff --git a/pengine/test10/bug-5028-bottom.dot b/pengine/test10/bug-5028-bottom.dot
index 93eef665f1..e25e097279 100644
--- a/pengine/test10/bug-5028-bottom.dot
+++ b/pengine/test10/bug-5028-bottom.dot
@@ -1,18 +1,12 @@
digraph "g" {
"all_stopped" [ style=bold color="green" fontcolor="orange"]
"do_shutdown bl460g6a" [ style=dashed color="red" fontcolor="black"]
-"dummy-g_running_0" [ style=dashed color="red" fontcolor="orange"]
-"dummy-g_start_0" -> "dummy-g_running_0" [ style = dashed]
-"dummy-g_start_0" [ style=bold color="green" fontcolor="orange"]
"dummy-g_stop_0" -> "dummy-g_stopped_0" [ style = dashed]
"dummy-g_stop_0" -> "dummy02_stop_0 bl460g6a" [ style = bold]
"dummy-g_stop_0" [ style=bold color="green" fontcolor="orange"]
-"dummy-g_stopped_0" -> "dummy-g_start_0" [ style = dashed]
"dummy-g_stopped_0" [ style=dashed color="red" fontcolor="orange"]
-"dummy02_start_0 <none>" -> "dummy-g_running_0" [ style = dashed]
-"dummy02_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
"dummy02_stop_0 bl460g6a" -> "all_stopped" [ style = bold]
"dummy02_stop_0 bl460g6a" -> "do_shutdown bl460g6a" [ style = dashed]
"dummy02_stop_0 bl460g6a" -> "dummy-g_stopped_0" [ style = dashed]
"dummy02_stop_0 bl460g6a" [ style=bold color="green" fontcolor="black"]
}
diff --git a/pengine/test10/bug-5028-bottom.exp b/pengine/test10/bug-5028-bottom.exp
index 1264da7434..900c02472b 100644
--- a/pengine/test10/bug-5028-bottom.exp
+++ b/pengine/test10/bug-5028-bottom.exp
@@ -1,44 +1,36 @@
<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
<synapse id="0">
<action_set>
- <pseudo_event id="12" operation="stop" operation_key="dummy-g_stop_0">
+ <pseudo_event id="10" operation="stop" operation_key="dummy-g_stop_0">
<attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
</pseudo_event>
</action_set>
<inputs/>
</synapse>
<synapse id="1">
<action_set>
- <pseudo_event id="10" operation="start" operation_key="dummy-g_start_0">
- <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
- </pseudo_event>
- </action_set>
- <inputs/>
- </synapse>
- <synapse id="2">
- <action_set>
- <rsc_op id="9" operation="stop" operation_key="dummy02_stop_0" on_node="bl460g6a" on_node_uuid="11111111-1111-1111-1111-111111111111">
+ <rsc_op id="7" operation="stop" operation_key="dummy02_stop_0" on_node="bl460g6a" on_node_uuid="11111111-1111-1111-1111-111111111111">
<primitive id="dummy02" class="ocf" provider="heartbeat" type="Dummy-stop-NG"/>
<attributes CRM_meta_name="stop" CRM_meta_on_fail="block" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
</rsc_op>
</action_set>
<inputs>
<trigger>
- <pseudo_event id="12" operation="stop" operation_key="dummy-g_stop_0"/>
+ <pseudo_event id="10" operation="stop" operation_key="dummy-g_stop_0"/>
</trigger>
</inputs>
</synapse>
- <synapse id="3">
+ <synapse id="2">
<action_set>
<pseudo_event id="2" operation="all_stopped" operation_key="all_stopped">
<attributes crm_feature_set="3.0.7"/>
</pseudo_event>
</action_set>
<inputs>
<trigger>
- <rsc_op id="9" operation="stop" operation_key="dummy02_stop_0" on_node="bl460g6a" on_node_uuid="11111111-1111-1111-1111-111111111111"/>
+ <rsc_op id="7" operation="stop" operation_key="dummy02_stop_0" on_node="bl460g6a" on_node_uuid="11111111-1111-1111-1111-111111111111"/>
</trigger>
</inputs>
</synapse>
</transition_graph>
diff --git a/pengine/test10/bug-5028-bottom.summary b/pengine/test10/bug-5028-bottom.summary
index 6e3d895276..479fb1840f 100644
--- a/pengine/test10/bug-5028-bottom.summary
+++ b/pengine/test10/bug-5028-bottom.summary
@@ -1,24 +1,23 @@
Current cluster status:
Online: [ bl460g6a bl460g6b ]
Resource Group: dummy-g
dummy01 (ocf::heartbeat:Dummy): Started bl460g6a (unmanaged) FAILED
dummy02 (ocf::heartbeat:Dummy-stop-NG): Started bl460g6a
Transition Summary:
* Stop dummy02 (bl460g6a)
Executing cluster transition:
* Pseudo action: dummy-g_stop_0
- * Pseudo action: dummy-g_start_0
* Resource action: dummy02 stop on bl460g6a
* Pseudo action: all_stopped
Revised cluster status:
Online: [ bl460g6a bl460g6b ]
Resource Group: dummy-g
dummy01 (ocf::heartbeat:Dummy): Started bl460g6a (unmanaged) FAILED
dummy02 (ocf::heartbeat:Dummy-stop-NG): Stopped
diff --git a/pengine/test10/bug-5028-detach.exp b/pengine/test10/bug-5028-detach.exp
index b91b31de88..1c3374b1e9 100644
--- a/pengine/test10/bug-5028-detach.exp
+++ b/pengine/test10/bug-5028-detach.exp
@@ -1,11 +1,11 @@
<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
<synapse id="0">
<action_set>
- <crm_event id="15" operation="do_shutdown" operation_key="do_shutdown" on_node="bl460g6a" on_node_uuid="11111111-1111-1111-1111-111111111111">
+ <crm_event id="14" operation="do_shutdown" operation_key="do_shutdown" on_node="bl460g6a" on_node_uuid="11111111-1111-1111-1111-111111111111">
<attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
</crm_event>
</action_set>
<inputs/>
</synapse>
</transition_graph>
diff --git a/pengine/test10/bug-5028.exp b/pengine/test10/bug-5028.exp
index d7b91d14ab..249c66697e 100644
--- a/pengine/test10/bug-5028.exp
+++ b/pengine/test10/bug-5028.exp
@@ -1,19 +1,19 @@
<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
<synapse id="0">
<action_set>
- <pseudo_event id="14" operation="stop" operation_key="dummy-g_stop_0">
+ <pseudo_event id="12" operation="stop" operation_key="dummy-g_stop_0">
<attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
</pseudo_event>
</action_set>
<inputs/>
</synapse>
<synapse id="1">
<action_set>
- <pseudo_event id="12" operation="start" operation_key="dummy-g_start_0">
+ <pseudo_event id="10" operation="start" operation_key="dummy-g_start_0">
<attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
</pseudo_event>
</action_set>
<inputs/>
</synapse>
</transition_graph>
diff --git a/pengine/test10/failcount-block.xml b/pengine/test10/failcount-block.xml
index 28c5a02603..0f4e624bd7 100644
--- a/pengine/test10/failcount-block.xml
+++ b/pengine/test10/failcount-block.xml
@@ -1,109 +1,109 @@
<cib crm_feature_set="2.0.6" validate-with="pacemaker-1.1" admin_epoch="1" epoch="28" num_updates="259" have-quorum="1" dc-uuid="101">
<configuration>
<crm_config>
<cluster_property_set id="cib-bootstrap-options">
<nvpair id="cts-stonith-enabled" name="stonith-enabled" value="0"/>
<nvpair id="cts-start-failure-is-fatal" name="start-failure-is-fatal" value="false"/>
<nvpair id="cts-pe-input-series-max" name="pe-input-series-max" value="5000"/>
<nvpair id="cts-default-action-timeout" name="default-action-timeout" value="90s"/>
<nvpair id="cts-shutdown-escalation" name="shutdown-escalation" value="5min"/>
<nvpair id="cts-batch-limit" name="batch-limit" value="10"/>
<nvpair id="cts-dc-deadtime" name="dc-deadtime" value="5s"/>
<nvpair id="cts-no-quorum-policy" name="no-quorum-policy" value="stop"/>
<nvpair id="cts-expected-quorum-votes" name="expected-quorum-votes" value="4"/>
<nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.8-0.802.02f118f.git.fc17-02f118f"/>
<nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
</cluster_property_set>
</crm_config>
<nodes>
<node id="101" uname="pcmk-1"/>
<node id="104" uname="pcmk-4"/>
</nodes>
<resources>
<primitive id="rsc_pcmk-1" class="ocf" type="IPaddr2" provider="heartbeat">
<instance_attributes id="rsc_pcmk-1-params">
<nvpair id="rsc_pcmk-1-ip" name="ip" value="192.168.122.107"/>
<nvpair id="rsc_pcmk-1-cidr_netmask" name="cidr_netmask" value="12"/>
</instance_attributes>
<meta_attributes id="rsc_pcmk-1-meta">
<nvpair id="rsc_pcmk-1-timeout" name="failure-timeout" value="10"/>
</meta_attributes>
<operations>
<op id="rsc_pcmk-1-monitor-5s" interval="5s" name="monitor"/>
</operations>
</primitive>
<primitive id="rsc_pcmk-2" class="ocf" type="IPaddr2" provider="heartbeat">
<instance_attributes id="rsc_pcmk-2-params">
<nvpair id="rsc_pcmk-2-ip" name="ip" value="192.168.122.107"/>
<nvpair id="rsc_pcmk-2-cidr_netmask" name="cidr_netmask" value="22"/>
</instance_attributes>
<meta_attributes id="rsc_pcmk-2-meta">
<nvpair id="rsc_pcmk-2-timeout" name="failure-timeout" value="10"/>
</meta_attributes>
<operations>
<op id="rsc_pcmk-2-monitor-5s" interval="5s" name="monitor" on-fail="block"/>
</operations>
</primitive>
<primitive id="rsc_pcmk-3" class="ocf" type="IPaddr2" provider="heartbeat">
<instance_attributes id="rsc_pcmk-3-params">
<nvpair id="rsc_pcmk-3-ip" name="ip" value="192.168.122.107"/>
<nvpair id="rsc_pcmk-3-cidr_netmask" name="cidr_netmask" value="32"/>
</instance_attributes>
<meta_attributes id="rsc_pcmk-3-meta">
<nvpair id="rsc_pcmk-3-timeout" name="failure-timeout" value="10"/>
</meta_attributes>
<operations>
<op id="rsc_pcmk-3-monitor-5s" interval="5s" name="monitor"/>
</operations>
</primitive>
<primitive id="rsc_pcmk-4" class="ocf" type="IPaddr2" provider="heartbeat">
<instance_attributes id="rsc_pcmk-4-params">
<nvpair id="rsc_pcmk-4-ip" name="ip" value="192.168.122.108"/>
<nvpair id="rsc_pcmk-4-cidr_netmask" name="cidr_netmask" value="32"/>
</instance_attributes>
<meta_attributes id="rsc_pcmk-4-meta">
<nvpair id="rsc_pcmk-4-timeout" name="failure-timeout" value="10"/>
</meta_attributes>
<operations>
<op id="rsc_pcmk-4-monitor-5s" interval="5s" name="monitor" on-fail="block"/>
</operations>
</primitive>
</resources>
<constraints/>
</configuration>
<status>
<node_state id="101" uname="pcmk-1" in_ccm="true" crmd="online" join="member" expected="member">
<transient_attributes id="101">
<instance_attributes id="status-101">
<nvpair id="status-101-probe_complete" name="probe_complete" value="true"/>
<nvpair id="status-101-connected" name="connected" value="0"/>
<nvpair id="status-101-failcount" name="fail-count-rsc_pcmk-4" value="4"/>
<nvpair id="status-101-failcount" name="fail-count-rsc_pcmk-3" value="3"/>
<nvpair id="status-101-failcount" name="fail-count-rsc_pcmk-2" value="2"/>
<nvpair id="status-101-failcount" name="fail-count-rsc_pcmk-1" value="1"/>
</instance_attributes>
</transient_attributes>
<lrm id="101" uname="pcmk-1" >
<lrm_resources>
<lrm_resource id="rsc_pcmk-1" type="IPaddr2" class="ocf" provider="heartbeat">
- <lrm_rsc_op id="rsc_pcmk-1_last_0" operation_key="rsc_pcmk-1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="33:1:0:313e9598-8f3f-1380-badf-f85027255388" transition-magic="0:0;33:1:0:313e9598-8f3f-1380-badf-f85027255388" call-id="37" rc-code="0" op-status="0" interval="5000" last-run="1332571396" last-rc-change="1332571396" exec-time="332" queue-time="0" op-digest="1b18702e550e223875106de83902bdba"/>
+ <lrm_rsc_op id="rsc_pcmk-1_last_0" operation_key="rsc_pcmk-1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="33:1:0:313e9598-8f3f-1380-badf-f85027255388" transition-magic="0:0;33:1:0:313e9598-8f3f-1380-badf-f85027255388" call-id="37" rc-code="0" op-status="0" interval="0" last-run="1332571396" last-rc-change="1332571396" exec-time="332" queue-time="0" op-digest="1b18702e550e223875106de83902bdba"/>
<lrm_rsc_op id="rsc_pcmk-1_monitor_5000" operation_key="rsc_pcmk-1_monitor_5000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="43:1:1:413e9598-8f4f-4480-badf-f85027255388" transition-magic="0:0;43:1:0:413e9598-8f4f-4480-badf-f85027255388" call-id="38" rc-code="1" op-status="0" interval="5000" last-run="1342571396" last-rc-change="1342571396" exec-time="332" queue-time="0" op-digest="1b18702e550e224875106de83902bdba"/>
</lrm_resource>
<lrm_resource id="rsc_pcmk-2" type="IPaddr2" class="ocf" provider="heartbeat">
- <lrm_rsc_op id="rsc_pcmk-2_last_0" operation_key="rsc_pcmk-2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="33:1:0:313e9598-8f3f-2380-badf-f85027255388" transition-magic="0:0;33:1:0:313e9598-8f3f-2380-badf-f85027255388" call-id="37" rc-code="0" op-status="0" interval="5000" last-run="1332571396" last-rc-change="1332571396" exec-time="332" queue-time="0" op-digest="1b18702e550e223875106de83902bdba"/>
+ <lrm_rsc_op id="rsc_pcmk-2_last_0" operation_key="rsc_pcmk-2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="33:1:0:313e9598-8f3f-2380-badf-f85027255388" transition-magic="0:0;33:1:0:313e9598-8f3f-2380-badf-f85027255388" call-id="37" rc-code="0" op-status="0" interval="0" last-run="1332571396" last-rc-change="1332571396" exec-time="332" queue-time="0" op-digest="1b18702e550e223875106de83902bdba"/>
<lrm_rsc_op id="rsc_pcmk-2_monitor_5000" operation_key="rsc_pcmk-2_monitor_5000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="43:1:1:413e9598-8f4f-4480-badf-f85027255388" transition-magic="0:0;43:1:0:413e9598-8f4f-4480-badf-f85027255388" call-id="38" rc-code="1" op-status="0" interval="5000" last-run="1342571396" last-rc-change="1342571396" exec-time="332" queue-time="0" op-digest="1b18702e550e224875106de83902bdba"/>
</lrm_resource>
<lrm_resource id="rsc_pcmk-3" type="IPaddr2" class="ocf" provider="heartbeat">
- <lrm_rsc_op id="rsc_pcmk-3_last_0" operation_key="rsc_pcmk-3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="33:1:0:313e9598-8f3f-3380-badf-f85027255388" transition-magic="0:0;33:1:0:313e9598-8f3f-3380-badf-f85027255388" call-id="39" rc-code="0" op-status="0" interval="5000" last-run="1332571396" last-rc-change="1332571396" exec-time="332" queue-time="0" op-digest="1b18702e550e223875106de83902bdba"/>
+ <lrm_rsc_op id="rsc_pcmk-3_last_0" operation_key="rsc_pcmk-3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="33:1:0:313e9598-8f3f-3380-badf-f85027255388" transition-magic="0:0;33:1:0:313e9598-8f3f-3380-badf-f85027255388" call-id="39" rc-code="0" op-status="0" interval="0" last-run="1332571396" last-rc-change="1332571396" exec-time="332" queue-time="0" op-digest="1b18702e550e223875106de83902bdba"/>
<lrm_rsc_op id="rsc_pcmk-3_monitor_5000" operation_key="rsc_pcmk-3_monitor_5000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="43:1:1:413e9598-8f4f-4480-badf-f85027255388" transition-magic="0:0;43:1:0:413e9598-8f4f-4480-badf-f85027255388" call-id="38" rc-code="1" op-status="0" interval="5000" last-run="1342571396" last-rc-change="1342571396" exec-time="332" queue-time="0" op-digest="1b18702e550e224875106de83902bdba"/>
</lrm_resource>
<lrm_resource id="rsc_pcmk-4" type="IPaddr2" class="ocf" provider="heartbeat">
- <lrm_rsc_op id="rsc_pcmk-4_last_0" operation_key="rsc_pcmk-4_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="33:1:0:313e9598-8f3f-4380-badf-f85027255388" transition-magic="0:0;33:1:0:313e9598-8f3f-4380-badf-f85027255388" call-id="39" rc-code="0" op-status="0" interval="5000" last-run="1332571396" last-rc-change="1332571396" exec-time="332" queue-time="0" op-digest="1b18702e550e223875106de83902bdba"/>
+ <lrm_rsc_op id="rsc_pcmk-4_last_0" operation_key="rsc_pcmk-4_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="33:1:0:313e9598-8f3f-4380-badf-f85027255388" transition-magic="0:0;33:1:0:313e9598-8f3f-4380-badf-f85027255388" call-id="39" rc-code="0" op-status="0" interval="0" last-run="1332571396" last-rc-change="1332571396" exec-time="332" queue-time="0" op-digest="1b18702e550e223875106de83902bdba"/>
<lrm_rsc_op id="rsc_pcmk-4_monitor_5000" operation_key="rsc_pcmk-4_monitor_5000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.6" transition-key="43:1:1:413e9598-8f4f-4480-badf-f85027255388" transition-magic="0:0;43:1:0:413e9598-8f4f-4480-badf-f85027255388" call-id="38" rc-code="1" op-status="0" interval="5000" last-run="1342571396" last-rc-change="1342571396" exec-time="332" queue-time="0" op-digest="1b18702e550e224875106de83902bdba"/>
</lrm_resource>
</lrm_resources>
</lrm>
</node_state>
<node_state uname="pcmk-4" in_ccm="false" crmd="offline" join="down" expected="down"/>
</status>
</cib>
diff --git a/pengine/test10/master-reattach.summary b/pengine/test10/master-reattach.summary
index 1c0a7e0a3b..2e7f492aba 100644
--- a/pengine/test10/master-reattach.summary
+++ b/pengine/test10/master-reattach.summary
@@ -1,34 +1,32 @@
Current cluster status:
Online: [ dktest1 dktest2 ]
Master/Slave Set: ms-drbd1 [drbd1] (unmanaged)
drbd1 (ocf::heartbeat:drbd): Master dktest1 (unmanaged)
drbd1 (ocf::heartbeat:drbd): Slave dktest2 (unmanaged)
- Stopped: [ dktest1 dktest2 ]
Resource Group: apache
apache-vip (ocf::heartbeat:IPaddr2): Started dktest1 (unmanaged)
mount (ocf::heartbeat:Filesystem): Started dktest1 (unmanaged)
webserver (ocf::heartbeat:apache): Started dktest1 (unmanaged)
Transition Summary:
Executing cluster transition:
* Resource action: drbd1:0 monitor=10000 on dktest1
* Resource action: drbd1:0 monitor=11000 on dktest2
* Resource action: apache-vip monitor=60000 on dktest1
* Resource action: mount monitor=10000 on dktest1
* Resource action: webserver monitor=30000 on dktest1
Revised cluster status:
Online: [ dktest1 dktest2 ]
Master/Slave Set: ms-drbd1 [drbd1] (unmanaged)
drbd1 (ocf::heartbeat:drbd): Master dktest1 (unmanaged)
drbd1 (ocf::heartbeat:drbd): Slave dktest2 (unmanaged)
- Stopped: [ dktest1 dktest2 ]
Resource Group: apache
apache-vip (ocf::heartbeat:IPaddr2): Started dktest1 (unmanaged)
mount (ocf::heartbeat:Filesystem): Started dktest1 (unmanaged)
webserver (ocf::heartbeat:apache): Started dktest1 (unmanaged)
diff --git a/pengine/test10/master-unmanaged-monitor.summary b/pengine/test10/master-unmanaged-monitor.summary
index 4ee74d2d2f..369dcde766 100644
--- a/pengine/test10/master-unmanaged-monitor.summary
+++ b/pengine/test10/master-unmanaged-monitor.summary
@@ -1,70 +1,68 @@
Current cluster status:
Online: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
Clone Set: Fencing [FencingChild] (unmanaged)
Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
Resource Group: group-1
r192.168.122.112 (ocf::heartbeat:IPaddr): Started pcmk-3 (unmanaged)
r192.168.122.113 (ocf::heartbeat:IPaddr): Started pcmk-3 (unmanaged)
r192.168.122.114 (ocf::heartbeat:IPaddr): Started pcmk-3 (unmanaged)
rsc_pcmk-1 (ocf::heartbeat:IPaddr): Started pcmk-1 (unmanaged)
rsc_pcmk-2 (ocf::heartbeat:IPaddr): Started pcmk-2 (unmanaged)
rsc_pcmk-3 (ocf::heartbeat:IPaddr): Started pcmk-3 (unmanaged)
rsc_pcmk-4 (ocf::heartbeat:IPaddr): Started pcmk-4 (unmanaged)
lsb-dummy (lsb:/usr/share/pacemaker/tests/cts/LSBDummy): Started pcmk-3 (unmanaged)
migrator (ocf::pacemaker:Dummy): Started pcmk-4 (unmanaged)
Clone Set: Connectivity [ping-1] (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-2 (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-3 (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-4 (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-1 (unmanaged)
- Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
Master/Slave Set: master-1 [stateful-1] (unmanaged)
stateful-1 (ocf::pacemaker:Stateful): Slave pcmk-2 (unmanaged)
stateful-1 (ocf::pacemaker:Stateful): Master pcmk-3 (unmanaged)
stateful-1 (ocf::pacemaker:Stateful): Slave pcmk-4 (unmanaged)
- Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
+ Stopped: [ pcmk-1 ]
Transition Summary:
Executing cluster transition:
* Resource action: lsb-dummy monitor=5000 on pcmk-3
* Resource action: migrator monitor=10000 on pcmk-4
* Resource action: ping-1:0 monitor=60000 on pcmk-2
* Resource action: ping-1:0 monitor=60000 on pcmk-3
* Resource action: ping-1:0 monitor=60000 on pcmk-4
* Resource action: ping-1:0 monitor=60000 on pcmk-1
* Resource action: stateful-1:0 monitor=15000 on pcmk-2
* Resource action: stateful-1:0 monitor on pcmk-1
* Resource action: stateful-1:0 monitor=16000 on pcmk-3
* Resource action: stateful-1:0 monitor=15000 on pcmk-4
* Pseudo action: probe_complete
Revised cluster status:
Online: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
Clone Set: Fencing [FencingChild] (unmanaged)
Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
Resource Group: group-1
r192.168.122.112 (ocf::heartbeat:IPaddr): Started pcmk-3 (unmanaged)
r192.168.122.113 (ocf::heartbeat:IPaddr): Started pcmk-3 (unmanaged)
r192.168.122.114 (ocf::heartbeat:IPaddr): Started pcmk-3 (unmanaged)
rsc_pcmk-1 (ocf::heartbeat:IPaddr): Started pcmk-1 (unmanaged)
rsc_pcmk-2 (ocf::heartbeat:IPaddr): Started pcmk-2 (unmanaged)
rsc_pcmk-3 (ocf::heartbeat:IPaddr): Started pcmk-3 (unmanaged)
rsc_pcmk-4 (ocf::heartbeat:IPaddr): Started pcmk-4 (unmanaged)
lsb-dummy (lsb:/usr/share/pacemaker/tests/cts/LSBDummy): Started pcmk-3 (unmanaged)
migrator (ocf::pacemaker:Dummy): Started pcmk-4 (unmanaged)
Clone Set: Connectivity [ping-1] (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-2 (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-3 (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-4 (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-1 (unmanaged)
- Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
Master/Slave Set: master-1 [stateful-1] (unmanaged)
stateful-1 (ocf::pacemaker:Stateful): Slave pcmk-2 (unmanaged)
stateful-1 (ocf::pacemaker:Stateful): Master pcmk-3 (unmanaged)
stateful-1 (ocf::pacemaker:Stateful): Slave pcmk-4 (unmanaged)
- Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
+ Stopped: [ pcmk-1 ]
diff --git a/pengine/test10/order7.exp b/pengine/test10/order7.exp
index f8594a9cfe..cc7cf86cba 100644
--- a/pengine/test10/order7.exp
+++ b/pengine/test10/order7.exp
@@ -1,111 +1,111 @@
<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
<synapse id="0">
<action_set>
<rsc_op id="10" operation="start" operation_key="rsc2_start_0" on_node="node1" on_node_uuid="uuid1">
<primitive id="rsc2" class="heartbeat" type="apache"/>
<attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
</rsc_op>
</action_set>
<inputs>
<trigger>
<pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
</trigger>
</inputs>
</synapse>
<synapse id="1">
<action_set>
<rsc_op id="4" operation="monitor" operation_key="rsc2_monitor_0" on_node="node1" on_node_uuid="uuid1">
<primitive id="rsc2" class="heartbeat" type="apache"/>
<attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
</rsc_op>
</action_set>
<inputs/>
</synapse>
<synapse id="2">
<action_set>
<rsc_op id="11" operation="start" operation_key="rsc3_start_0" on_node="node1" on_node_uuid="uuid1">
<primitive id="rsc3" class="heartbeat" type="apache"/>
<attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
</rsc_op>
</action_set>
<inputs>
<trigger>
<pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
</trigger>
</inputs>
</synapse>
<synapse id="3">
<action_set>
<rsc_op id="5" operation="monitor" operation_key="rsc3_monitor_0" on_node="node1" on_node_uuid="uuid1">
<primitive id="rsc3" class="heartbeat" type="apache"/>
<attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
</rsc_op>
</action_set>
<inputs/>
</synapse>
<synapse id="4">
<action_set>
- <rsc_op id="14" operation="start" operation_key="rscB_start_0" on_node="node1" on_node_uuid="uuid1">
+ <rsc_op id="13" operation="start" operation_key="rscB_start_0" on_node="node1" on_node_uuid="uuid1">
<primitive id="rscB" class="heartbeat" type="apache"/>
<attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
</rsc_op>
</action_set>
<inputs>
<trigger>
<pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
</trigger>
</inputs>
</synapse>
<synapse id="5">
<action_set>
<rsc_op id="6" operation="monitor" operation_key="rscB_monitor_0" on_node="node1" on_node_uuid="uuid1">
<primitive id="rscB" class="heartbeat" type="apache"/>
<attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
</rsc_op>
</action_set>
<inputs/>
</synapse>
<synapse id="6">
<action_set>
<rsc_op id="7" operation="monitor" operation_key="rscC_monitor_0" on_node="node1" on_node_uuid="uuid1">
<primitive id="rscC" class="heartbeat" type="apache"/>
<attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
</rsc_op>
</action_set>
<inputs/>
</synapse>
<synapse id="7" priority="1000000">
<action_set>
<rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
<attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
</rsc_op>
</action_set>
<inputs>
<trigger>
<rsc_op id="4" operation="monitor" operation_key="rsc2_monitor_0" on_node="node1" on_node_uuid="uuid1"/>
</trigger>
<trigger>
<rsc_op id="5" operation="monitor" operation_key="rsc3_monitor_0" on_node="node1" on_node_uuid="uuid1"/>
</trigger>
<trigger>
<rsc_op id="6" operation="monitor" operation_key="rscB_monitor_0" on_node="node1" on_node_uuid="uuid1"/>
</trigger>
<trigger>
<rsc_op id="7" operation="monitor" operation_key="rscC_monitor_0" on_node="node1" on_node_uuid="uuid1"/>
</trigger>
</inputs>
</synapse>
<synapse id="8">
<action_set>
<pseudo_event id="2" operation="probe_complete" operation_key="probe_complete">
<attributes crm_feature_set="3.0.7"/>
</pseudo_event>
</action_set>
<inputs>
<trigger>
<rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
</trigger>
</inputs>
</synapse>
</transition_graph>
diff --git a/pengine/test10/unmanaged-master.summary b/pengine/test10/unmanaged-master.summary
index 86efd8aff7..066f139fa8 100644
--- a/pengine/test10/unmanaged-master.summary
+++ b/pengine/test10/unmanaged-master.summary
@@ -1,61 +1,61 @@
Current cluster status:
Online: [ pcmk-1 pcmk-2 ]
OFFLINE: [ pcmk-3 pcmk-4 ]
Clone Set: Fencing [FencingChild] (unmanaged)
FencingChild (stonith:fence_xvm): Started pcmk-2 (unmanaged)
FencingChild (stonith:fence_xvm): Started pcmk-1 (unmanaged)
- Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
+ Stopped: [ pcmk-3 pcmk-4 ]
Resource Group: group-1
r192.168.122.126 (ocf::heartbeat:IPaddr): Started pcmk-2 (unmanaged)
r192.168.122.127 (ocf::heartbeat:IPaddr): Started pcmk-2 (unmanaged)
r192.168.122.128 (ocf::heartbeat:IPaddr): Started pcmk-2 (unmanaged)
rsc_pcmk-1 (ocf::heartbeat:IPaddr): Started pcmk-1 (unmanaged)
rsc_pcmk-2 (ocf::heartbeat:IPaddr): Started pcmk-2 (unmanaged)
rsc_pcmk-3 (ocf::heartbeat:IPaddr): Started pcmk-3 (unmanaged)
rsc_pcmk-4 (ocf::heartbeat:IPaddr): Started pcmk-4 (unmanaged)
lsb-dummy (lsb:/usr/share/pacemaker/tests/cts/LSBDummy): Started pcmk-2 (unmanaged)
migrator (ocf::pacemaker:Dummy): Started pcmk-4 (unmanaged)
Clone Set: Connectivity [ping-1] (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-2 (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-1 (unmanaged)
- Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
+ Stopped: [ pcmk-3 pcmk-4 ]
Master/Slave Set: master-1 [stateful-1] (unmanaged)
stateful-1 (ocf::pacemaker:Stateful): Master pcmk-2 (unmanaged)
stateful-1 (ocf::pacemaker:Stateful): Started pcmk-1 (unmanaged)
- Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
+ Stopped: [ pcmk-3 pcmk-4 ]
Transition Summary:
Executing cluster transition:
* Cluster action: do_shutdown on pcmk-2
* Cluster action: do_shutdown on pcmk-1
Revised cluster status:
Online: [ pcmk-1 pcmk-2 ]
OFFLINE: [ pcmk-3 pcmk-4 ]
Clone Set: Fencing [FencingChild] (unmanaged)
FencingChild (stonith:fence_xvm): Started pcmk-2 (unmanaged)
FencingChild (stonith:fence_xvm): Started pcmk-1 (unmanaged)
- Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
+ Stopped: [ pcmk-3 pcmk-4 ]
Resource Group: group-1
r192.168.122.126 (ocf::heartbeat:IPaddr): Started pcmk-2 (unmanaged)
r192.168.122.127 (ocf::heartbeat:IPaddr): Started pcmk-2 (unmanaged)
r192.168.122.128 (ocf::heartbeat:IPaddr): Started pcmk-2 (unmanaged)
rsc_pcmk-1 (ocf::heartbeat:IPaddr): Started pcmk-1 (unmanaged)
rsc_pcmk-2 (ocf::heartbeat:IPaddr): Started pcmk-2 (unmanaged)
rsc_pcmk-3 (ocf::heartbeat:IPaddr): Started pcmk-3 (unmanaged)
rsc_pcmk-4 (ocf::heartbeat:IPaddr): Started pcmk-4 (unmanaged)
lsb-dummy (lsb:/usr/share/pacemaker/tests/cts/LSBDummy): Started pcmk-2 (unmanaged)
migrator (ocf::pacemaker:Dummy): Started pcmk-4 (unmanaged)
Clone Set: Connectivity [ping-1] (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-2 (unmanaged)
ping-1 (ocf::pacemaker:ping): Started pcmk-1 (unmanaged)
- Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
+ Stopped: [ pcmk-3 pcmk-4 ]
Master/Slave Set: master-1 [stateful-1] (unmanaged)
stateful-1 (ocf::pacemaker:Stateful): Master pcmk-2 (unmanaged)
stateful-1 (ocf::pacemaker:Stateful): Started pcmk-1 (unmanaged)
- Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
+ Stopped: [ pcmk-3 pcmk-4 ]

File Metadata

Mime Type
text/x-diff
Expires
Tue, Jul 8, 6:41 PM (2 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2002744
Default Alt Text
(50 KB)

Event Timeline