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: crm by andrew from (linux-ha-cvs@lists.linux-ha.org) ---------------------------------------------------------------------- Message: 1 Date: Tue, 18 Jul 2006 00:17:32 -0600 (MDT) From: linux-ha-cvs@lists.linux-ha.org Subject: [Linux-ha-cvs] Linux-HA CVS: crm by andrew from To: [EMAIL PROTECTED] Message-ID: <[EMAIL PROTECTED]> linux-ha CVS committal Author : andrew Host : Project : linux-ha Module : crm Dir : linux-ha/crm/crmd Modified Files: callbacks.c ccm.c control.c join_dc.c lrm.c utils.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/crm/crmd/callbacks.c,v retrieving revision 1.124 retrieving revision 1.125 diff -u -3 -r1.124 -r1.125 --- callbacks.c 8 Jun 2006 14:07:38 -0000 1.124 +++ callbacks.c 18 Jul 2006 06:17:32 -0000 1.125 @@ -297,27 +297,30 @@ const char *node, const char * status, void* private_data) { crm_data_t *update = NULL; - crm_notice("Status update: Node %s now has status [%s]",node,status); - if(safe_str_neq(status, DEADSTATUS)) { - crm_debug_3("nstatus callback was not for a dead node"); - return; - } - - /* this node is taost */ - update = create_node_state( - node, status, XML_BOOLEAN_NO, OFFLINESTATUS, - CRMD_STATE_INACTIVE, NULL, TRUE, __FUNCTION__); - crm_xml_add(update, XML_CIB_ATTR_REPLACE, XML_TAG_TRANSIENT_NODEATTRS); + if(safe_str_eq(status, DEADSTATUS)) { + /* this node is taost */ + update = create_node_state( + node, status, XML_BOOLEAN_NO, OFFLINESTATUS, + CRMD_STATE_INACTIVE, NULL, TRUE, __FUNCTION__); + crm_xml_add(update, XML_CIB_ATTR_REPLACE, XML_TAG_TRANSIENT_NODEATTRS); - /* this change should not be broadcast */ - update_local_cib(create_cib_fragment(update, XML_CIB_TAG_STATUS)); - trigger_fsa(fsa_source); - free_xml(update); + } else if(safe_str_eq(status, ACTIVESTATUS)) { + update = create_node_state( + node, status, NULL, NULL, NULL, NULL, FALSE, __FUNCTION__); + } + + if(update != NULL) { + /* this change should not be broadcast */ + fsa_cib_anon_update( + XML_CIB_TAG_STATUS, update, + cib_inhibit_bcast|cib_scope_local|cib_quorum_override); + trigger_fsa(fsa_source); + free_xml(update); + } } - void crmd_client_status_callback(const char * node, const char * client, const char * status, void * private) =================================================================== RCS file: /home/cvs/linux-ha/linux-ha/crm/crmd/ccm.c,v retrieving revision 1.105 retrieving revision 1.106 diff -u -3 -r1.105 -r1.106 --- ccm.c 23 Apr 2006 08:23:41 -0000 1.105 +++ ccm.c 18 Jul 2006 06:17:32 -0000 1.106 @@ -1,4 +1,4 @@ -/* $Id: ccm.c,v 1.105 2006/04/23 08:23:41 andrew Exp $ */ +/* $Id: ccm.c,v 1.106 2006/07/18 06:17:32 andrew Exp $ */ /* * Copyright (C) 2004 Andrew Beekhof <[EMAIL PROTECTED]> * @@ -660,7 +660,7 @@ if(data->overwrite_join) { if(safe_str_neq(peer_online, ONLINESTATUS)) { - join = CRMD_STATE_INACTIVE; + join = CRMD_JOINSTATE_DOWN; } else { const char *peer_member = g_hash_table_lookup( =================================================================== RCS file: /home/cvs/linux-ha/linux-ha/crm/crmd/control.c,v retrieving revision 1.132 retrieving revision 1.133 diff -u -3 -r1.132 -r1.133 --- control.c 10 Jul 2006 09:33:40 -0000 1.132 +++ control.c 18 Jul 2006 06:17:32 -0000 1.133 @@ -716,7 +716,6 @@ return FALSE; } -#if 0 crm_debug_3("Be informed of Node Status changes"); if (HA_OK != hb_cluster->llc_ops->set_nstatus_callback( hb_cluster, crmd_ha_status_callback, hb_cluster)){ @@ -725,7 +724,6 @@ hb_cluster->llc_ops->errmsg(hb_cluster)); return FALSE; } -#endif crm_debug_3("Be informed of CRM Client Status changes"); if (HA_OK != hb_cluster->llc_ops->set_cstatus_callback( =================================================================== RCS file: /home/cvs/linux-ha/linux-ha/crm/crmd/join_dc.c,v retrieving revision 1.92 retrieving revision 1.93 diff -u -3 -r1.92 -r1.93 --- join_dc.c 6 Jul 2006 09:30:28 -0000 1.92 +++ join_dc.c 18 Jul 2006 06:17:32 -0000 1.93 @@ -172,7 +172,7 @@ */ current_join_id++; initialize_join(TRUE); - do_update_cib_nodes(TRUE, __FUNCTION__); +/* do_update_cib_nodes(TRUE, __FUNCTION__); */ update_dc(NULL, FALSE); =================================================================== RCS file: /home/cvs/linux-ha/linux-ha/crm/crmd/lrm.c,v retrieving revision 1.201 retrieving revision 1.202 diff -u -3 -r1.201 -r1.202 --- lrm.c 10 Jul 2006 09:33:41 -0000 1.201 +++ lrm.c 18 Jul 2006 06:17:32 -0000 1.202 @@ -881,6 +881,7 @@ } else if(operation != NULL) { lrm_rsc_t *rsc = NULL; crm_data_t *params = NULL; + gboolean create_rsc = TRUE; crm_data_t *xml_rsc = find_xml_node( input->xml, XML_CIB_TAG_RESOURCE, TRUE); @@ -889,12 +890,27 @@ /* only the first 16 chars are used by the LRM */ params = find_xml_node(input->xml, XML_TAG_ATTRS,TRUE); - rsc = get_lrm_resource(xml_rsc, input->xml, TRUE); - if(rsc == NULL) { + if(safe_str_eq(operation, CRMD_ACTION_STOP)) { + create_rsc = FALSE; + } + + rsc = get_lrm_resource(xml_rsc, input->xml, create_rsc); + + if(rsc == NULL && create_rsc) { crm_err("Invalid resource definition"); - crm_log_xml_err(input->xml, "Bad command"); + crm_log_xml_warn(input->xml, "Bad command"); + + } else if(rsc == NULL) { + lrm_op_t* op = NULL; + crm_err("Not creating resource for a stop event"); + crm_log_xml_warn(input->xml, "Bad command"); + op = construct_op(input->xml, ID(xml_rsc), operation); + CRM_ASSERT(op != NULL); + send_direct_ack(from_host, from_sys, op, ID(xml_rsc)); + free_lrm_op(op); + } else if(safe_str_eq(operation, CRMD_ACTION_CANCEL)) { lrm_op_t* op = NULL; char *op_key = NULL; =================================================================== RCS file: /home/cvs/linux-ha/linux-ha/crm/crmd/utils.c,v retrieving revision 1.93 retrieving revision 1.94 diff -u -3 -r1.93 -r1.94 --- utils.c 11 May 2006 09:11:33 -0000 1.93 +++ utils.c 18 Jul 2006 06:17:32 -0000 1.94 @@ -1127,8 +1127,10 @@ crm_xml_add(tmp1, XML_ATTR_UNAME, uname); crm_xml_add(tmp1, XML_ATTR_TYPE, type); - - update_local_cib(create_cib_fragment(tmp1, XML_CIB_TAG_NODES)); + + fsa_cib_anon_update(XML_CIB_TAG_NODES, tmp1, + cib_scope_local|cib_quorum_override); + free_xml(tmp1); } ------------------------------ _______________________________________________ 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 54 ********************************************