On Thu, May 17, 2012 at 10:03 AM, Nan Liu <[email protected]> wrote:

> On Thu, May 17, 2012 at 9:55 AM, Brian Gupta <[email protected]>
> wrote:
> > On Thu, May 17, 2012 at 12:38 PM, Ryan Coleman <[email protected]>
> wrote:
> >> On Thu, May 17, 2012 at 9:23 AM, Brian Gupta <[email protected]>
> wrote:
> >>> Will general best practice for forge modules to be developed against
> >>> current latest puppet version, or maintain backward compatibility
> >>> going forward? e.g. - let's say there is a version of a module that
> >>> works with 2.7, when Telly ships will the plan be for the modules to
> >>> be required to support both puppet versions, or just Telly? Or are you
> >>> guys thinking that there will be separate modules for different
> >>> versions of puppet? (Perhaps you guys aren't there yet in your
> >>> planning?)
> >>
> >> I'd love to hear what the communities thoughts are here! :-)
> >>
> >> From my perspective, I think it's up to the module author to determine
> >> what their needs are and author modules accordingly. If they can only
> >> run 2.6 and want to author modules that aren't compatible with some
> >> aspect of 2.7, that's perfectly acceptable. They'll just need to
> >> specify that so those using 2.7 don't install a module that doesn't
> >> work for them. They'd have to re-evaluate their module when a new
> >> version (like Telly) ships.
> >
> > Ah I had envisioned that the long term plan was for there to be core
> > modules that were written with best practices and that unless you were
> > doing something really funky, they would meet most people's needs.
> > (Either through some sort of official process, or crowd-sourced
> > voting/rating/self-selection).
>
> I can't speak of the precise plans, but in terms of verifying module
> compatibility with specific puppet version, I've found rspec-puppet to
> be really helpful. Rather than depend on some arbitrary meta-tag, it's
> much more reliable to have automated tests verify the module works
> with specific puppet version.
>
> In the puppetlabs modules that provide rspec-puppet tests, rake spec
> run will verify the modules not only compiles in your puppet
> environment, but the correct resources and relational dependencies
> meet the author expectation.
>
> >> I added a comment to that ticket suggesting an idea to take the burden
> >> of specifying compatibility off of module author. Perhaps for modules
> >> that provide spec tests, we could automatically test that module
> >> against a matrix of puppet, facter and ruby versions to set and
> >> maintain what the module is compatible with every time a new version
> >> of puppet or facter is released. Just a thought.. and certainly that
> >> could be optional to authors who would rather manually specify
> >> compatibility.
> >
> > Hmmm.. a thought (may be to much).. what if you also tracked
> > incompatible versions. That way if someone wanted to test it with a
> > version of puppet that the author didn't have an opportunity to test,
> > someone could submit a testing patch marking it as compatible or
> > incompatible with specific version(s)?
>
> Writing spec tests certainly puts a higher demand on module author,
> but I think it's really worthwhile.   I would personally love to see
> puppet-lint, rspec-puppet, and in the long term maybe even acceptance
> test to validate different OS support and post those results in Forge
> rather than depend on a person to constantly keep up with new
> releases.
>
> Tim Sharpe who wrote rspec-puppet have an example for testing modules
> that's worthwhile as follow up reads:
>
> http://rspec-puppet.com/
>
> http://bombasticmonkey.com/2012/03/02/automatically-test-your-puppet-modules-with-travis-ci/
>
> Thanks,
>
> Nan
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" 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-users?hl=en.
>
>
To this end, we have actually been talking about plans to re-evaluate the
kinds of data that goes into the metadata file, and better support for
particular Puppet versions is one such improvement.  In addition, we are
also planning to improve the presentation of modules on the Puppet Forge,
exposing more information like supported Puppet versions (and possibly even
more interesting things, like the results of running the tests under
various Puppet versions and operating systems).

I'd love to hear more about what would make a difference to your workflow
and how we might be able to better accomodate it.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" 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-users?hl=en.

Reply via email to