This thread is music for my hears...
I'm sorry to have missed the list in the last days, and I take the
occasion to reopen this thread it in order to avoid that also this one
fades forgotten as various other threads, in the past, about modules
standards, naming conventions, metadata and interoperability.
I'm glad that there's new drive, directlty from RL, on this topic and
I'm definitively willing to contribute in some way.

So, even if this might not be the right place and time, I'd like to
throw in some points.

I've just recently started to extend multiOS support in my modules and
I'm still trying to figure out the best way to handle that but one
thing is sure: a way to routinely test modules behavious on different
OS and different Puppet versions is necessary.
I wonder (or, better, ask to James) if Puppet continuos integration
( 
http://reductivelabs.com/trac/puppet/wiki/Development/PuppetContinuousIntegration
) relates only to Puppet building and its tests or can (will) be
somehow applied on Puppet runs on a set of Puppet Modules.

Besides this, I think that big isses in interoperability about
different sets of modules raise in the use of custom types, different
approaches to the same problem, and different ways to handle cross-
modules functions, such has monitoring, backup, firewall management
and so on, that generally work well only inside the same set of
modules.
I like, and have played a bit with, the idea of using "wrappers" with
(erm... ) standard naming conventions to manage common activities.
Something like:
A "wrapper" define called "Config" to manage files' inline
modifications using different methods ( something like:
http://www.example42.com/browser/common/manifests/defines/config.pp )
A wrapper module/define called "Monitor" to manage monitoring of nodes
(and services/ports/file systems...) using different monitoring tools
(according to custom needs) so that in your (standard) module you just
define what you want to Monitor with a standard naming convention,
using then the Monitor method you prefer ( some embrional attempts
here: http://www.example42.com/browser/monitor/manifests/init.pp )
Similar wrappers can be used for Backup or Firewall and so on. I Love
the idea to have, for example, an Apache module where is wrtitten: I
want to Backup /var/www/html (or whatever) AND make the Firewall open
input port 80 without caring what backup system I use and how I manage
my firewalls (that is done and customized in the backup and firewall
modules...)
Dunno if I made the point.

Last but not least, I would like to have a shared modules environment
where I can choose the module I want, for the same application, among
alternatives.
I'm costantly looking at how others do theirs modules and I always
learn a lot from them (DavidS, Camptocamp, Vulcane's PuppetManaged to
name a few), still most of the times, when I wanted to import and use
modules made by others, I found myself rewriting them in order to
follow my own way of thinking, my knowledge (or lack of) and style to
approach the same problem.
This is probably the same for  eveybody, so I don't think there should
be just ONE approach in a module for an application, but a base
structure, and different alternatives/defines/subclasses to choose
from.

But hey, I know, I'm putting too much inside this pot, big results are
achieved in small steps, so Michael and RL, drive the path, do as
you've said ("no need to design up-front on the list") and tell us
what we can do.

Alessandro

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to