summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-sysadm/2011-March/003220.html
diff options
context:
space:
mode:
Diffstat (limited to 'zarb-ml/mageia-sysadm/2011-March/003220.html')
-rw-r--r--zarb-ml/mageia-sysadm/2011-March/003220.html205
1 files changed, 205 insertions, 0 deletions
diff --git a/zarb-ml/mageia-sysadm/2011-March/003220.html b/zarb-ml/mageia-sysadm/2011-March/003220.html
new file mode 100644
index 000000000..33202c23c
--- /dev/null
+++ b/zarb-ml/mageia-sysadm/2011-March/003220.html
@@ -0,0 +1,205 @@
+<!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=%3C1301497269.10310.79.camel%40akroma.ephaone.org%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="003200.html">
+ <LINK REL="Next" HREF="003221.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[Mageia-sysadm] Packaging puppet modules</H1>
+ <B>Michael Scherer</B>
+ <A HREF="mailto:mageia-sysadm%40mageia.org?Subject=Re%3A%20%5BMageia-sysadm%5D%20Packaging%20puppet%20modules&In-Reply-To=%3C1301497269.10310.79.camel%40akroma.ephaone.org%3E"
+ TITLE="[Mageia-sysadm] Packaging puppet modules">misc at zarb.org
+ </A><BR>
+ <I>Wed Mar 30 17:01:09 CEST 2011</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="003200.html">[Mageia-sysadm] Packaging puppet modules
+</A></li>
+ <LI>Next message: <A HREF="003221.html">[Mageia-sysadm] Packaging puppet modules
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#3220">[ date ]</a>
+ <a href="thread.html#3220">[ thread ]</a>
+ <a href="subject.html#3220">[ subject ]</a>
+ <a href="author.html#3220">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Le vendredi 25 mars 2011 &#224; 19:47 +0100, nicolas vigier a &#233;crit :
+&gt;<i> On Fri, 25 Mar 2011, Buchan Milne wrote:
+</I>&gt;<i>
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; ----- &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> &gt;
+</I>&gt;<i> &gt; &gt; I usually have the following problems :
+</I>&gt;<i> &gt; &gt; - modules are made for other distributions
+</I>&gt;<i> &gt; &gt; - modules have dependencies on other modules, and it is not easy to
+</I>&gt;<i> &gt; &gt; see
+</I>&gt;<i> &gt; &gt; which ones
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; 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>&gt;<i>
+</I>&gt;<i> Oh, I didn't use this tool, I was only cloning modules git repositories.
+</I>&gt;<i> Indeed it supports dependencies between modules. However it seems modules
+</I>&gt;<i> developers need to list them manually.
+</I>
+First step, let's do a package of that.
+
+&gt;<i> &gt; Well, the first question is, is servers a target use case of Mageia?
+</I>&gt;<i>
+</I>&gt;<i> I don't know if target use cases have been defined yet. But it can
+</I>&gt;<i> probably be a target, if enough people want to work on this.
+</I>
+Personally, I would be interested ( and slightly more in this space than
+on the desktop side ).
+
+&gt;<i> &gt; If so, should we not rather draw up requirements for all the requirements
+</I>&gt;<i> &gt; for increasing the efficiency of managing Mageia servers? Possibly draw up
+</I>&gt;<i> &gt; reference architectures for different types of deployments?
+</I>&gt;<i>
+</I>&gt;<i> Yes, that's a good idea.
+</I>
+I think usage of puppet directly in the distribution was something that
+as discussed by Ubuntu Server Team. Not sure it went far.
+
+&gt;<i> &gt;
+</I>&gt;<i> &gt; &gt; We could do something like this :
+</I>&gt;<i> &gt; &gt; - one package per module
+</I>&gt;<i> &gt; &gt; - modules installed in /usr/share/puppet/modules
+</I>&gt;<i> &gt; &gt; - use rpm find-requires and find-provides to automatically manage
+</I>&gt;<i> &gt; &gt; dependencies between modules
+</I>&gt;<i> &gt; &gt; - remove any hardcoded values from modules, but use parameterised
+</I>&gt;<i> &gt; &gt; classes, so you don't have to modify modules to use them
+</I>&gt;<i> &gt; &gt; - setup puppet so that someone who wants to overwrite a module
+</I>&gt;<i> &gt; &gt; installed
+</I>&gt;<i> &gt; &gt; by a package can create one with the same name in
+</I>&gt;<i> &gt; &gt; /etc/puppet/modules.
+</I>&gt;<i> &gt; &gt; Or overwrite one template file.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; +1
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; However, we may need to review what modules we would need, improve any of
+</I>&gt;<i> &gt; the ones we have developed (e.g. my Xymon one probably needs quite a
+</I>&gt;<i> &gt; bit of work).
+</I>&gt;<i>
+</I>&gt;<i> Yes. Maybe we should also define some policies about how modules should
+</I>&gt;<i> be written to allow packaging / standardized parameters.
+</I>
+We also have done some choices that are not easy to change :
+
+- mostly postgresql rather than mysql ( with a high integration like
+remote database setup and more to come ( I plan to be able to manage the
+initial sql setup with it )
+
+- web applications are on application.example.org rather than
+www.example.org/application/
+
+- fastcgi to cope with the fact we have lots of interpreter rather than
+using only ruby, python or perl
+
+- highly dependent on the ldap and on the group structure ( ie, there is
+group policy everywhere and this can be quite hard to abstract )
+
+- the domain name of web application are everywhere ( could be
+abstracted like password however )
+
+The repository is quite free of mageia.org reference, hopefully.
+
+&gt;<i> &gt; &gt; Those module could also be used locally by some tools. For instance
+</I>&gt;<i> &gt; &gt; if
+</I>&gt;<i> &gt; &gt; we want to create a graphical tool like drakwizard, to setup some
+</I>&gt;<i> &gt; &gt; software
+</I>&gt;<i> &gt; &gt; on a machine. This graphical interface would ask some parameters,
+</I>&gt;<i> &gt; &gt; then
+</I>&gt;<i> &gt; &gt; install the corresponding puppet modules, generate a puppet file
+</I>&gt;<i> &gt; &gt; containing the parameters entered and run puppet on it locally.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; 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>&gt;<i>
+</I>&gt;<i> I never used it, so I don't know. But they mention &quot;classes and parameters
+</I>&gt;<i> can be applied to nodes directly or inherited from groups&quot;.
+</I>
+That just a web interface, and I fear we would lose the vcs feature if
+we use this to manage our server.
+On the other hand, this could help on the reporting side.
+
+And there is also theforeman, that does the same.
+
+&gt;<i> &gt;
+</I>&gt;<i> &gt; &gt; However compared to what we do currently :
+</I>&gt;<i> &gt; &gt; - it will be more work, to avoid hardcoding anything
+</I>&gt;<i> &gt; &gt; - modules can become more complexe if they support more things
+</I>&gt;<i> &gt; &gt; - we will have to be careful when changing API of released modules,
+</I>&gt;<i> &gt; &gt; or
+</I>&gt;<i> &gt; &gt; write it in release notes so users of the packages know what they
+</I>&gt;<i> &gt; &gt; need
+</I>&gt;<i> &gt; &gt; to change when updating to a newer release of the distribution.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; Well, we may want to upstream modules as well, especially ones that we didn't write from scratch.
+</I>&gt;<i>
+</I>&gt;<i> Yes, we can also share them on puppet forge so people using other
+</I>&gt;<i> distributions can use them.
+</I>
+Then it would be easier to split our svn into self contained module,
+like 1 git/svn/whatever per modules in modules/
+
+And one big one with svn:external, git-slave, whatever to keep the
+current way of work.
+
+I do like the idea of sharing them on puppet forge. Not specially for
+being reused in all case, but at least to be useful as a reference and
+example. Because if we want to be reused, we need to take in account
+different package name. I do manage 1 gentoo, 3 mandriva, and 1 fedora
+with puppet, and the openssh modules I wrote is full of &quot;if&quot;. ( and I
+didn't add os x or debian to the mix yet, but for fun I am thinking ).
+
+&gt;<i> &gt; 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> &gt;
+</I>&gt;<i> &gt; But, while some of the contributors on this list may want to contribute to such a project, maybe it
+</I>&gt;<i> &gt; would be better to have a separate team/project/special interest group looking at the requirements/features
+</I>&gt;<i> &gt; for a server release. And, I think mandating puppet for this would be premature (from a design perspective),
+</I>&gt;<i> &gt; as there may be other better architectures/tools (e.g. Chef?).
+</I>&gt;<i>
+</I>&gt;<i> Yes, that should be a separate team/project. I posted this on sysadmin
+</I>&gt;<i> list because I think that's where most interested people are, but
+</I>&gt;<i> anybody using Mageia could be interested to participate.
+</I>&gt;<i>
+</I>&gt;<i> And Chef should also be considered.
+</I>
+The first step would be to package chef, but I am far from being happy
+when instruction start by &quot;use gem install&quot;.
+( for the record, I also considered looking at bcfg2 ).
+
+--
+Michael Scherer
+
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="003200.html">[Mageia-sysadm] Packaging puppet modules
+</A></li>
+ <LI>Next message: <A HREF="003221.html">[Mageia-sysadm] Packaging puppet modules
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#3220">[ date ]</a>
+ <a href="thread.html#3220">[ thread ]</a>
+ <a href="subject.html#3220">[ subject ]</a>
+ <a href="author.html#3220">[ 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>