On Monday, June 27, 2016 at 6:42:58 PM UTC-5, Alex Samad wrote:
>
> On 27 June 2016 at 23:33, jcbollinger <john.bo...@stjude.org <javascript:>> 
> wrote: 
> > 
> > Alex, 
> > 
> > I will be brief(ish) this time, since wordiness seems not to be working. 
> > I've been around Puppet for a fairly long time, and I think I know what 
> I'm 
> > talking about, but by all means do evaluate my claims for yourself. 
>
> I have come to the list to get the input from people like yourself 
> with experience. I am in the learning stage. So I am taking in stuff. 
> and maybe asking silly questions. 
>
> But what I like to hear is why, not just being told what to do. 
>
> I have heard environments is not the way to go, but not why what is 
> the down side.  I have also heard from other people who use it a lot 
> that they use a lot of environments. 
>
>

We have given you several reasons why.  Examples include,

   - "[for your purposes] environments do not provide a benefit 
   commensurate with the extra complication and work they involve."
   - "Environments is a very big hammer for whats basically a tiny nail 
   you're describing."
   - "Puppet environments are highly appropriate for change management in 
   your Puppet infrastructure itself [, but ...] There is no good reason for 
   coupling that with change management for your product / service pipeline."
   - "The reason there is no direct relationship between ['operating 
   environments' and 'puppet environments'] is because a node that is in the 
   operational status of production [for example] can switch between the 
   [Puppet] production environment and any other environment of your puppet 
   code without affecting its operational status."
   - "This data is better separated via hiera."

We have also talked a bit about the uses to which environments are better 
suited; for the most part, using them for the purposes you propose 
interferes with using them (later) for those more apt purposes.

I'm sorry if these seem to be higher-level claims than you would like to 
hear, but I'm uncertain how to answer in any deeper detail.

 

> I've have decided to give it a go under 2 envornments and try and map 
> my machines in some other grouping under production.  I presume I can 
> always go back. 
>


As I said from the beginning, your machines themselves do not (or should 
not) care to which Puppet environment they are assigned if you are 
performing those assignments centrally.  So yes, you can go back and forth 
among different approaches on the master's side.

 

> > their overall configurations are not identical.  If indeed no machine in 
> any 
> > of your groups is distinguishable from any other in the same group 
> except by 
> > its network identifiers (hostname / IP / MAC) then Puppet environments 
> are 
> > even less appropriate for you than I thought.  In that case, the key 
> thing 
> > you should do is define one class per group, and have your ENC assign 
> the 
> > appropriate one of those classes to each machine. 
>
> Q) why classes - i thought the way to go was roles / profiles. 
>
>

Roles and profiles are implemented via classes.  What you seemed to have 
said suggested that even roles and profiles was more complex than you 
really needed.  Nevertheless, the one class per machine group maps directly 
to one role per group, and can be implemented that way.  There is no 
essential inconsistency here.  Your subsequent comments make me think that 
your real requirements are at least a bit more complex, as indeed I had 
initially supposed when I first suggested roles and profiles.


So I have 1 environment production 
> I have my prod server in the prod grouping ??? 
> I have my standard profile MY Winbind. its linked to a specific version. 
>


We already covered this.  The conventional ways to approach problems of 
that sort are via hiera or via your ENC.  There are many ways to implement 
the details.
 

>
> How do I now test a new version.  I presume in my "MY WInbind" class I 
> need some statements to say if in prod then this version if in test 
> this version. Is this the way to do it ? 
>


Supposing that the classes you are applying to your nodes are built to 
accommodate it (mainly that they rely on external data), you do it by 
binding different data to some nodes than you do to others.  Again, details 
vary.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/531d464d-8edd-45f5-ab43-0e7818f2b1b1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to