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)
   2. Linux-HA CVS: crm by andrew from 
      (linux-ha-cvs@lists.linux-ha.org)


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

Message: 1
Date: Wed,  7 Jun 2006 06:50:02 -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/common


Modified Files:
        xml.c 


Log Message:
Turn down some logging, diff failures can happen normally (ie. when a
  diff is being applied after a membership change)





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

Message: 2
Date: Wed,  7 Jun 2006 06:51:17 -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:
        control.c Makefile.am 


Log Message:
Use the PE rules library to unpack CRM specific options (not yet enabled)

===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/crm/crmd/control.c,v
retrieving revision 1.127
retrieving revision 1.128
diff -u -3 -r1.127 -r1.128
--- control.c   24 Apr 2006 00:04:05 -0000      1.127
+++ control.c   7 Jun 2006 12:51:16 -0000       1.128
@@ -25,6 +25,7 @@
 #include <crm/cib.h>
 #include <crm/msg_xml.h>
 #include <crm/common/ctrl.h>
+#include <crm/pengine/rules.h>
 
 #include <crmd.h>
 #include <crmd_fsa.h>
@@ -526,7 +527,9 @@
 config_query_callback(const HA_Message *msg, int call_id, int rc,
                      crm_data_t *output, void *user_data) 
 {
-       crm_debug("Call %d : Parsing CIB options", call_id);
+       const char *value = NULL;
+       GHashTable *config_hash = NULL;
+       
        if(rc != cib_ok) {
                fsa_data_t *msg_data = NULL;
                crm_err("Local CIB query resulted in an error: %s",
@@ -535,35 +538,62 @@
                return;
        }
 
-#if 0
-       /* disable until we can do it properly
-        *   - most people use the defaults anyway
-        */
-       crm_data_t *config   = output;
-       xml_child_iter_filter(
-               config, iter, XML_CIB_TAG_NVPAIR,
-
-               const char *name  = crm_element_value(iter, 
XML_NVPAIR_ATTR_NAME);
-               const char *value = crm_element_value(iter, 
XML_NVPAIR_ATTR_VALUE);
+       crm_debug("Call %d : Parsing CIB options", call_id);
+       config_hash = g_hash_table_new_full(
+               g_str_hash,g_str_equal, g_hash_destroy_str,g_hash_destroy_str);
 
-               if(name == NULL || value == NULL) {
-                       continue;
-                       
-               } else if(safe_str_eq(name, XML_CONFIG_ATTR_DC_DEADTIME)) {
-                       election_trigger->period_ms = crm_get_msec(value);
+#if 0
+       unpack_instance_attributes(
+               output, XML_CIB_TAG_PROPSET, NULL, config_hash,
+               CIB_OPTIONS_FIRST, NULL);
+#endif
+       
+       value = g_hash_table_lookup(config_hash, XML_CONFIG_ATTR_DC_DEADTIME);
+       if(value != NULL) {
+               election_trigger->period_ms = crm_get_msec(value);
+       } else {
+               /* apparently we're not allowed to free the result of getenv */
+               char *param_val = NULL;
+               const char *param_name = NULL;
+               election_trigger->period_ms = crm_get_msec("5s");
+               param_name = ENV_PREFIX "" KEY_INITDEAD;
+               param_val = getenv(param_name);
+               if(param_val != NULL) {
+                       int tmp = crm_get_msec(param_val) / 2;
+                       if(tmp > election_trigger->period_ms) {
+                               election_trigger->period_ms = tmp;
+                       }
+                       crm_debug("%s = %s", param_name, param_val);
+                       param_val = NULL;
+               }
+       }
+       
+       value = g_hash_table_lookup(config_hash, XML_CONFIG_ATTR_FORCE_QUIT);
+       if(value == NULL) {
+               value = "20min";
+       }
+       shutdown_escalation_timer->period_ms = crm_get_msec(value);
 
-               } else if(safe_str_eq(name, XML_CONFIG_ATTR_FORCE_QUIT)) {
-                       shutdown_escalation_timer->period_ms = 
crm_get_msec(value);
+       value = g_hash_table_lookup(config_hash, XML_CONFIG_ATTR_ELECTION_FAIL);
+       if(value == NULL) {
+               value = "2min";
+       }
+       election_timeout->period_ms = crm_get_msec(value);
+       
+       value = g_hash_table_lookup(config_hash, XML_CONFIG_ATTR_RECHECK);
+       if(value != NULL) {
+               recheck_timer->period_ms = crm_get_msec(value);
+       }
 
-               } else if(safe_str_eq(name, XML_CONFIG_ATTR_RECHECK)) {
-                       recheck_timer->period_ms = crm_get_msec(value);
-               }
-               );
-#endif         
+       /* defaults */
+       integration_timer->period_ms  = crm_get_msec("3min");
+       finalization_timer->period_ms = crm_get_msec("10min");
 
        set_bit_inplace(fsa_input_register, R_READ_CONFIG);
        crm_debug_3("Triggering FSA: %s", __FUNCTION__);
        G_main_set_trigger(fsa_source);
+       
+       g_hash_table_destroy(config_hash);
 }
 
 /*      A_READCONFIG   */
@@ -574,32 +604,11 @@
               enum crmd_fsa_input current_input,
               fsa_data_t *msg_data)
 {
-       char *param_val = NULL;
-       const char *param_name = NULL;
        int call_id = fsa_cib_conn->cmds->query(
                fsa_cib_conn, XML_CIB_TAG_CRMCONFIG, NULL, cib_scope_local);
 
        add_cib_op_callback(call_id, FALSE, NULL, config_query_callback);
        crm_debug_2("Querying the CIB... call %d", call_id);
-
-       /* defaults */
-       election_trigger->period_ms   = crm_get_msec("5s");
-       election_timeout->period_ms   = crm_get_msec("2min");
-       integration_timer->period_ms  = crm_get_msec("3min");
-       finalization_timer->period_ms = crm_get_msec("10min");
-       shutdown_escalation_timer->period_ms = crm_get_msec("20min");
-
-       /* apparently we're not allowed to free the result of getenv */
-       param_name = ENV_PREFIX "" KEY_INITDEAD;
-       param_val = getenv(param_name);
-       if(param_val != NULL) {
-               int tmp = crm_get_msec(param_val) / 2;
-               if(tmp > election_trigger->period_ms) {
-                       election_trigger->period_ms = tmp;
-               }
-               crm_debug("%s = %s", param_name, param_val);
-               param_val = NULL;
-       }
        
        return I_NULL;
 }
===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/crm/crmd/Makefile.am,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -3 -r1.31 -r1.32
--- Makefile.am 21 Sep 2005 10:23:50 -0000      1.31
+++ Makefile.am 7 Jun 2006 12:51:16 -0000       1.32
@@ -36,6 +36,7 @@
                $(top_builddir)/lib/clplumbing/libplumb.la              \
                $(top_builddir)/lib/pils/libpils.la                     \
                $(top_builddir)/lib/crm/common/libcrmcommon.la  \
+               $(top_builddir)/lib/crm/pengine/libpe_rules.la  \
                $(top_builddir)/lib/crm/cib/libcib.la                   \
                $(top_builddir)/lib/apphb/libapphb.la                   \
                $(top_builddir)/lib/hbclient/libhbclient.la             \




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

_______________________________________________
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 31, Issue 22
********************************************

Reply via email to