Blob Blame History Raw
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");