On 2014-19-07 10:51, David Schmitt wrote:
[...snip...]
We will have a new catalog model (the result built by the new catalog
builder slated to replace the current compiler). There we have a richer
model for defining the information about resources. We also have a new
loader system that knows where code came from. Thus, anything loaded at
the environment level (i.e. node definitions) knows it is in a higher
layer.
Slick. The next question then is: How does the user know? ;-) And How
fine-grained are "levels"? Each entry on the module path? Will I be able
to query the puppetmaster for a report on which sources influenced (or
did not influence) a specific value?
The model is borrowed from OSGi. Each "component" has visibility into
its own things, and on the things it depends. A component may have
private things that are not visible to other components. (OSGi also has
a "friend" concept that we did not implement, and we have not (yet?)
implemented "re-publish" (i.e. that one module (A) has visibility into
another (B) and making its public loadable entities available to those
who depend only on A). For that to make sense we need a way to alias the
things in (B) or something in (C) can not address them because it only
knows about things in the a:: namespace. (Either that or that a
component may publish things in other name spaces under certain
conditions).
For the purpose of loading, view the environment as a component that all
modules have visibility into. There is also a system "component" (i.e.
puppet runtime), and a static/internal (functions and things generated;
like the logging functions, data types etc.) that is visible to all.
[snip]
Good hunting!
Spear in one hand, axe in the other...
- henrik
--
Visit my Blog "Puppet on the Edge"
http://puppet-on-the-edge.blogspot.se/
--
You received this message because you are subscribed to the Google Groups "Puppet
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-dev/lqe3nd%24mvi%241%40ger.gmane.org.
For more options, visit https://groups.google.com/d/optout.