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.di...@bigbandnet.com wrote: > > ># HG changeset patch > ># User Frank DiMeo <frank.di...@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@oss.clusterlabs.org > http://oss.clusterlabs.org/mailman/listinfo/pacemaker _______________________________________________ Pacemaker mailing list Pacemaker@oss.clusterlabs.org http://oss.clusterlabs.org/mailman/listinfo/pacemaker