Hi, guys. I've been trying to dig through the group backlog to understand what the vision is for using module versioning and it's not clear to me how versions for modules are intended to be used in the future. I'll lay out some details about my setup and how I would envision using module versions and maybe some of those 'in the know' would be willing to comment.
The basic idea is that it would be possible to include a specific version of a module and to have multiple versions of a module exist in my manifests at the same time. I'm sure this has been talked about before. It's very similar to using Bundler/Gemfiles with Ruby when you have multiple versions of a gem installed. - 56 Puppet environments, basically a matrix of applications and deployment environments - 1 SA group responsible for building new boxes, managing system-level services and configs, troubleshooting OS-level problems, etc. - 8+ application groups that all have different release schedules and want to make whatever Puppet changes they require and release those changes as they release their applications. Obviously, the tricky part is doing independent releases without the forks/branches. I'm trying to avoid having a ton of branches/forks of my manifests around because that makes it really hard for the SA group to push changes in an organized way to each environment. If they had a change to push out to update resolv.conf, for example (yes, yes, use DHCP, that's a whole different fight), It would suck to have to make that change and then merge it to all of these forks/branches to actually push it out. It seems like Bundler-style autoloading would really help with this. Group A needs to make some changes to the Foo module. Group B also uses the Foo module and while they want the changes that Group A proposes, releasing those changes to their servers needs to be coordinated with an application change to support the changes. It would be great if the AppA module could include Foo-2.0.0 and the AppB module could include Foo-1.2.3 until they're ready to use the new changes. Both versions of the module would exist in my moduledir until it's reasonable to retire v1.2.3. No extra branches/forks of the manifests needed (except for testing purposes). So is this approach crazy? Is this where versioning/autoloading is going? Is anybody working on something like this? Can I help? Thanks! Rob Sweet Manheim -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
