diff options
Diffstat (limited to 'zarb-ml/mageia-sysadm/2011-March/003200.html')
-rw-r--r-- | zarb-ml/mageia-sysadm/2011-March/003200.html | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/zarb-ml/mageia-sysadm/2011-March/003200.html b/zarb-ml/mageia-sysadm/2011-March/003200.html new file mode 100644 index 000000000..7fdefe890 --- /dev/null +++ b/zarb-ml/mageia-sysadm/2011-March/003200.html @@ -0,0 +1,206 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> + <HEAD> + <TITLE> [Mageia-sysadm] Packaging puppet modules + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:mageia-sysadm%40mageia.org?Subject=Re%3A%20%5BMageia-sysadm%5D%20Packaging%20puppet%20modules&In-Reply-To=%3C20110325184740.GI21938%40mars-attacks.org%3E"> + <META NAME="robots" CONTENT="index,nofollow"> + <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> + <LINK REL="Previous" HREF="003192.html"> + <LINK REL="Next" HREF="003220.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[Mageia-sysadm] Packaging puppet modules</H1> + <B>nicolas vigier</B> + <A HREF="mailto:mageia-sysadm%40mageia.org?Subject=Re%3A%20%5BMageia-sysadm%5D%20Packaging%20puppet%20modules&In-Reply-To=%3C20110325184740.GI21938%40mars-attacks.org%3E" + TITLE="[Mageia-sysadm] Packaging puppet modules">boklm at mars-attacks.org + </A><BR> + <I>Fri Mar 25 19:47:40 CET 2011</I> + <P><UL> + <LI>Previous message: <A HREF="003192.html">[Mageia-sysadm] Packaging puppet modules +</A></li> + <LI>Next message: <A HREF="003220.html">[Mageia-sysadm] Packaging puppet modules +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#3200">[ date ]</a> + <a href="thread.html#3200">[ thread ]</a> + <a href="subject.html#3200">[ subject ]</a> + <a href="author.html#3200">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>On Fri, 25 Mar 2011, Buchan Milne wrote: + +><i> +</I>><i> ----- "nicolas vigier" <<A HREF="https://www.mageia.org/mailman/listinfo/mageia-sysadm">boklm at mars-attacks.org</A>> wrote: +</I>><i> +</I>><i> > Hello, +</I>><i> > +</I>><i> > We have now created a lot of puppet modules for different things used +</I>><i> > on Mageia servers. And I think many of them could be useful for other +</I>><i> > people installing servers. They are already available on our svn +</I>><i> > server, +</I>><i> > but I think we can do something better, to make them easier to use. +</I>><i> > +</I>><i> > When trying to use puppet modules from other people that I found on +</I>><i> > the +</I>><i> > internet, +</I>><i> +</I>><i> >From puppet forge (<A HREF="http://forge.puppetlabs.com/">http://forge.puppetlabs.com/</A>), or somewhere else? +</I> +Yes, from there. Modules available there are of various quality. + +><i> +</I>><i> > I usually have the following problems : +</I>><i> > - modules are made for other distributions +</I>><i> > - modules have dependencies on other modules, and it is not easy to +</I>><i> > see +</I>><i> > which ones +</I>><i> +</I>><i> And puppet-module (<A HREF="https://github.com/puppetlabs/puppet-module-tool">https://github.com/puppetlabs/puppet-module-tool</A>) isn't able to resolve them? +</I> +Oh, I didn't use this tool, I was only cloning modules git repositories. +Indeed it supports dependencies between modules. However it seems modules +developers need to list them manually. + +><i> +</I>><i> > - sometimes they can have dependency on an other module doing +</I>><i> > something +</I>><i> > that you already do with a different module (for instance there is +</I>><i> > many +</I>><i> > different apache httpd modules) +</I>><i> > - modules come from unknow people, so you have to check them +</I>><i> > carefully +</I>><i> > before using them +</I>><i> > - you need to modify them to do what you want, because there often +</I>><i> > is +</I>><i> > a lot of hardcoded values everywhere +</I>><i> > +</I>><i> > So I think it could be interesting to provide some modules for +</I>><i> > Mageia, +</I>><i> > and distribute them as packages, doing the same as what we do for +</I>><i> > other +</I>><i> > software. +</I>><i> +</I>><i> Well, the first question is, is servers a target use case of Mageia? +</I> +I don't know if target use cases have been defined yet. But it can +probably be a target, if enough people want to work on this. + +><i> If so, should we not rather draw up requirements for all the requirements for increasing the efficiency of managing Mageia servers? Possibly draw up reference architectures for different types of deployments? +</I> +Yes, that's a good idea. + +><i> +</I>><i> > We could do something like this : +</I>><i> > - one package per module +</I>><i> > - modules installed in /usr/share/puppet/modules +</I>><i> > - use rpm find-requires and find-provides to automatically manage +</I>><i> > dependencies between modules +</I>><i> > - remove any hardcoded values from modules, but use parameterised +</I>><i> > classes, so you don't have to modify modules to use them +</I>><i> > - setup puppet so that someone who wants to overwrite a module +</I>><i> > installed +</I>><i> > by a package can create one with the same name in +</I>><i> > /etc/puppet/modules. +</I>><i> > Or overwrite one template file. +</I>><i> +</I>><i> +1 +</I>><i> +</I>><i> However, we may need to review what modules we would need, improve any of the ones we have developed (e.g. my Xymon one probably needs quite a bit of work). +</I> +Yes. Maybe we should also define some policies about how modules should +be written to allow packaging / standardized parameters. + +><i> For quite some time I have been wanting to make a graphical tool for installing and configuring an LDAP server, using the online configuration (cn=config) capabilities of OpenLDAP, replacing 'openldap-mandriva-dit'. If it is possible to do this with puppet (I suspect not), I might consider a module for that (although, for the OpenLDAP project, it would probably be better to have a tool not dependent on puppet, so a Catalyst component was my original plan). +</I>><i> +</I>><i> > Those module could also be used locally by some tools. For instance +</I>><i> > if +</I>><i> > we want to create a graphical tool like drakwizard, to setup some +</I>><i> > software +</I>><i> > on a machine. This graphical interface would ask some parameters, +</I>><i> > then +</I>><i> > install the corresponding puppet modules, generate a puppet file +</I>><i> > containing the parameters entered and run puppet on it locally. +</I>><i> +</I>><i> What is the capability of Puppet Dashboard (<A HREF="http://www.puppetlabs.com/puppet/related-projects/dashboard/">http://www.puppetlabs.com/puppet/related-projects/dashboard/</A>) ? +</I> +I never used it, so I don't know. But they mention "classes and parameters +can be applied to nodes directly or inherited from groups". + +><i> +</I>><i> > However compared to what we do currently : +</I>><i> > - it will be more work, to avoid hardcoding anything +</I>><i> > - modules can become more complexe if they support more things +</I>><i> > - we will have to be careful when changing API of released modules, +</I>><i> > or +</I>><i> > write it in release notes so users of the packages know what they +</I>><i> > need +</I>><i> > to change when updating to a newer release of the distribution. +</I>><i> +</I>><i> Well, we may want to upstream modules as well, especially ones that we didn't write from scratch. +</I> +Yes, we can also share them on puppet forge so people using other +distributions can use them. + +><i> +</I>><i> > So it is more work, but I think it can be worth it. We can maybe +</I>><i> > convince +</I>><i> > other Mageia packagers to help write puppet modules for the software +</I>><i> > they package. +</I>><i> > +</I>><i> > A distribution providing puppet modules for many software would allow +</I>><i> > someone to install one or many servers very quickly and easily, and I +</I>><i> > think it would be very nice. +</I>><i> > +</I>><i> > Maybe this is something that could be done for Mageia release 2 or +</I>><i> > later. +</I>><i> > So I plan to try to see if/how this could be done. +</I>><i> > +</I>><i> > What do you think ? +</I>><i> +</I>><i> I think we can try and package some modules we use that are well-tested, or any of ours that we believe are of sufficient quality now. +</I>><i> +</I>><i> But, while some of the contributors on this list may want to contribute to such a project, maybe it would be better to have a separate team/project/special interest group looking at the requirements/features for a server release. And, I think mandating puppet for this would be premature (from a design perspective), as there may be other better architectures/tools (e.g. Chef?). +</I> +Yes, that should be a separate team/project. I posted this on sysadmin +list because I think that's where most interested people are, but +anybody using Mageia could be interested to participate. + +And Chef should also be considered. + +><i> +</I>><i> Also, would there be any issue regarding support? Would we point support requests to Puppet Labs? +</I> +What kind of issue regarding support ? I think it would be the same as +other open source projects we include that are maintained by a company +providing support. + +</PRE> + + + + + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="003192.html">[Mageia-sysadm] Packaging puppet modules +</A></li> + <LI>Next message: <A HREF="003220.html">[Mageia-sysadm] Packaging puppet modules +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#3200">[ date ]</a> + <a href="thread.html#3200">[ thread ]</a> + <a href="subject.html#3200">[ subject ]</a> + <a href="author.html#3200">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://www.mageia.org/mailman/listinfo/mageia-sysadm">More information about the Mageia-sysadm +mailing list</a><br> +</body></html> |