On 6/7/2010 3:16 PM, Daniel Pittman wrote:
concat works reasonably well, but depends no multiple fragments scattered over
multiple systems, and storeconfigs, which makes for two problems:

One, we now have anything up to two hours for an update to propagate, as
puppet needs to run on the "source" node /and/ the "target" node.  That
hurts a bit, although tools like mcollective promise to make it easier.

There are two important points to keep in mind: First, if the actual facts change, you will always have to absorb two runtimes, the first storing the data, the second retrieving it. This is independent of the actual mechnism used to transport the facts-

And the second thing is one of the big mysteries of storedconfigs: defines can be used to delay resource evaluation to the time of collection. This works like this:

define ldirector::conf($val, $source_host = $fqdn, $order = 2) {
concat::fragment {
  "ldirector_${source_host}_${name}":
    content => template("ldirector/conf.erb"),
    order => $order;
}
}

Using @@ldirector::conf{} only creates an entry for the defined resource in the storedconfigs database. The contained resources (concat::fragment, ldirector/conf.erb) are only created by the collecting node at its compile-time.

Two, there is no one place to see the configuration structure.  This makes it
much harder to visualize the effect of changes and the overall structure.

Using the define approach, and collecting (no pun intendend) the functionality into a module can help in this case.

Both concat and augeas do work without using ruby, although both do have
their specific limitations.

...and those limitations are what bothers me about 'em. :)

Well, that, and the sense that this is a serious mismatch between my mental
model of how the systems (eg: config files, etc) work and how puppet models
them.

On which topic: I can see I might be wrong about this approach, and maybe
these tools are better than just asking for the facts I need, when I need
them, from the authoritative source of that data.

I just ... don't think so.  In fifteen years of wrangling systems and building
software it has *never* been the right answer to proxy data through a
secondary source if you can get it from the master source, and these other
tools feel very much like doing that.

I totally can see where you're coming from. Thank you for listening and forcing us all to think deep thoughts about what we're trying to accomplish.


Best Regards, David
--
dasz.at OG              Tel: +43 (0)664 2602670     Web: http://dasz.at
Klosterneuburg                                         UID: ATU64260999

       FB-Nr.: FN 309285 g          FB-Gericht: LG Korneuburg

--
You received this message because you are subscribed to the Google Groups "Puppet 
Developers" group.
To post to this group, send email to puppet-...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to