[Cluster-devel] Cluster Project branch, master, updated. cluster-2.99.04-37-gccdb6bd
fabbione at sourceware.org
fabbione at sourceware.org
Fri Jun 20 04:56:49 UTC 2008
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cluster Project".
http://sources.redhat.com/git/gitweb.cgi?p=cluster.git;a=commitdiff;h=ccdb6bd23d58be30082e0a4f5686fdbfc4ac92b0
The branch, master has been updated
via ccdb6bd23d58be30082e0a4f5686fdbfc4ac92b0 (commit)
via 813813756fa090966e0bc40bde967f217762ee38 (commit)
via 3cdaeb33c185424c6a378986557ae5b5d07b7628 (commit)
via 09dca04d07e4a7ce2c907195d299266a3f38f53b (commit)
via 1aa37f995993981be76bea388e5d2b7b5741ebcf (commit)
via 64ac4abd0c8ae5f0c4716f2d4d57da6f2a61b60b (commit)
from 4f32341cc111bd6e8dc888b483db2e7951b96c2a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ccdb6bd23d58be30082e0a4f5686fdbfc4ac92b0
Author: Fabio M. Di Nitto <fdinitto at redhat.com>
Date: Fri Jun 20 06:54:02 2008 +0200
[CCS] Init logsys as early as possible
If we have an on-disk copy of cluster.conf we will use it
as early as possible to configure logsys.
If you are unlucky to have none, logsys will use built-in
defaults and then switch to configured setting after we
will get one from the network.
Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>
commit 813813756fa090966e0bc40bde967f217762ee38
Author: Fabio M. Di Nitto <fdinitto at redhat.com>
Date: Fri Jun 20 06:51:33 2008 +0200
[CCS] Remove LOG_MODE_DISPLAY_DEBUG from logsys settings
Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>
commit 3cdaeb33c185424c6a378986557ae5b5d07b7628
Author: Fabio M. Di Nitto <fdinitto at redhat.com>
Date: Fri Jun 20 06:45:59 2008 +0200
[CCS] Remove duplicate code and make it common
We are about to perform many queries to configure logging.
Collect common code in one static function and switch
set_ccs_logging to use it, by sharing the same XML context.
Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>
commit 09dca04d07e4a7ce2c907195d299266a3f38f53b
Author: Fabio M. Di Nitto <fdinitto at redhat.com>
Date: Fri Jun 20 06:28:57 2008 +0200
[CCS] Fix a few logsys configuration bits
Make sure to set debug = 1 when debugging is enabled via envvar.
Delay logsys flush to catch a few more bits and allow us to
configure properly.
Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>
commit 1aa37f995993981be76bea388e5d2b7b5741ebcf
Author: Fabio M. Di Nitto <fdinitto at redhat.com>
Date: Fri Jun 20 06:25:50 2008 +0200
[CCS] Fix priority setting
Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>
commit 64ac4abd0c8ae5f0c4716f2d4d57da6f2a61b60b
Author: Fabio M. Di Nitto <fdinitto at redhat.com>
Date: Fri Jun 20 06:24:06 2008 +0200
[CCS] Add missing CCSEXIT call
Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>
-----------------------------------------------------------------------
Summary of changes:
ccs/daemon/ccsd.c | 12 ++++-
ccs/daemon/misc.c | 109 ++++++++++++++++++++++++++---------------------------
2 files changed, 62 insertions(+), 59 deletions(-)
diff --git a/ccs/daemon/ccsd.c b/ccs/daemon/ccsd.c
index d1c7447..c4d36b8 100644
--- a/ccs/daemon/ccsd.c
+++ b/ccs/daemon/ccsd.c
@@ -20,6 +20,7 @@
#include "cluster_mgr.h"
#include "globals.h"
#include "comm_headers.h"
+#include "misc.h"
#include "copyright.cf"
@@ -41,7 +42,7 @@ static int setup_local_socket(int backlog);
static inline void process_signals(void);
LOGSYS_DECLARE_SYSTEM (NULL,
- LOG_MODE_OUTPUT_STDERR | LOG_MODE_OUTPUT_SYSLOG_THREADED | LOG_MODE_OUTPUT_FILE | LOG_MODE_DISPLAY_DEBUG | LOG_MODE_BUFFER_BEFORE_CONFIG,
+ LOG_MODE_OUTPUT_STDERR | LOG_MODE_OUTPUT_SYSLOG_THREADED | LOG_MODE_OUTPUT_FILE | LOG_MODE_BUFFER_BEFORE_CONFIG,
LOGDIR "/ccs.log",
SYSLOGFACILITY);
@@ -60,9 +61,10 @@ int main(int argc, char *argv[]){
msg = parse_cli_args(argc, argv);
- logsys_config_mode_set (LOG_MODE_OUTPUT_STDERR | LOG_MODE_OUTPUT_SYSLOG_THREADED | LOG_MODE_OUTPUT_FILE | LOG_MODE_DISPLAY_DEBUG | LOG_MODE_FLUSH_AFTER_CONFIG);
+ if(getenv("CCS_DEBUGLOG"))
+ debug = 1;
- if(debug || getenv("CCS_DEBUGLOG"))
+ if(debug)
logsys_config_priority_set (LOG_LEVEL_DEBUG);
if(check_cluster_conf()){
@@ -70,6 +72,8 @@ int main(int argc, char *argv[]){
exit(EXIT_FAILURE);
}
+ logsys_config_mode_set (LOG_MODE_OUTPUT_STDERR | LOG_MODE_OUTPUT_SYSLOG_THREADED | LOG_MODE_OUTPUT_FILE | LOG_MODE_FLUSH_AFTER_CONFIG);
+
daemonize();
print_start_msg(msg);
@@ -528,6 +532,7 @@ static int check_cluster_conf(void){
"valid copy from the network.\n", config_file_location);
return -1;
}
+ set_ccs_logging(doc);
xmlFreeDoc(doc);
} else {
/* no cluster.conf file. This is fine, just need to get it from the network */
@@ -537,6 +542,7 @@ static int check_cluster_conf(void){
}
}
+ CCSEXIT("check_cluster_conf");
return 0;
}
diff --git a/ccs/daemon/misc.c b/ccs/daemon/misc.c
index 5717b27..1c738d9 100644
--- a/ccs/daemon/misc.c
+++ b/ccs/daemon/misc.c
@@ -149,6 +149,38 @@ fail:
}
/**
+ * do_simple_xml_query
+ * @ctx: xml context
+ * @query: "/cluster/@name"
+ *
+ * it only handles this kind of query
+ */
+static char *do_simple_xml_query(xmlXPathContextPtr ctx, char *query) {
+ xmlXPathObjectPtr obj = NULL;
+ xmlNodePtr node = NULL;
+
+ obj = xmlXPathEvalExpression((xmlChar *)query, ctx);
+ if(!obj || !obj->nodesetval || (obj->nodesetval->nodeNr != 1))
+ log_printf(LOG_DEBUG, "Error processing query: %s.\n", query);
+ else {
+ node = obj->nodesetval->nodeTab[0];
+ if(node->type != XML_ATTRIBUTE_NODE)
+ log_printf(LOG_DEBUG, "Object returned is not of attribute type.\n");
+ else {
+ if(!node->children->content || !strlen((char *)node->children->content))
+ log_printf(LOG_DEBUG, "No content found.\n");
+ else
+ return strdup((char *)node->children->content);
+ }
+ }
+
+ if(obj)
+ xmlXPathFreeObject(obj);
+
+ return NULL;
+}
+
+/**
* set_ccs_logging
* @ldoc:
*
@@ -157,9 +189,7 @@ fail:
int set_ccs_logging(xmlDocPtr ldoc){
int facility = SYSLOGFACILITY, loglevel = LOG_LEVEL_INFO;
char *res = NULL;
- xmlXPathObjectPtr obj = NULL;
xmlXPathContextPtr ctx = NULL;
- xmlNodePtr node = NULL;
CCSENTER("set_ccs_logging");
@@ -169,69 +199,36 @@ int set_ccs_logging(xmlDocPtr ldoc){
return -1;
}
- obj = xmlXPathEvalExpression((xmlChar *)"/cluster/ccs/@log_facility", ctx);
- if(!obj || !obj->nodesetval || (obj->nodesetval->nodeNr != 1)){
- log_printf(LOG_DEBUG, "Error while retrieving log_facility.\n");
- } else {
- node = obj->nodesetval->nodeTab[0];
- if(node->type != XML_ATTRIBUTE_NODE){
- log_printf(LOG_DEBUG, "Object returned is not of attribute type.\n");
- } else {
- if(!node->children->content || !strlen((char *)node->children->content)){
- log_printf(LOG_DEBUG, "No content found.\n");
- } else {
- res = strdup((char *)node->children->content);
- facility = logsys_facility_id_get (res);
- if (facility < 0)
- facility = SYSLOGFACILITY;
-
- logsys_config_facility_set ("CCS", facility);
- log_printf(LOG_DEBUG, "log_facility: %s (%d).\n", res, facility);
- free(res);
- res=NULL;
- }
- }
- }
+ res = do_simple_xml_query(ctx, "/cluster/ccs/@log_facility");
+ if(res) {
+ facility = logsys_facility_id_get (res);
+ if (facility < 0)
+ facility = SYSLOGFACILITY;
- if(obj){
- xmlXPathFreeObject(obj);
- obj = NULL;
+ logsys_config_facility_set ("CCS", facility);
+ log_printf(LOG_DEBUG, "log_facility: %s (%d).\n", res, facility);
+ free(res);
+ res=NULL;
}
- obj = xmlXPathEvalExpression((xmlChar *)"/cluster/ccs/@log_level", ctx);
- if(!obj || !obj->nodesetval || (obj->nodesetval->nodeNr != 1)){
- log_printf(LOG_DEBUG, "Error while retrieving log_level.\n");
- } else {
- node = obj->nodesetval->nodeTab[0];
- if(node->type != XML_ATTRIBUTE_NODE){
- log_printf(LOG_DEBUG, "Object returned is not of attribute type.\n");
- } else {
- if(!node->children->content || !strlen((char *)node->children->content)){
- log_printf(LOG_DEBUG, "No content found.\n");
- } else {
- res = strdup((char *)node->children->content);
- loglevel = atoi(res);
- if (loglevel < 0)
- loglevel = LOG_LEVEL_INFO;
-
- if (!debug)
- logsys_config_priority_set (loglevel);
-
- log_printf(LOG_DEBUG, "log_level: %s (%d).\n", res, loglevel);
- free(res);
- res=NULL;
- }
- }
+ res = do_simple_xml_query(ctx, "/cluster/ccs/@log_level");
+ if(res) {
+ loglevel = logsys_priority_id_get (res);
+ if (loglevel < 0)
+ loglevel = LOG_LEVEL_INFO;
+
+ if (!debug)
+ logsys_config_priority_set (loglevel);
+
+ log_printf(LOG_DEBUG, "log_level: %s (%d).\n", res, loglevel);
+ free(res);
+ res=NULL;
}
if(ctx){
xmlXPathFreeContext(ctx);
}
- if(obj){
- xmlXPathFreeObject(obj);
- }
CCSEXIT("set_ccs_logging");
return 0;
}
-
hooks/post-receive
--
Cluster Project
More information about the Cluster-devel
mailing list