Page Menu
Home
ClusterLabs Projects
Search
Configure Global Search
Log In
Files
F4624680
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
50 KB
Referenced Files
None
Subscribers
None
View Options
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
Details
Attached
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)
Attached To
Mode
rP Pacemaker
Attached
Detach File
Event Timeline
Log In to Comment