Ask Your Question
0

Distribute different versions of modules to classification node group.

asked 2016-05-24 14:35:40 -0500

rajeevsharma gravatar image

I have setup of PE 2016 where I am planning to use only one puppet environment "production". Under production environment I have created 9 classification node group (ENV1, DEV1, DEV2, TEST1, TEST2, PROD etc) which depicts real environment of my client (please note they are not env groups). My question is following:

  • Can I have different version of modules available for my node groups?
  • Can puppet's production environment can manage multiple version of a module?
  • Is there any feature which can control version promotion among classification node group (as we do in environment node group)?

Please let me know if it is do-able or not? My client don't see any advantage in creating 9 different environments in puppet and matter of fact it will be overhead to maintain/promote code among this many environments in puppet.

Thanks in Advance.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2016-05-24 14:48:18 -0500

DarylW gravatar image

updated 2016-05-24 14:49:52 -0500

•Can I have different version of modules available for my node groups?

  • Yes, you can, but by using puppet environments. Without puppet environments, you cannot have multiple versions of the same module

•Can puppet's production environment can manage multiple version of a module?

  • No, it cannot. the default module location, or a single environment, can only have a single version of any given module. This is also true of multiple modules with the same name (various apache modules from different authors, etc).

•Is there any feature which can control version promotion among classification node group (as we do in environment node group)?

What you really need to have is not a separate managed environment for each group, but a branch for each group in a control-version repo that r10k references. You maintain a Puppetfile which points to the specific version of each of the modules you depend on, either as a git reference or a forge reference.

You probably want a combination of environment and hiera data. For a good reference on how to manage multiple 'stages' of environments using hiera, check out this puppetconf2013 talk from the folks at espn. Using hiera data, you may be able to segment certain parts of your configuration.

I hope that helps!

edit flag offensive delete link more

Comments

Thank you for the answer.

rajeevsharma gravatar imagerajeevsharma ( 2016-05-26 01:37:02 -0500 )edit

No Problem! If you feel my response has answered your question, can you accept the answer? There is a little checkbox to the upper left of the post, under the upvote/downvote arrows. Glad I could help!

DarylW gravatar imageDarylW ( 2016-05-26 20:51:03 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2016-05-24 14:35:40 -0500

Seen: 75 times

Last updated: May 24 '16