As far as I understand the patch, yes I think it would be useful. -----Original Message----- From: Andrew Beekhof [mailto:and...@beekhof.net] Sent: 15 December 2009 10:38 To: frank.di...@bigbandnet.com Cc: pacema...@clusterlabs.org Subject: Re: [Pacemaker] [PATCH] Allow the user to insert a startupconfiguration
Anyone else interested in this feature being added? 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