Send Linux-ha-cvs mailing list submissions to linux-ha-cvs@lists.linux-ha.org
To subscribe or unsubscribe via the World Wide Web, visit http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs or, via email, send a message with subject or body 'help' to [EMAIL PROTECTED] You can reach the person managing the list at [EMAIL PROTECTED] When replying, please edit your Subject line so it is more specific than "Re: Contents of Linux-ha-cvs digest..." Today's Topics: 1. Linux-HA CVS: lib by andrew from (linux-ha-cvs@lists.linux-ha.org) ---------------------------------------------------------------------- Message: 1 Date: Tue, 18 Jul 2006 00:17:34 -0600 (MDT) From: linux-ha-cvs@lists.linux-ha.org Subject: [Linux-ha-cvs] Linux-HA CVS: lib by andrew from To: [EMAIL PROTECTED] Message-ID: <[EMAIL PROTECTED]> linux-ha CVS committal Author : andrew Host : Project : linux-ha Module : lib Dir : linux-ha/lib/crm/pengine Modified Files: unpack.c Log Message: OSDL #1369 - Node status * More accurately determin node status * Make use of HA node "up" status * Filter out stop requests that would require a resource to be added --- 110 files changed, 269 insertions(+), 249 deletions(-) crm/crmd/callbacks.c | 35 +++++++------ crm/crmd/ccm.c | 2 crm/crmd/control.c | 2 crm/crmd/join_dc.c | 2 crm/crmd/lrm.c | 22 +++++++- crm/crmd/utils.c | 6 +- crm/pengine/testcases/attrs1.xml | 4 - crm/pengine/testcases/attrs2.xml | 4 - crm/pengine/testcases/attrs3.xml | 4 - crm/pengine/testcases/attrs4.xml | 4 - crm/pengine/testcases/attrs5.xml | 4 - crm/pengine/testcases/attrs6.xml | 4 - crm/pengine/testcases/attrs7.xml | 4 - crm/pengine/testcases/attrs8.xml | 4 - crm/pengine/testcases/bad1.xml | 4 - crm/pengine/testcases/bad2.xml | 4 - crm/pengine/testcases/bad3.xml | 2 crm/pengine/testcases/bad4.xml | 2 crm/pengine/testcases/bad5.xml | 2 crm/pengine/testcases/bad6.xml | 2 crm/pengine/testcases/comments.xml | 4 - crm/pengine/testcases/date-1.xml | 4 - crm/pengine/testcases/group1.xml | 4 - crm/pengine/testcases/group11.xml | 2 crm/pengine/testcases/group2.xml | 4 - crm/pengine/testcases/group3.xml | 4 - crm/pengine/testcases/group4.xml | 4 - crm/pengine/testcases/group5.xml | 4 - crm/pengine/testcases/group6.xml | 4 - crm/pengine/testcases/group7.xml | 6 +- crm/pengine/testcases/group8.xml | 2 crm/pengine/testcases/group9.xml | 4 - crm/pengine/testcases/inc0.xml | 4 - crm/pengine/testcases/inc1.xml | 4 - crm/pengine/testcases/inc2.xml | 4 - crm/pengine/testcases/inc3.xml | 4 - crm/pengine/testcases/inc4.xml | 4 - crm/pengine/testcases/inc5.xml | 4 - crm/pengine/testcases/inc6.xml | 4 - crm/pengine/testcases/inc7.xml | 6 +- crm/pengine/testcases/inc8.xml | 4 - crm/pengine/testcases/inc9.xml | 4 - crm/pengine/testcases/master-0.xml | 4 - crm/pengine/testcases/master-1.xml | 4 - crm/pengine/testcases/master-10.xml | 4 - crm/pengine/testcases/master-2.xml | 4 - crm/pengine/testcases/master-3.xml | 4 - crm/pengine/testcases/mon-rsc-1.xml | 4 - crm/pengine/testcases/mon-rsc-2.xml | 4 - crm/pengine/testcases/mon-rsc-3.xml | 4 - crm/pengine/testcases/mon-rsc-4.xml | 4 - crm/pengine/testcases/multi1.xml | 4 - crm/pengine/testcases/notify-0.xml | 2 crm/pengine/testcases/notify-1.xml | 2 crm/pengine/testcases/notify-2.xml | 2 crm/pengine/testcases/notify-3.xml | 4 - crm/pengine/testcases/order1.xml | 4 - crm/pengine/testcases/order2.xml | 4 - crm/pengine/testcases/order3.xml | 4 - crm/pengine/testcases/order4.xml | 4 - crm/pengine/testcases/order5.xml | 4 - crm/pengine/testcases/order6.xml | 4 - crm/pengine/testcases/order7.xml | 2 crm/pengine/testcases/params-2.xml | 6 +- crm/pengine/testcases/quorum-1.xml | 4 - crm/pengine/testcases/quorum-2.xml | 4 - crm/pengine/testcases/quorum-3.xml | 4 - crm/pengine/testcases/rec-node-1.xml | 2 crm/pengine/testcases/rec-node-10.xml | 2 crm/pengine/testcases/rec-node-11.xml | 4 - crm/pengine/testcases/rec-node-2.xml | 2 crm/pengine/testcases/rec-node-3.xml | 2 crm/pengine/testcases/rec-node-4.xml | 2 crm/pengine/testcases/rec-node-5.xml | 4 - crm/pengine/testcases/rec-node-6.xml | 4 - crm/pengine/testcases/rec-node-7.xml | 2 crm/pengine/testcases/rec-node-8.xml | 2 crm/pengine/testcases/rec-node-9.xml | 2 crm/pengine/testcases/rec-rsc-0.xml | 4 - crm/pengine/testcases/rec-rsc-1.xml | 4 - crm/pengine/testcases/rec-rsc-2.xml | 4 - crm/pengine/testcases/rec-rsc-3.xml | 4 - crm/pengine/testcases/rec-rsc-4.xml | 4 - crm/pengine/testcases/rec-rsc-5.xml | 4 - crm/pengine/testcases/rec-rsc-6.xml | 4 - crm/pengine/testcases/rec-rsc-7.xml | 4 - crm/pengine/testcases/rec-rsc-8.xml | 4 - crm/pengine/testcases/rsc_dep1.xml | 4 - crm/pengine/testcases/rsc_dep10.xml | 4 - crm/pengine/testcases/rsc_dep2.xml | 4 - crm/pengine/testcases/rsc_dep3.xml | 4 - crm/pengine/testcases/rsc_dep4.xml | 4 - crm/pengine/testcases/rsc_dep5.xml | 4 - crm/pengine/testcases/rsc_dep7.xml | 4 - crm/pengine/testcases/rsc_dep8.xml | 4 - crm/pengine/testcases/rsc_dep9.xml | 4 - crm/pengine/testcases/rsc_location1.xml | 4 - crm/pengine/testcases/rsc_location2.xml | 4 - crm/pengine/testcases/rsc_location3.xml | 4 - crm/pengine/testcases/rsc_location4.xml | 4 - crm/pengine/testcases/rsc_location5.xml | 4 - crm/pengine/testcases/simple1.xml | 2 crm/pengine/testcases/simple11.xml | 4 - crm/pengine/testcases/simple12.xml | 4 - crm/pengine/testcases/simple2.xml | 4 - crm/pengine/testcases/simple3.xml | 2 crm/pengine/testcases/simple4.xml | 2 crm/pengine/testcases/simple6.xml | 2 crm/pengine/testcases/simple7.xml | 2 crm/pengine/testcases/simple8.xml | 4 - lib/crm/pengine/unpack.c | 81 ++++++++++++++++---------------- 111 files changed, 275 insertions(+), 251 deletions(-) =================================================================== RCS file: /home/cvs/linux-ha/linux-ha/lib/crm/pengine/unpack.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- unpack.c 18 Jul 2006 06:14:44 -0000 1.12 +++ unpack.c 18 Jul 2006 06:17:34 -0000 1.13 @@ -1,4 +1,4 @@ -/* $Id: unpack.c,v 1.12 2006/07/18 06:14:44 andrew Exp $ */ +/* $Id: unpack.c,v 1.13 2006/07/18 06:17:34 andrew Exp $ */ /* * Copyright (C) 2004 Andrew Beekhof <[EMAIL PROTECTED]> * @@ -386,27 +386,29 @@ determine_online_status_no_fencing(crm_data_t * node_state, node_t *this_node) { gboolean online = FALSE; - const char *join_state = crm_element_value(node_state, - XML_CIB_ATTR_JOINSTATE); - const char *crm_state = crm_element_value(node_state, - XML_CIB_ATTR_CRMDSTATE); - const char *ccm_state = crm_element_value(node_state, - XML_CIB_ATTR_INCCM); - const char *ha_state = crm_element_value(node_state, - XML_CIB_ATTR_HASTATE); - const char *exp_state = crm_element_value(node_state, - XML_CIB_ATTR_EXPSTATE); + const char *join_state = crm_element_value(node_state, XML_CIB_ATTR_JOINSTATE); + const char *crm_state = crm_element_value(node_state, XML_CIB_ATTR_CRMDSTATE); + const char *ccm_state = crm_element_value(node_state, XML_CIB_ATTR_INCCM); + const char *ha_state = crm_element_value(node_state, XML_CIB_ATTR_HASTATE); + const char *exp_state = crm_element_value(node_state, XML_CIB_ATTR_EXPSTATE); - if(!crm_is_true(ccm_state) || safe_str_eq(ha_state,DEADSTATUS)){ + if(ha_state == NULL) { + ha_state = DEADSTATUS; + } + + if(!crm_is_true(ccm_state) || safe_str_eq(ha_state, DEADSTATUS)){ crm_debug_2("Node is down: ha_state=%s, ccm_state=%s", crm_str(ha_state), crm_str(ccm_state)); } else if(!crm_is_true(ccm_state) || safe_str_eq(ha_state, DEADSTATUS)) { - - } else if(safe_str_neq(join_state, CRMD_JOINSTATE_DOWN) - && safe_str_eq(crm_state, ONLINESTATUS)) { - online = TRUE; + + } else if(safe_str_eq(crm_state, ONLINESTATUS)) { + if(safe_str_eq(join_state, CRMD_JOINSTATE_MEMBER)) { + online = TRUE; + } else { + crm_debug("Node is not ready to run resources: %s", join_state); + } } else if(this_node->details->expected_up == FALSE) { crm_debug_2("CRMd is down: ha_state=%s, ccm_state=%s", @@ -434,40 +436,34 @@ determine_online_status_fencing(crm_data_t * node_state, node_t *this_node) { gboolean online = FALSE; - const char *join_state = crm_element_value(node_state, - XML_CIB_ATTR_JOINSTATE); - const char *crm_state = crm_element_value(node_state, - XML_CIB_ATTR_CRMDSTATE); - const char *ccm_state = crm_element_value(node_state, - XML_CIB_ATTR_INCCM); - const char *ha_state = crm_element_value(node_state, - XML_CIB_ATTR_HASTATE); - const char *exp_state = crm_element_value(node_state, - XML_CIB_ATTR_EXPSTATE); + const char *join_state = crm_element_value(node_state, XML_CIB_ATTR_JOINSTATE); + const char *crm_state = crm_element_value(node_state, XML_CIB_ATTR_CRMDSTATE); + const char *ccm_state = crm_element_value(node_state, XML_CIB_ATTR_INCCM); + const char *ha_state = crm_element_value(node_state, XML_CIB_ATTR_HASTATE); + const char *exp_state = crm_element_value(node_state, XML_CIB_ATTR_EXPSTATE); + + if(ha_state == NULL) { + ha_state = DEADSTATUS; + } if(crm_is_true(ccm_state) - && (ha_state == NULL || safe_str_eq(ha_state, ACTIVESTATUS)) - && safe_str_eq(crm_state, ONLINESTATUS) - && safe_str_eq(join_state, CRMD_JOINSTATE_MEMBER)) { + && safe_str_eq(ha_state, ACTIVESTATUS) + && safe_str_eq(crm_state, ONLINESTATUS)) { online = TRUE; + if(safe_str_neq(join_state, CRMD_JOINSTATE_MEMBER)) { + crm_debug("Node is not ready to run resources: %s", join_state); + this_node->details->standby = TRUE; + } } else if(crm_is_true(ccm_state) == FALSE -/* && safe_str_eq(ha_state, DEADSTATUS) */ + && safe_str_eq(ha_state, DEADSTATUS) && safe_str_eq(crm_state, OFFLINESTATUS) && this_node->details->expected_up == FALSE) { crm_debug("Node %s is down: join_state=%s, expected=%s", this_node->details->uname, crm_str(join_state), crm_str(exp_state)); - } else if(this_node->details->expected_up == FALSE) { - crm_info("Node %s is comming up", this_node->details->uname); - crm_debug("\tha_state=%s, ccm_state=%s," - " crm_state=%s, join_state=%s, expected=%s", - crm_str(ha_state), crm_str(ccm_state), - crm_str(crm_state), crm_str(join_state), - crm_str(exp_state)); - - } else { + } else if(this_node->details->expected_up) { /* mark it unclean */ this_node->details->unclean = TRUE; @@ -478,6 +474,15 @@ crm_str(ha_state), crm_str(ccm_state), crm_str(crm_state), crm_str(join_state), crm_str(exp_state)); + + } else { + crm_info("Node %s is comming up", this_node->details->uname); + crm_debug("\tha_state=%s, ccm_state=%s," + " crm_state=%s, join_state=%s, expected=%s", + crm_str(ha_state), crm_str(ccm_state), + crm_str(crm_state), crm_str(join_state), + crm_str(exp_state)); + } return online; } ------------------------------ _______________________________________________ Linux-ha-cvs mailing list Linux-ha-cvs@lists.linux-ha.org http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs End of Linux-ha-cvs Digest, Vol 32, Issue 55 ********************************************