On Thu, Mar 7, 2013 at 2:43 PM, Mohamed Abbas <[email protected]>wrote:
> On 3/7/13 1:51 PM, Nan Liu wrote: > > On Thu, Mar 7, 2013 at 12:42 PM, Mohamed Abbas <[email protected]>wrote: > >> I'm wondering what is the canonical way of associating "specific" >> versions of a module to a node? Is there a way of doing this in puppet? Let >> me explain a "Use Case" of what I'm trying to accomplish: >> >> Say we have created a puppet model called apache to manage and configure >> apache webserver. >> We have the apache module under version control and there are several >> versions. >> We use puppet to apply apache-1.0.3 across an entire "environment" >> We want to be able to do a rolling upgrade across that entire >> environment, where some nodes in the environment have apache-1.0.3 and >> other have apache-1.1.2. >> >> From what I understand of puppet, there is no way of associating a >> specific version of a module to a specific node. The only way of doing that >> would be to "embed" a version tag in the module/class name. However that is >> ugly and does not work well with version control systems. >> >> Any suggestions of to accomplish this using puppet? >> > > Github's boxen project powered by librarian-puppet, or r10k: > https://github.com/adrienthebo/r10k are good examples using Puppetfile > for module version control. > > > Thanks Nan. I looked at both and they address a different defined-problem > than the one I'm trying to address. What librarian-puppet and the boxen and > r10k solution you mentioned allow you to do is(per my understanding and > experience with using librarian-puppet): > > - To populate a modules sub-directory dynamically by using a > "Puppetfile" where you can pull different modules from different sources > and being able to specify which version to pull in. Once the modules > directory is populated, what is available to you to use in Puppet is still > a *single *version of that module. > > The defined-problem I'm trying to see if puppet addresses or create a new > solution to address it: > > - Having multiple instances of a module of different version number > available in the modules sub-directory where I can freely associate > different 2 different nodes to differing versions of the same module. > > They are typically used to populate the master. But I'm using per system Puppetfile with 'puppet apply' instead. I suppose this won't meet your requirements if you need multiple module versions on the master to compile different versions per node. Thanks, Nan -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
