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
********************************************

Reply via email to