Send Linux-ha-cvs mailing list submissions to
        [email protected]

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: include by andrew from 
      ([email protected])
   2. Linux-HA CVS: lib by andrew from 
      ([email protected])
   3. Linux-HA CVS: crm by andrew from 
      ([email protected])


----------------------------------------------------------------------

Message: 1
Date: Tue,  4 Apr 2006 07:08:52 -0600 (MDT)
From: [email protected]
Subject: [Linux-ha-cvs] Linux-HA CVS: include by andrew from 
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>

linux-ha CVS committal

Author  : andrew
Host    : 
Project : linux-ha
Module  : include

Dir     : linux-ha/include/crm/common


Modified Files:
        xml.h 


Log Message:
Dont fake xmlGetNodePath(), just use get_element_name() directly
Implement xml dtd validation





------------------------------

Message: 2
Date: Tue,  4 Apr 2006 07:09:28 -0600 (MDT)
From: [email protected]
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/cib


Modified Files:
        cib_attrs.c 


Log Message:
Fix some asserts when compatibilty mode is turned off

===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/lib/crm/cib/cib_attrs.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- cib_attrs.c 18 Mar 2006 17:23:48 -0000      1.14
+++ cib_attrs.c 4 Apr 2006 13:09:27 -0000       1.15
@@ -1,4 +1,4 @@
-/* $Id: cib_attrs.c,v 1.14 2006/03/18 17:23:48 andrew Exp $ */
+/* $Id: cib_attrs.c,v 1.15 2006/04/04 13:09:27 andrew Exp $ */
 
 /* 
  * Copyright (C) 2004 Andrew Beekhof <[EMAIL PROTECTED]>
@@ -139,7 +139,6 @@
 {
        const char *tag = NULL;
        enum cib_errors rc = cib_ok;
-       crm_data_t *a_node = NULL;
        crm_data_t *xml_obj = NULL;
        crm_data_t *xml_next = NULL;
        crm_data_t *fragment = NULL;
@@ -164,12 +163,13 @@
        if(safe_str_eq(crm_element_name(fragment), section)) {
                xml_obj = fragment;
        } else {
+               crm_data_t *a_node = NULL;
                a_node = find_xml_node(fragment, XML_TAG_CIB, TRUE);
                xml_obj = get_object_root(section, a_node);
        }
 #else
        xml_obj = fragment;
-       CRM_CHECK(safe_str_eq(crm_element_name(xml_obj), XML_TAG_CIB),
+       CRM_CHECK(safe_str_eq(crm_element_name(xml_obj), section),
                  return cib_output_data);
 #endif
        CRM_ASSERT(xml_obj != NULL);
@@ -325,7 +325,7 @@
        }
 #else
        xml_obj = fragment;
-       CRM_CHECK(safe_str_eq(crm_element_name(xml_obj), XML_TAG_CIB),
+       CRM_CHECK(safe_str_eq(crm_element_name(xml_obj), XML_CIB_TAG_NODES),
                  return cib_output_data);
 #endif
        CRM_ASSERT(xml_obj != NULL);
@@ -377,7 +377,7 @@
        }
 #else
        xml_obj = fragment;
-       CRM_CHECK(safe_str_eq(crm_element_name(xml_obj), XML_TAG_CIB),
+       CRM_CHECK(safe_str_eq(crm_element_name(xml_obj), XML_CIB_TAG_NODES),
                  return cib_output_data);
 #endif
        CRM_ASSERT(xml_obj != NULL);
@@ -410,7 +410,6 @@
        const char *type = XML_CIB_TAG_NODES;                           \
                                                                        \
        CRM_CHECK(uuid != NULL, return cib_missing_data);               \
-       CRM_CHECK(standby_value != NULL, return cib_missing_data);      \
        str_length += strlen(attr_name);                                \
        str_length += strlen(uuid);                                     \
        if(safe_str_eq(scope, "reboot")                                 \
@@ -432,6 +431,7 @@
              char **standby_value)
 {
        enum cib_errors rc = cib_ok;
+       CRM_CHECK(standby_value != NULL, return cib_missing_data);
 
        if(scope != NULL) {
                standby_common;
@@ -460,6 +460,7 @@
            const char *standby_value)
 {
        enum cib_errors rc = cib_ok;
+       CRM_CHECK(standby_value != NULL, return cib_missing_data);
        if(scope != NULL) {
                standby_common;
                rc = update_attr(the_cib, cib_sync_call, type, uuid, set_name,




------------------------------

Message: 3
Date: Tue,  4 Apr 2006 07:19:20 -0600 (MDT)
From: [email protected]
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/tengine


Modified Files:
        actions.c 


Log Message:
Include the resource's class, type and provider

===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/crm/tengine/actions.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- actions.c   31 Mar 2006 12:03:05 -0000      1.19
+++ actions.c   4 Apr 2006 13:19:20 -0000       1.20
@@ -1,4 +1,4 @@
-/* $Id: actions.c,v 1.19 2006/03/31 12:03:05 andrew Exp $ */
+/* $Id: actions.c,v 1.20 2006/04/04 13:19:20 andrew Exp $ */
 /* 
  * Copyright (C) 2004 Andrew Beekhof <[EMAIL PROTECTED]>
  * 
@@ -242,33 +242,37 @@
 cib_action_update(crm_action_t *action, int status)
 {
        char *code = NULL;
-       crm_data_t *fragment = NULL;
+       char *digest = NULL;
+       crm_data_t *params   = NULL;
        crm_data_t *state    = NULL;
        crm_data_t *rsc      = NULL;
        crm_data_t *xml_op   = NULL;
+       crm_data_t *action_rsc = NULL;
        char *op_id = NULL;
 
        enum cib_errors rc = cib_ok;
+
+       const char *name = NULL;
+       const char *value = NULL;
        const char *task   = crm_element_value(action->xml, XML_LRM_ATTR_TASK);
        const char *rsc_id = crm_element_value(action->xml, XML_LRM_ATTR_RSCID);
        const char *target = crm_element_value(action->xml, 
XML_LRM_ATTR_TARGET);
        const char *task_uuid = crm_element_value(
                action->xml, XML_LRM_ATTR_TASK_KEY);
        
-       const char *target_uuid =
-               crm_element_value(action->xml, XML_LRM_ATTR_TARGET_UUID);
+       const char *target_uuid = crm_element_value(
+               action->xml, XML_LRM_ATTR_TARGET_UUID);
 
        int call_options = cib_quorum_override|cib_scope_local;
 
-       if(status == LRM_OP_TIMEOUT) {
-               if(crm_element_value(action->xml, XML_LRM_ATTR_RSCID) != NULL) {
-                       crm_warn("%s: %s %s on %s timed out",
-                                crm_element_name(action->xml), task_uuid, 
rsc_id, target);
-               } else {
-                       crm_warn("%s: %s on %s timed out",
-                                crm_element_name(action->xml), task_uuid, 
target);
-               }
-       }
+       CRM_CHECK(rsc_id != NULL, return FALSE);
+       
+       crm_warn("%s: %s %s on %s timed out",
+                crm_element_name(action->xml), task_uuid, rsc_id, target);
+
+       action_rsc = find_xml_node(action->xml, XML_CIB_TAG_RESOURCE, TRUE);
+       CRM_CHECK(action_rsc != NULL, return FALSE);
+
        code = crm_itoa(status);
        
 /*
@@ -280,7 +284,6 @@
           <lrm_resource id="rsc2" last_op="start" op_code="0" target="hadev"/>
 */
 
