commit 6bb62a4a2b304de64d8ccf0e38ae6dd3c3d5e772
Author: Andrew Beekhof <andrew@beekhof.net>
Date: Wed Sep 25 11:53:35 2013 +1000
Fix: Bug rhbz#1011618 - Consistently use 'Slave' as the role for unpromoted master/slave resources
(cherry picked from commit bc5e0b677b7ee45c022496cb926f91bad3731974)
diff --git a/lib/pengine/native.c b/lib/pengine/native.c
index c81a218..adfd5ba 100644
--- a/lib/pengine/native.c
+++ b/lib/pengine/native.c
@@ -294,16 +294,21 @@ native_print_attr(gpointer key, gpointer value, gpointer user_data)
static void
native_print_xml(resource_t * rsc, const char *pre_text, long options, void *print_data)
{
+ enum rsc_role_e role = rsc->role;
const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
+ if(role == RSC_ROLE_STARTED && uber_parent(rsc)->variant == pe_master) {
+ role = RSC_ROLE_SLAVE;
+ }
+
/* 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("role=\"%s\" ", role2text(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");