On Jul 12, 2012, at 2:42 PM, jcbollinger wrote:

> 
> 
> On Thursday, July 12, 2012 8:27:16 AM UTC-5, llo...@oreillyauto.com wrote:
> I've been trying to wrap my head around ENCs.
> 
> Kelsey Hightower gave me some very useful info in IRC the other day, but 
> there are still some things I can't quite get my head around.
> 
> From what I can tell, an ENC allows you to assign classes and parameters (top 
> scope variables) to a given node or group of nodes.
> 
> They cannot declare/define relationships (chain classes together to order 
> them) or declare individual resources.
> 
> The purpose is to help separate data and configuration.
> 
> From reading what documentation I could find on the puppet site (some of 
> which is potentially inaccurate / outdated from the wiki), the only way to 
> get around these limits is to build your modules, then define a series of 
> wrapper classes and super classes and assign these to the nodes.
> 
> We've got 2 dozen or so systems that we manage with puppet, and so far have 
> done it all just using node defs.
> 
> What benefits would there be in using an ENC, from an admin side of things? 
> Is it something that would be worth my time in setting up?
> 
> I'm trying to understand this, and my long term goal is to maximize the 
> benefit we get from puppet.
> 
> If your node definitions contain only class and maybe variable declarations 
> -- a good practice -- then you would not have much trouble doing the same 
> thing with an ENC.  With that said, I don't think there are very many sites 
> that would benefit from writing their own ENCs.  If you are using Foreman or 
> the Puppet Dashboard, however, then you already have an ENC available to you, 
> with a spiffy UI and everything.
> 
> Overall, as long as you're satisfied with writing node definitions in Puppet 
> DSL, I don't think it's worth the time and effort to change.
----
Just to further this discussion, I would recommend that the OP take a good look 
at Foreman since it not only provides an funcational ENC but also provides a 
listing of puppet classes that can be observed/inspected (another thread).

There are a few instances where I have found Foreman's ENC useful to designate 
a top scoped variable on specific nodes which is then deduced by manifests to 
provide alternate configurations, create 'hostgroups' of grouping of classes so 
I can assign a node to a hostgroup to configure the node and also note that 
these 'hostgroups' are nestable. Lastly, the WebUI of Foreman provides the 
opportunity for others to participate in the configuration of specific nodes 
(or at least view the configuration).

Craig

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

Reply via email to