-       fragment = NULL;
        state    = create_xml_node(NULL, XML_CIB_TAG_STATE);
 
        crm_xml_add(state, XML_ATTR_UUID,  target_uuid);
@@ -289,10 +292,19 @@
        rsc = create_xml_node(state, XML_CIB_TAG_LRM);
        rsc = create_xml_node(rsc,   XML_LRM_TAG_RESOURCES);
        rsc = create_xml_node(rsc,   XML_LRM_TAG_RESOURCE);
+       crm_xml_add(rsc, XML_ATTR_ID, rsc_id);
 
-       xml_op = create_xml_node(rsc,XML_LRM_TAG_RSC_OP);
-       
-       crm_xml_add(rsc,    XML_ATTR_ID, rsc_id);
+       name = XML_ATTR_TYPE;
+       value = crm_element_value(action_rsc, name);
+       crm_xml_add(rsc, name, value);
+       name = XML_AGENT_ATTR_CLASS;
+       value = crm_element_value(action_rsc, name);
+       crm_xml_add(rsc, name, value);
+       name = XML_AGENT_ATTR_PROVIDER;
+       value = crm_element_value(action_rsc, name);
+       crm_xml_add(rsc, name, value);
+
+       xml_op = create_xml_node(rsc, XML_LRM_TAG_RSC_OP);      
        crm_xml_add(xml_op, XML_ATTR_ID, task);
        
        op_id = generate_op_key(rsc_id, task, action->interval);
@@ -300,9 +312,6 @@
        crm_free(op_id);
        
        crm_xml_add(xml_op, XML_LRM_ATTR_TASK, task);
-       crm_xml_add(rsc, XML_LRM_ATTR_RSCSTATE,
-                             get_rsc_state(task, status));
-       
        crm_xml_add(xml_op, XML_LRM_ATTR_OPSTATUS, code);
        crm_xml_add(xml_op, XML_LRM_ATTR_CALLID, "-1");
        crm_xml_add(xml_op, XML_LRM_ATTR_RC, code);
@@ -319,24 +328,25 @@
        crm_xml_add(xml_op,  XML_ATTR_TRANSITION_MAGIC, code);
        crm_free(code);
 
-       crm_err("FIXME: Need to include op_digest for parameters in cib update 
for %s",
-               ID(xml_op));
-       
-       fragment = create_cib_fragment(state, XML_CIB_TAG_STATUS);
+       params = find_xml_node(action->xml, "attributes", TRUE);
+       params = copy_xml(params);
+       filter_action_parameters(params);
+       digest = calculate_xml_digest(params, TRUE);
+       crm_xml_add(xml_op, XML_LRM_ATTR_OP_DIGEST, digest);
+       crm_free(digest);
+       free_xml(params);
        
        crm_debug_3("Updating CIB with \"%s\" (%s): %s %s on %s",
                  status<0?"new action":XML_ATTR_TIMEOUT,
                  crm_element_name(action->xml), crm_str(task), rsc_id, target);
        
        rc = te_cib_conn->cmds->update(
-               te_cib_conn, XML_CIB_TAG_STATUS, fragment, NULL, call_options);
+               te_cib_conn, XML_CIB_TAG_STATUS, state, NULL, call_options);
 
        crm_debug("Updating CIB with %s action %d: %s %s on %s (call_id=%d)",
                  op_status2text(status), action->id, task_uuid, rsc_id, 
target, rc);
 
        add_cib_op_callback(rc, FALSE, NULL, cib_action_updated);
-
-       free_xml(fragment);
        free_xml(state);
 
        action->sent_update = TRUE;




------------------------------

_______________________________________________
Linux-ha-cvs mailing list
[email protected]
http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs


End of Linux-ha-cvs Digest, Vol 29, Issue 17
********************************************

Reply via email to