[Pacemaker] [PATCH] Allow the user to insert a startupconfiguration

Frank DiMeo Frank.DiMeo at bigbandnet.com
Tue Dec 15 07:52:18 EST 2009


I'd rather keep it at info and have positive confirmation that it either did or did not find/load the static file.

-Frank

> -----Original Message-----
> From: Darren.Mansell at opengi.co.uk [mailto:Darren.Mansell at opengi.co.uk]
> Sent: Tuesday, December 15, 2009 6:19 AM
> To: pacemaker at oss.clusterlabs.org
> Subject: Re: [Pacemaker] [PATCH] Allow the user to insert a
> startupconfiguration
> 
> Perhaps change:
> 
> crm_info("Using initial configuration file : %s",
> > >static_config_file);
> 
> To:
> 
> crm_warn("Using initial configuration file : %s",
> > >static_config_file);
> 
> ?
> 
> Anyone who would know to put a static config file in there in the first
> place would be proficient enough to look in the log file for clues
> about
> why their CIB keeps resetting?
> 
> 
> -----Original Message-----
> From: Dejan Muhamedagic [mailto:dejanmm at fastmail.fm]
> Sent: 15 December 2009 10:48
> To: pacemaker at oss.clusterlabs.org
> Subject: Re: [Pacemaker] [PATCH] Allow the user to insert a startup
> configuration
> 
> Hi,
> 
> On Tue, Dec 15, 2009 at 11:37:48AM +0100, Andrew Beekhof wrote:
> > Anyone else interested in this feature being added?
> 
> The configuration is not explicitely given to the cluster, but
> placed in a file. What happens on next startup? Who removes the
> file so that the cluster doesn't load it again? If the answer to
> the last question is "the admin", I'm against the feature.
> 
> Thanks,
> 
> Dejan
> 
> > On Dec 10, 2009, at 9:53 PM, frank.dimeo at bigbandnet.com wrote:
> >
> > ># HG changeset patch
> > ># User Frank DiMeo <frank.dimeo at bigbandnet.com>
> > ># Date 1260478129 18000
> > ># Branch stable-1.0
> > ># Node ID e7067734add7f3b148cb534b85b5af256db9fad7
> > ># Parent  381160def02a34ae554637e0a26efda850ccc015
> > >initial load of static configuration file
> > >
> > >diff -r 381160def02a -r e7067734add7 cib/io.c
> > >--- a/cib/io.c	Thu Dec 10 09:07:45 2009 -0500
> > >+++ b/cib/io.c	Thu Dec 10 15:48:49 2009 -0500
> > >@@ -261,7 +261,7 @@
> > >	crm_err("%s exists but does NOT contain valid XML. ", filename);
> > >	crm_warn("Continuing but %s will NOT used.", filename);
> > >
> > >-    } else if(validate_cib_digest(root, sigfile) == FALSE) {
> > >+    } else if(sigfile && ( validate_cib_digest(root, sigfile) ==
> > >FALSE )) {
> > >	crm_err("Checksum of %s failed!  Configuration contents
> > >ignored!", filename);
> > >	crm_err("Usually this is caused by manual changes, "
> > >		"please refer to
> > >http://clusterlabs.org/wiki/FAQ#cib_changes_detected");
> > >@@ -282,11 +282,12 @@
> > >readCibXmlFile(const char *dir, const char *file, gboolean
> > >discard_status)
> > >{
> > >	int seq = 0;
> > >-	char *filename = NULL, *sigfile = NULL;
> > >+	char *filename = NULL, *sigfile = NULL, *static_config_file =
> NULL;
> > >	const char *name = NULL;
> > >	const char *value = NULL;
> > >	const char *validation = NULL;
> > >	const char *use_valgrind = getenv("HA_VALGRIND_ENABLED");
> > >+   struct stat buf;
> > >
> > >	xmlNode *root = NULL;
> > >	xmlNode *status = NULL;
> > >@@ -300,7 +301,23 @@
> > >	sigfile  = crm_concat(filename, "sig", '.');
> > >
> > >	cib_status = cib_ok;
> > >-	root = retrieveCib(filename, sigfile, TRUE);
> > >+
> > >+   /*
> > >+   ** we might drop a static config file in there as a known
> > >startup point
> > >+   ** if we do, use it.  Its called <file>.xml.static_init
> > >+   */
> > >+   static_config_file = crm_concat(filename, "static_init", '.');
> > >+
> > >+   crm_info("Looking for static initialization file : %s",
> > >static_config_file);
> > >+
> > >+   if(stat(static_config_file, &buf) == 0) {
> > >+      crm_info("Using initial configuration file : %s",
> > >static_config_file);
> > >+      root = retrieveCib(static_config_file, NULL, TRUE);
> > >+   }
> > >+   else {
> > >+      crm_info("Using found configuration file : %s", filename);
> > >+      root = retrieveCib(filename, sigfile, TRUE);
> > >+   }
> > >
> > >	if(root == NULL) {
> > >	    crm_warn("Primary configuration corrupt or unusable, trying
> > >backup...");
> > >@@ -308,7 +325,6 @@
> > >	}
> > >
> > >	while(root == NULL) {
> > >-	    struct stat buf;
> > >	    char *backup_file = NULL;
> > >	    crm_free(sigfile);
> > >
> > >@@ -409,6 +425,7 @@
> > >	    }
> > >	}
> > >
> > >+	crm_free(static_config_file);
> > >	crm_free(filename);
> > >	crm_free(sigfile);
> > >	return root;
> >
> > -- Andrew
> >
> >
> >
> >
> > _______________________________________________
> > Pacemaker mailing list
> > Pacemaker at oss.clusterlabs.org
> > http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> 
> _______________________________________________
> Pacemaker mailing list
> Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> 
> _______________________________________________
> Pacemaker mailing list
> Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker




More information about the Pacemaker mailing list