summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-sysadm/2011-March/003200.html
diff options
context:
space:
mode:
Diffstat (limited to 'zarb-ml/mageia-sysadm/2011-March/003200.html')
-rw-r--r--zarb-ml/mageia-sysadm/2011-March/003200.html206
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:
+
+&gt;<i>
+</I>&gt;<i> ----- &quot;nicolas vigier&quot; &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-sysadm">boklm at mars-attacks.org</A>&gt; wrote:
+</I>&gt;<i>
+</I>&gt;<i> &gt; Hello,
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; We have now created a lot of puppet modules for different things used
+</I>&gt;<i> &gt; on Mageia servers. And I think many of them could be useful for other
+</I>&gt;<i> &gt; people installing servers. They are already available on our svn
+</I>&gt;<i> &gt; server,
+</I>&gt;<i> &gt; but I think we can do something better, to make them easier to use.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; When trying to use puppet modules from other people that I found on
+</I>&gt;<i> &gt; the
+</I>&gt;<i> &gt; internet,
+</I>&gt;<i>
+</I>&gt;<i> &gt;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.
+
+&gt;<i>
+</I>&gt;<i> &gt; I usually have the following problems :
+</I>&gt;<i> &gt; - modules are made for other distributions
+</I>&gt;<i> &gt; - modules have dependencies on other modules, and it is not easy to
+</I>&gt;<i> &gt; see
+</I>&gt;<i> &gt; which ones
+</I>&gt;<i>
+</I>&gt;<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.
+
+&gt;<i>
+</I>&gt;<i> &gt; - sometimes they can have dependency on an other module doing
+</I>&gt;<i> &gt; something
+</I>&gt;<i> &gt; that you already do with a different module (for instance there is
+</I>&gt;<i> &gt; many
+</I>&gt;<i> &gt; different apache httpd modules)
+</I>&gt;<i> &gt; - modules come from unknow people, so you have to check them
+</I>&gt;<i> &gt; carefully
+</I>&gt;<i> &gt; before using them
+</I>&gt;<i> &gt; - you need to modify them to do what you want, because there often
+</I>&gt;<i> &gt; is
+</I>&gt;<i> &gt; a lot of hardcoded values everywhere
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; So I think it could be interesting to provide some modules for
+</I>&gt;<i> &gt; Mageia,
+</I>&gt;<i> &gt; and distribute them as packages, doing the same as what we do for
+</I>&gt;<i> &gt; other
+</I>&gt;<i> &gt; software.
+</I>&gt;<i>
+</I>&gt;<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.
+
+&gt;<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.
+
+&gt;<i>
+</I>&gt;<i> &gt; We could do something like this :
+</I>&gt;<i> &gt; - one package per module
+</I>&gt;<i> &gt; - modules installed in /usr/share/puppet/modules
+</I>&gt;<i> &gt; - use rpm find-requires and find-provides to automatically manage
+</I>&gt;<i> &gt; dependencies between modules
+</I>&gt;<i> &gt; - remove any hardcoded values from modules, but use parameterised
+</I>&gt;<i> &gt; classes, so you don't have to modify modules to use them
+</I>&gt;<i> &gt; - setup puppet so that someone who wants to overwrite a module
+</I>&gt;<i> &gt; installed
+</I>&gt;<i> &gt; by a package can create one with the same name in
+</I>&gt;<i> &gt; /etc/puppet/modules.
+</I>&gt;<i> &gt; Or overwrite one template file.
+</I>&gt;<i>
+</I>&gt;<i> +1
+</I>&gt;<i>
+</I>&gt;<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.
+
+&gt;<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>&gt;<i>
+</I>&gt;<i> &gt; Those module could also be used locally by some tools. For instance
+</I>&gt;<i> &gt; if
+</I>&gt;<i> &gt; we want to create a graphical tool like drakwizard, to setup some
+</I>&gt;<i> &gt; software
+</I>&gt;<i> &gt; on a machine. This graphical interface would ask some parameters,
+</I>&gt;<i> &gt; then
+</I>&gt;<i> &gt; install the corresponding puppet modules, generate a puppet file
+</I>&gt;<i> &gt; containing the parameters entered and run puppet on it locally.
+</I>&gt;<i>
+</I>&gt;<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 &quot;classes and parameters
+can be applied to nodes directly or inherited from groups&quot;.
+
+&gt;<i>
+</I>&gt;<i> &gt; However compared to what we do currently :
+</I>&gt;<i> &gt; - it will be more work, to avoid hardcoding anything
+</I>&gt;<i> &gt; - modules can become more complexe if they support more things
+</I>&gt;<i> &gt; - we will have to be careful when changing API of released modules,
+</I>&gt;<i> &gt; or
+</I>&gt;<i> &gt; write it in release notes so users of the packages know what they
+</I>&gt;<i> &gt; need
+</I>&gt;<i> &gt; to change when updating to a newer release of the distribution.
+</I>&gt;<i>
+</I>&gt;<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.
+
+&gt;<i>
+</I>&gt;<i> &gt; So it is more work, but I think it can be worth it. We can maybe
+</I>&gt;<i> &gt; convince
+</I>&gt;<i> &gt; other Mageia packagers to help write puppet modules for the software
+</I>&gt;<i> &gt; they package.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; A distribution providing puppet modules for many software would allow
+</I>&gt;<i> &gt; someone to install one or many servers very quickly and easily, and I
+</I>&gt;<i> &gt; think it would be very nice.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; Maybe this is something that could be done for Mageia release 2 or
+</I>&gt;<i> &gt; later.
+</I>&gt;<i> &gt; So I plan to try to see if/how this could be done.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; What do you think ?
+</I>&gt;<i>
+</I>&gt;<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>&gt;<i>
+</I>&gt;<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.
+
+&gt;<i>
+</I>&gt;<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>