On 3/7/13 1:51 PM, Nan Liu wrote:
On Thu, Mar 7, 2013 at 12:42 PM, Mohamed Abbas <m.magdi.ah...@gmail.com <mailto:m.magdi.ah...@gmail.com>> 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.


Thanks,
Mohamed Abbas

--
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 post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to