<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Normation Blog</title>
	<atom:link href="http://blog.normation.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.normation.com</link>
	<description>Le blog de Normation</description>
	<lastBuildDate>Thu, 26 Apr 2012 14:42:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Rudder at the LOADays 2012</title>
		<link>http://blog.normation.com/2012/04/26/rudder-at-the-loadays-2012/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rudder-at-the-loadays-2012</link>
		<comments>http://blog.normation.com/2012/04/26/rudder-at-the-loadays-2012/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 14:42:13 +0000</pubDate>
		<dc:creator>Matthieu CERDA</dc:creator>
				<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[Disaster Recovery]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Rudder]]></category>
		<category><![CDATA[System administration]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[antwerp]]></category>
		<category><![CDATA[belgium]]></category>
		<category><![CDATA[clarke]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[donbosco]]></category>
		<category><![CDATA[jonathan]]></category>
		<category><![CDATA[loadays]]></category>

		<guid isPermaLink="false">http://blog.normation.com/?p=640</guid>
		<description><![CDATA[The Normation team (well at least two of them) was present at the LOADays 2012 in Antwerp, Belgium We had a great time here! Even though the weather was cold, our Belgian friends out here were very welcoming. The organization was perfect, the WiFi too, and the conferences very enlightening. We had the chance to [...]]]></description>
			<content:encoded><![CDATA[<p>The Normation team (well at least two of them) was present at the <a title="LOADays" href="http://loadays.org/" target="_blank">LOADays</a> 2012 in Antwerp, Belgium</p>
<p><span id="more-640"></span></p>
<p>We had a great time here! Even though the weather was cold, our Belgian friends out here were very welcoming. The organization was perfect, the WiFi too, and the conferences very enlightening. We had the chance to meet people from very different projects, like Jorge Salamero Sanz who was speaking about Samba 4 and SSO integration, Jan-Piet Mens speaking about the modern DNS challenges, Garrett Honeycutt from PuppetLabs (which leaded a great practical initiation to Puppet) and the surprising Evgeny and his &#8220;Database is enough&#8221; presentation.</p>
<p>Jonathan CLARKE, CTO at Normation, was present to introduce <a href="http://www.rudder-project.org" title="Rudder" target="_blank">Rudder</a>, a Configuration Management software aimed towards simple usage and extensibility.</p>
<p style="text-align: center;"><iframe src="http://player.vimeo.com/video/40828390" width="450" height="338" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>We also met our local friends here to share a small sandwich and a not so small beer: <a href="https://twitter.com/frbayart" title="Twitter" target="_blank">François BAYART / A-Kaser</a> and Fabrice FLORE-THEBAULT / themr0c.</p>
<p>This 2012 edition of the LOADays was a great success, so we are eagerly waiting for the 2013 one !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.normation.com/2012/04/26/rudder-at-the-loadays-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Matinale &#8220;Infrastructures IT : Concilier best practices et contraintes du quotidien&#8221;</title>
		<link>http://blog.normation.com/2012/04/17/matinale-infrastructures-it-concilier-best-practices-et-contraintes-du-quotidien/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=matinale-infrastructures-it-concilier-best-practices-et-contraintes-du-quotidien</link>
		<comments>http://blog.normation.com/2012/04/17/matinale-infrastructures-it-concilier-best-practices-et-contraintes-du-quotidien/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 13:44:59 +0000</pubDate>
		<dc:creator>Jonathan CLARKE</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[CFEngine]]></category>
		<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Rudder]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Mark Burgess]]></category>
		<category><![CDATA[Paris]]></category>

		<guid isPermaLink="false">http://blog.normation.com/?p=602</guid>
		<description><![CDATA[Le 14 mars dernier s&#8217;est tenu une matinale dans les locaux parisiens de Normation qui a été un franc succès avec plus d&#8217;une vingtaine de participants, sur le thème suivant : Infrastructures IT : Concilier best practices et contraintes du quotidien Disponibilité, prévention des risques, sécurité, industrialisation, gestion des changements, partage des connaissances &#8230; autant [...]]]></description>
			<content:encoded><![CDATA[<p>Le 14 mars dernier s&#8217;est tenu une matinale dans les locaux parisiens de Normation qui a été un franc succès avec plus d&#8217;une vingtaine de participants, sur le thème suivant :</p>
<blockquote><p><strong><em>Infrastructures IT : Concilier best practices et contraintes du quotidien</em></strong></p>
<p>Disponibilité, prévention des risques, sécurité, industrialisation, gestion des changements, partage des connaissances &#8230; autant de sujets clés de la gestion de services informatiques qu&#8217;il est souvent difficile de concilier avec les contraintes technologiques, budgétaires et décisionnelles.</p></blockquote>
<p>Nous avons eu l’honneur de compter parmi nos intervenants <a title="Mark Burgess on Wikipedia" href="http://en.wikipedia.org/wiki/Mark_Burgess_%28computer_scientist%29" target="_blank"><strong>Mark Burgess</strong></a>, précurseur dans la gestion de configuration logicielle, et CTO fondateur de la société <a href="http://www.cfengine.com/"><strong>CFEngine AS</strong></a>, leader mondial du domaine, et <strong>Enrico Bigaignon</strong>, Satellites Control Division, <strong>Eutelsat</strong> qui a pu nous faire partager son retour d’expérience en matière de mise en place de solutions de gestion de configuration.</p>
<p>Vous retrouverez ci-après le contenu des présentations (hormis celle de M. Bigaignon que nous ne pouvons pas diffuser pour raisons de confidentialité).</p>
<p>Mark Burgess a d&#8217;abord présenté l&#8217;état de l&#8217;art du domaine (<a href="http://www.slideshare.net/normation/the-third-wave-of-it-management-mark-burgess/download">téléchargement de la présentation</a>) :</p>
<div id="__ss_12313601" style="width: 510px;"><strong style="display: block; margin: 12px 0 4px;"><a title="The Third Wave of IT Management - Mark Burgess" href="http://www.slideshare.net/normation/the-third-wave-of-it-management-mark-burgess" target="_blank">The Third Wave of IT Management &#8211; Mark Burgess</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/12313601?rel=0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="510" height="426"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/normation" target="_blank">Normation</a></div>
</div>
<p>Puis, la société CFEngine et son offre ont été introduits (<a href="http://www.slideshare.net/normation/cfengine-company-mission-offering-and-partners/download">téléchargement de la présentation</a>) :</p>
<div id="__ss_12313661" style="width: 510px;"><strong style="display: block; margin: 12px 0 4px;"><a title="CFEngine - company, mission, offering and partners" href="http://www.slideshare.net/normation/cfengine-company-mission-offering-and-partners" target="_blank">CFEngine &#8211; company, mission, offering and partners</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/12313661?rel=0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="510" height="426"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/normation" target="_blank">Normation</a></div>
</div>
<p>Ensuite, Jonathan Clarke a introduit le positionnement de Normation et les objectifs de la solution <a href="http://www.normation.com/fr/solutions/rudder">Rudder</a> (<a href="http://www.slideshare.net/normation/normation-our-mission-rudder-offer/download">téléchargement de la présentation</a>) :</p>
<div id="__ss_12018875" style="width: 510px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Normation: Our mission - Rudder - Our offer" href="http://www.slideshare.net/normation/normation-our-mission-rudder-offer" target="_blank">Normation: Our mission &#8211; Rudder &#8211; Our offer</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/12018875?rel=0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="510" height="426"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/normation" target="_blank">Normation</a></div>
</div>
<p>Notre prochaine matinale sera organisée le jeudi 7 juin, sur le thème <a href="http://www.normation.com/fr/actualites/events/seminar-configuration-management-in-it-infrastructures-a-frequently-eluded-topic-real-benefits-of-a-best-practice-tainted-with-scepticism"><strong>La gestion de configuration dans les infrastructures IT, un sujet souvent esquivé : les vrais bénéfices d’une best practice entâchée de scepticisme</strong></a>. Pour ne pas la rater, suivez ce blog ou <a href="http://eepurl.com/ioofE" target="_blank">abonnez-vous à notre newsletter</a> (un envoi tous les deux mois). Rendez-vous très prochainement !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.normation.com/2012/04/17/matinale-infrastructures-it-concilier-best-practices-et-contraintes-du-quotidien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choisir Scala en entreprise, est-ce bien raisonnable ?</title>
		<link>http://blog.normation.com/2012/04/16/choisir-scala-en-entreprise-est-ce-bien-raisonnable/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=choisir-scala-en-entreprise-est-ce-bien-raisonnable</link>
		<comments>http://blog.normation.com/2012/04/16/choisir-scala-en-entreprise-est-ce-bien-raisonnable/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 10:09:35 +0000</pubDate>
		<dc:creator>François ARMAND</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[adoption]]></category>
		<category><![CDATA[entreprise]]></category>
		<category><![CDATA[fr]]></category>
		<category><![CDATA[JVM]]></category>

		<guid isPermaLink="false">http://blog.normation.com/?p=612</guid>
		<description><![CDATA[Le cas &#8220;Scala chez Normation&#8221;&#8230; Chez Normation, nous utilisons Scala depuis plus de 3 ans pour notre plus grand plaisir &#8211; et quelques irritations. Quelques irritations donc, le plus souvent liées à l&#8217;immaturité de l&#8217;ecosystème, avec en premier lieu un outillage au mieux fonctionnel&#8230; Oh qu&#8217;il aura fallu attendre longtemps pour avoir un plugin Eclipse [...]]]></description>
			<content:encoded><![CDATA[<h3>Le cas &#8220;Scala chez Normation&#8221;&#8230;</h3>
<p>Chez Normation, nous utilisons Scala depuis plus de 3 ans pour notre plus grand plaisir &#8211; et quelques irritations.</p>
<p>Quelques irritations donc, le plus souvent liées à <em>l&#8217;immaturité de l&#8217;ecosystème</em>, avec en premier lieu un outillage au mieux fonctionnel&#8230; Oh qu&#8217;il <em>aura fallu attendre longtemps pour avoir un plugin Eclipse ou IntelliJ correct</em> ! Et je ne parle pas de quelque chose d&#8217;aussi poussé que ce que permettent les IDE Java, simplement un éditeur qui ne plante pas, souligne les erreurs (celles qui en sont réellement), et qui permet de faire la complétion correctement&#8230; L&#8217;autre point important de frustration est <em>la lenteur du compilateur scalac</em>. Venant de Java ou de langages typés dynamiquement, on comprend mieux ce que signifie ce <a href="http://xkcd.com/303/">xkcd</a>&#8230;</p>
<p>Mais ces irritations ont été très <em>largement contrebalancées par tout un tas d&#8217;avantages</em>. Si je ne devais en retenir seulement trois, mes préférences personnelles iraient à:</p>
<ul>
<li>En premier lieu (et c&#8217;est tout de même primordial lorsque l&#8217;on passe 10h par jour à coder), <em>Scala m&#8217;a permis de retrouver la joie de coder</em>. Alors qu&#8217;avant, nous ragions sans cesse sur Java, ce langage qui n&#8217;arrête pas de se mettre entre notre pensée et le code produit, nous avons découvert un langage qui nous permettait de simplement écrire les algorithmes tels qu&#8217;on les imagine. <em>L&#8217;API collection ultra-complète est</em> déterminante sur ce point, et elle est <em>tout simplement fantastique</em>.</li>
<li>Scala nous a permis de pouvoir <em>nous lancer dans des refactorings massifs sans appréhension,</em> en sachant qu&#8217;une fois qu&#8217;il sera terminé, tout marchera (presque <img src='http://blog.normation.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . C&#8217;est un peu comme passer de SVN à Git, et de découvrir la joie de faire des branches sans craindre le merge à venir. Ici, le facteur clé est le système de type de Scala, qui permet de définir simplement des propriétés fortes sur les données (&#8220;non, l&#8217;ID d&#8217;une personne n&#8217;est pas une chaîne de caractères, c&#8217;est un ID&#8221;) que le compilateur va vérifier pour nous, de manière beaucoup plus exhaustive et systématique que ne le feraient des tests.</li>
<li>Enfin, faire du Scala, c&#8217;est avoir la chance de travailler dans un <em>écosystème</em> naissant, <em>bouillonnant de bonnes idées et de personnes brillantes</em>, capable de trouver des solutions nouvelles et souvent intéressantes à nos problèmes. Cet esprit attire clairement des profils d&#8217;un excellent niveau et a aujourd&#8217;hui un impact direct au niveau RH : on peut facilement rencontrer <em>des candidats motivés et très bons</em>, avec finalement peu de cas où le candidat ne mérite pas le poste&#8230;</li>
</ul>
<p>&nbsp;</p>
<h3>&#8230; est-il applicable dans toutes les entreprises ?</h3>
<p>Évidemment, lorsque nous avons choisi cette technologie, nous étions une exception: une start-up sans bagage technique, sans dizaines de niveaux hiérarchiques à convaincre, sans équipes à former&#8230;</p>
<p>Aussi, à la veille des <a href="http://days2012.scala-lang.org/">ScalaDays 2012</a>, avec un buzz de plus en plus pressant autour de ce langage, on peut se demander si <strong>choisir Scala aujourd&#8217;hui en entreprise, c&#8217;est vraiment raisonnable ?</strong> Ou est-ce toujours une lubie de start-up ?</p>
<p>J&#8217;ai eu l&#8217;occasion d&#8217;intervenir en novembre dernier dans le cadre d&#8217;une réflexion pour le choix d&#8217;une pile technologique pour le nouveau produit d&#8217;une entreprise. Voici les slides présentés à cette occasion[1]:</p>
<div id="__ss_12515606" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Choisir scala en entreprise, est ce bien raisonnable ?" href="http://www.slideshare.net/normation/choisir-scala-en-entreprise-est-ce-bien-raisonnable12" target="_blank">Choisir scala en entreprise, est ce bien raisonnable ?</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/12515606" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="425" height="355"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/normation" target="_blank">Normation</a></div>
</div>
<p>Et pour ceux qui se posent la question&#8230; Non, Scala n&#8217;a pas été retenu dans l&#8217;entreprise en question, car il ne convenait pas à la volonté stratégique d&#8217;externaliser une partie importante du développement sans avoir de leader Scala en interne.</p>
<p>[1] légèrement revus (graphique indeed.com mis à jour, nouvelles références) et anonymisés</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.normation.com/2012/04/16/choisir-scala-en-entreprise-est-ce-bien-raisonnable/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Normation: our mission, why Rudder and our offer</title>
		<link>http://blog.normation.com/2012/03/15/normation-our-mission-why-rudder-and-our-offer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=normation-our-mission-why-rudder-and-our-offer</link>
		<comments>http://blog.normation.com/2012/03/15/normation-our-mission-why-rudder-and-our-offer/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 16:02:43 +0000</pubDate>
		<dc:creator>Jonathan CLARKE</dc:creator>
				<category><![CDATA[CFEngine]]></category>
		<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Rudder]]></category>
		<category><![CDATA[System administration]]></category>
		<category><![CDATA[CFEngine3]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Mark Burgess]]></category>
		<category><![CDATA[Normation]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Paris]]></category>
		<category><![CDATA[seminar]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://blog.normation.com/?p=596</guid>
		<description><![CDATA[Yesterday, we held a seminar in our offices titled IT infrastructure: Balancing best practices and everyday constraints. Mark Burgess, pioneer of software configuration management and founding CTO of CFEngine AS, was our guest star, and gave a very interesting talk about the Third Wave of IT Management. We took the opportunity to introduce Normation, presenting [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, we held a seminar in our offices titled <strong>IT infrastructure:</strong> <strong>Balancing best practices and everyday constraints</strong>. <a title="Mark Burgess on Wikipedia" href="http://en.wikipedia.org/wiki/Mark_Burgess_%28computer_scientist%29">Mark Burgess</a>, pioneer of software configuration management and founding CTO of <a href="http://www.cfengine.com/"><strong>CFEngine AS</strong></a>, was our guest star, and gave a very interesting talk about the Third Wave of IT Management.</p>
<p>We took the opportunity to introduce Normation, presenting our mission, our strategic partnership with CFEngine AS, and the aims of Rudder. For those who weren&#8217;t there, we thought we&#8217;d share an extract of this presentation:</p>
<div id="__ss_12018875" style="width: 510px;">
<p><strong style="display: block; margin: 12px 0 4px;"><a title="Normation: Our mission - Rudder - Our offer" href="http://www.slideshare.net/normation/normation-our-mission-rudder-offer" target="_blank">Normation: Our mission &#8211; Rudder &#8211; Our offer</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/12018875?rel=0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="510" height="426"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/normation" target="_blank">Normation</a></div>
</div>
<p>It was a great event, with many interesting questions and discussions, and we&#8217;d like to thank everyone who attended, and of course Mark for coming all the way to Paris for this, and his warm comments about Normation.</p>
<p>If you&#8217;re curious about Normation or Rudder, we&#8217;d love to hear from you &#8211; contact us by <a href="mailto:contact@normation.com">email</a>, Twitter (<a href="http://twitter.com/Normation">@Normation</a> and <a href="http://twitter.com/RudderProject">@RudderProject</a>) or IRC (#rudder on FreeNode)!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.normation.com/2012/03/15/normation-our-mission-why-rudder-and-our-offer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An installation and everyday usage guide for libvirt and KVM</title>
		<link>http://blog.normation.com/2012/03/09/a-guide-to-the-everyday-use-of-libvirt-and-kvm/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-guide-to-the-everyday-use-of-libvirt-and-kvm</link>
		<comments>http://blog.normation.com/2012/03/09/a-guide-to-the-everyday-use-of-libvirt-and-kvm/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 10:58:30 +0000</pubDate>
		<dc:creator>Matthieu CERDA</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[System administration]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[everyday]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[hypervisor]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[LVM]]></category>
		<category><![CDATA[use]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://blog.normation.com/?p=472</guid>
		<description><![CDATA[Why all this ? Today, nearly every modern computing-related company uses directly or indirectly a virtualization software. As seen with the recent Cloud computing trend, it is a sector that recently exploded in popularity and it is now accessible to everyone. There are now a LOT of alternatives to virtualize an OS : Isolation : [...]]]></description>
			<content:encoded><![CDATA[<h3>Why all this ?</h3>
<p>Today, nearly every modern computing-related company uses directly or indirectly a virtualization software. As seen with the recent Cloud computing trend, it is a sector that recently exploded in popularity and it is now accessible to everyone.</p>
<p>There are now a LOT of alternatives to virtualize an OS :</p>
<ul>
<li>Isolation : OpenVZ, VServer, LXC, UML, BSD jails, Solaris zones&#8230;</li>
<li>Paravirtualization : Xen</li>
<li>Full virtualization : VMWare Player/Workstation/ESX/ESXi, KVM/Qemu, Virtualbox, Bochs&#8230;</li>
</ul>
<p>When having to deal with a large pack of machines for building packages, testing software on multiple OSes or optimally use a powerful server with lots of RAM, you rapidly should, if not have to, realize that Virtual Machines can make your life significantly easier. It was the case for us.</p>
<p>Here at Normation, we love free software (as in free speech, but a free beer is fine too, thanks), so we decided to use something that was FOSS, multi OS compatible (ruling out all isolation softwares), and convenient to use. We chose to use the libvirt/KVM and LVM mix. (ESX/VirtualBox users, do not leave yet. You will be much pleased to learn that libvirt is compatible with your software too ! You will loose the graphical virt-manager, but virsh might come in handy for you if you have scripting needs by example)</p>
<p><span id="more-472"></span></p>
<h3>Overview</h3>
<p>First, let&#8217;s deepen a bit the details on these two softs :</p>
<ul>
<li>KVM : KVM is a port of the Qemu fullvirt software to the standardized Linux virtualization layer. It consists of two parts : the qemu/kvm binary and the KVM kernel module that handles every CPU/Memory/device operation depending of the CPU support.</li>
<li>libvirt : libvirt is a RedHat sponsored project that tries to be a &#8220;meta&#8221; hypervisor, offering a standardized set of instructions to manage VMs independently of the underlying virtualization software. It currently supports Xen, QEmu, KVM, LXC, OpenVZ, VirtualBox and VMware ESX.</li>
<li>LVM : The Linux Logical Volume Manager, which enables a much more flexible storage volume management compared to regular MBR partitions, and permits to create &#8220;pools&#8221; of volumes if needed.</li>
</ul>
<div id="attachment_532" class="wp-caption aligncenter" style="width: 505px"><a href="http://blog.normation.com/wp-content/uploads/2012/02/rendu.png"><img src="http://blog.normation.com/wp-content/uploads/2012/02/rendu.png" alt="Virtual Machines Overview" width="495" height="480" class="alignnone size-full wp-image-532" /></a><p class="wp-caption-text">Solution overview</p></div>
<p>Now let&#8217;s see how to create a powerful hypervisor in no time !</p>
<h3>Installation of the solution</h3>
<h4>Shopping list</h4>
<p>To install this solution, you will need the following prerequisites :</p>
<ul>
<li>A debian distribution, preferably squeeze (or wheezy/testing if you want the latest features) has been used in this post. However, any Linux distribution that bundles libvirt and KVM will do !</li>
<li>A free partition on the disk, with lots of space (As much as what your VMs will eat, 40GB is a bare minimum)</li>
<li>A PC that supports the hardware virtualization CPU instructions (AMD SVM or Intel VT-X, this isn&#8217;t mandatory but you WILL have performances issues if you do not have it), a minimum of 2GB of RAM, and a fast disk drive. (You might want to have a hardware RAID on a production server, or anything having decent I/O performances)</li>
<li>A basic comprehension of how GNU/Linux and a PC works</li>
</ul>
<h4>Installation of the packages</h4>
<p>You only have to fire up this one-liner, and you will have every tool at hand:</p>
<ul>
<li>Debian users:</li>
<pre class="brush: shell">
aptitude update
aptitude install libvirt-bin kvm qemu lvm
</pre>
<li>RedHat users:</li>
<pre class="brush: shell">
yum install libvirt qemu-kvm lvm2
</pre>
<li>SuSE/OpenSuSE users:</li>
<pre class="brush: shell">
zypper refresh
zypper install libvirt kvm qemu lvm2
</pre>
</ul>
<p>I assume that your hypervisor is also your client (the one that will manage your VM), and that you have a X server/a Desktop environment already installed. If not, or if you just want to use the CLI tools, do not try to install this on the server. Note that you can also install this on a remote machine and access the hypervisor using an SSH tunnel (The applications creates it automatically if needed. There are other ways but I will let you the pleasure to read the manual if you are interested)</p>
<pre class="brush: shell">
aptitude install virt-manager
# or
yum install virt-manager
# or
zypper install virt-manager
</pre>
<div id="attachment_584" class="wp-caption aligncenter" style="width: 460px"><a href="http://blog.normation.com/wp-content/uploads/2012/03/VirtManager.png"><img src="http://blog.normation.com/wp-content/uploads/2012/03/VirtManager-1024x540.png" alt="" width="450" height="237" class="size-large wp-image-584" /></a><p class="wp-caption-text">Virt-Manager</p></div>
<h4>LVM pool creation</h4>
<p>This part is optional, you can also use plain files to store the VMs data, but please bear in mind that I personally had some real performance issues with some hardware/filesystem combinations, which were resolved using this. Also, we seek to create a production-ready environment so you really should do it.</p>
<p>Remember when we talked about a big free partition on the drive ? Now let&#8217;s use it for real. Here I assume it is /dev/sda4, but your mileage may vary.</p>
<pre class="brush: shell">
fdisk /dev/sda
# Type t, 4, and 8e to switch the partition type to Linux LVM. I will help the kernel and LVM tools to locate the partition and use it.
pvcreate /dev/sda4
vgcreate (vgname) /dev/sda4 # Change to a meaningful name for you
</pre>
<p>Now we have a (vgname) LVM Volume Group ready to store all our VMs.</p>
<h4>Virt manager usage</h4>
<p>At this point, the hypervisor machine is ready. Now we just need to set up in libvirt the storage pools for the VMs and the network parameters. You can use virt manager or virsh (the libvirt shell) to do this.</p>
<p>First, you need to add whichever user who will have access to the system to the libvirt system group, to grant them access to the libvirt control socket.</p>
<pre class="brush: shell">
for i in user1 user2 user3
do addgroup $i libvirt
done
</pre>
<p>Virsh uses XML templates to do that, like this one for the network:</p>
<pre class="brush: xml">
&lt;network&gt;
&lt;name&gt;default&lt;/name&gt;
&lt;uuid&gt;65f40d0d-219a-2dd9-a6ac-3a612c26e36b&lt;/uuid&gt;
&lt;forward mode=&#039;nat&#039;/&gt;
&lt;bridge name=&#039;virbr0&#039; stp=&#039;on&#039; delay=&#039;0&#039; /&gt;
&lt;ip address=&#039;192.168.122.1&#039; netmask=&#039;255.255.255.0&#039;&gt;
&lt;dhcp&gt;
&lt;range start=&#039;192.168.122.2&#039; end=&#039;192.168.122.254&#039; /&gt;
&lt;/dhcp&gt;
&lt;/ip&gt;
&lt;/network&gt;
</pre>
<p>Please note that there is no clean and user friendly wizard to do this kind of operation using virsh, you either must have a template at hand and edit it or use the virt manager GUI which is way more user friendly.</p>
<p>Virt Manager is a Graphical User Interface to the libvirt software. It enables the user to get back his clean interface to see which VMs are launched, edit them or create them at will, much like Virtualbox or VMWare Player.</p>
<p>Start it from your desktop menu, and it will at first try to connect to a local hypervisor. If you have one, bingo, no more steps to connect are required, you are in, however, if your hypervisor is a remote machine, you have to click File -&gt; Add a connection and use the QEMU/KVM hypervisor with a SSH remote connection method.</p>
<p>Now that you are connected, right click the name of your connection (like &#8220;localhost (QEMU)&#8221;) and choose &#8220;Details&#8221;: This is where you can tune some of libvirt&#8217;s access to the machine.</p>
<h5>Network parameters</h5>
<p>Here you can tune how libvirt will set up connections to the outside world or create internal networks. If a simple NAT is all you need, nothing more to do here than enable the &#8220;default&#8221; network to start on boot. You might want to create an internal network or a second outside one, if so click the &#8220;plus&#8221; sign below the network names and follow the guide.</p>
<h5>Storage parameters</h5>
<p>Here you will have to create storage pools to store your VMs. A default pool has already be created for those who want to use plain files, and stores them in /var/lib/libvirt/images. You will probably need two more pools : A LVM one and somewhere to store your OS installation ISOs if you use a remote hypervisor.</p>
<p>Here the same routine applies: Click the &#8220;plus&#8221; sign and follow the guide, and do not forget to select an appropriate pool type.</p>
<p>As of my installation, I like having my ISOs in /home/ISO, so if you want to do this, here is the procedure:</p>
<pre class="brush: shell">
mkdir -p /home/ISO
chown -R libvirt-qemu:libvirt /home/ISO
</pre>
<p>and add this directory as a pool. Please note that nothing forbids you to use the VMs Volume Group to create a logical volume to store your ISOs and mount it on /home/ISO !</p>
<pre class="brush: shell">
lvcreate --name ISO --size 16G (VGName)
mke2fs -j /dev/(VGName)/ISO
# And append to your fstab the following entry :
/dev/(VGName)/ISO /home/ISO ext3 defaults 0 2
</pre>
<p>Now we have everything set up and ready for use !</p>
<h3>Everyday usage</h3>
<h4>Useful procedures</h4>
<p>You will likely create VMs using virt manager&#8217;s interface, and there is a quick and easy wizard to do it: you just have to click the first icon in the main interface.</p>
<p>To backup a VM, you have two options :</p>
<ul>
<li>Use a dedicated software inside the VM, like backup-manager or Bacula/Amanda and store the backups using FTP/NFS/&#8230;</li>
<li>Backup the VM raw data directly</li>
</ul>
<p>The first solution is much more economic in terms of used space, but if you have lots of backup-dedicated space you can use the second solution, which offers a easier and quicker recovery alternative. Remember that you can not backup a VM raw data while it is running of you <strong>WILL</strong> have serious data corruption in your backup. You can use dd for that, or virt-clone.</p>
<p>Note that if you chose to store your VMs using plain QCOW2 or RAW images, it is easier: a simple copy and it is all done.</p>
<p>Which brings me to the LVM method first advantage, after the performance : snapshots !</p>
<h5>LVM magic</h5>
<p>You can use snapshots to reduce your disk memory usage, using a single base image for several VMs, or have a minimal downtime during backups : Stop the VM, snapshot, immediately backup and restart it.</p>
<p>Simply put, here is the magic command to create a snapshot :</p>
<pre class="brush: shell">
lvcreate --snapshot /dev/(VGName)/(VMName) --name (SnapshotName) --size (VM Logival Volume Size)
# After you have backuped the snapshot (if you do not consider the snapshot to be a backup itself), delete it.
lvremove /dev/(VGName)/(SnapshotName)
</pre>
<p>Further than that, LVM enabled us to make a simple failover configuration and get a quick and efficient fault tolerance, using DRBD, every VM is replicated over the network in a raid1-like fashion between two hypervisors and in case the primary machine went to fail, we only need to switch DRBD from secondary to primary on the secondary host and reboot the VM&#8217;s and here, incident bypassed !</p>
<div id="attachment_582" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.normation.com/wp-content/uploads/2012/03/Capture-du-2012-03-08-175819.png"><img src="http://blog.normation.com/wp-content/uploads/2012/03/Capture-du-2012-03-08-175819-300x260.png" alt="" width="300" height="260" class="size-medium wp-image-582" /></a><p class="wp-caption-text">Windows machine emulated in KVM</p></div>
<h4>Usage tips</h4>
<p>Here is a list of things that may prove useful to you then :</p>
<ul>
<li>IMPORTANT: If you boot a Linux VM, you might want to add &#8220;elevator=noop&#8221; to your Linux boot command line to force the disk scheduler to let the host machine handle the disk writes reorganisations (like tunnelling tcp over tcp, it is bad to have two schedulers trying to do each other&#8217;s job). For example, on GRUB2 on Debian, you have to append &#8220;elevator=noop&#8221; after GRUB_CMDLINE_LINUX in /etc/default/grub.</li>
<li>IMPORTANT: Remember that the remote display will always be slower than a real dedicated connection directly to the VM. In other terms, you will be much more comfortable using an SSH / NX / RDP client instead of the console, if you have this choice.</li>
<li>Do not forget to set the networks to &#8220;autostart&#8221;, or you will get an error after a reboot if you try to launch a VM</li>
<li>The connection to the VMs screen is done via VNC, and sometimes if you close one VM window and try to reopen it, the VNC client will get stuck trying to connect. If it happens, restart virt manager</li>
<li>If you use a recent version of libvirt and virt manager (like the ones in Debian testing, I did not test squeeze ones), you might prefer to switch your VM display to the SPICE protocol, much more efficient than VNC but younger. I had great performance and nearly no bug with it, so feel free to test</li>
<li>Do not expect hype features like 3D acceleration yet. As of now, libvirt is primarily aimed towards data serving machines accessed using SSH/NX/RDP. However, a lot of advance has been made recently with SPICE and the QXL video emulation. Please see <a href="http://spice-space.org/page/3DPlanning">here</a> for more details.</li>
<li>You have the choice to install your OS using either your host CD-Rom drive, or ISO images. I advise you to prefer ISO images, they are much more faster to install.</li>
<li>If you do not need sound devices, delete them from the VM configuration. No real reason for that, it is just a bit cleaner. LibVirt will not try to add one on a remote hypervisor though.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.normation.com/2012/03/09/a-guide-to-the-everyday-use-of-libvirt-and-kvm/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Barcamp Rudder 2.4.0 &#8211; Portes ouvertes</title>
		<link>http://blog.normation.com/2012/02/20/barcamp-rudder-2-4-0-portes-ouvertes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=barcamp-rudder-2-4-0-portes-ouvertes</link>
		<comments>http://blog.normation.com/2012/02/20/barcamp-rudder-2-4-0-portes-ouvertes/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 18:06:03 +0000</pubDate>
		<dc:creator>Jonathan CLARKE</dc:creator>
				<category><![CDATA[CFEngine]]></category>
		<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Rudder]]></category>
		<category><![CDATA[BarCamp]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[New features]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Paris]]></category>
		<category><![CDATA[Portes ouvertes]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.normation.com/?p=554</guid>
		<description><![CDATA[Cette semaine, de mercredi à mercredi (du 22 au 29 février donc), Normation va faire son premier Barcamp Rudder ! Mais qu&#8217;est-ce qu&#8217;un barcamp ? D&#8217;après Wikipedia : Un BarCamp est une rencontre, une non-conférence ouverte qui prend la forme d&#8217;ateliers-événements participatifs où le contenu est fourni par les participants qui doivent tous, à un [...]]]></description>
			<content:encoded><![CDATA[<p>Cette semaine, de <strong>mercredi à mercredi</strong> (du 22 au 29 février donc), Normation va faire son premier <strong>Barcamp Rudder</strong> !</p>
<p>Mais qu&#8217;est-ce qu&#8217;un barcamp ? D&#8217;après Wikipedia :<em><br />
</em></p>
<blockquote><p><em>Un <strong>BarCamp</strong> est une rencontre, une non-conférence ouverte qui prend la forme d&#8217;ateliers-événements participatifs où le contenu est fourni par les participants qui doivent tous, à un titre ou à un autre, apporter quelque chose au Barcamp. </em><em>C&#8217;est le principe </em>pas de spectateur, tous participants<em>.</em></p></blockquote>
<p>(Source et plus d&#8217;infos : <a title="BarCamp sur Wikipedia" href="http://fr.wikipedia.org/wiki/BarCamp" target="_blank">http://fr.wikipedia.org/wiki/BarCamp</a>)</p>
<p>L&#8217;objectif de cette semaine c&#8217;est d&#8217;améliorer <a title="Rudder Project" href="http://www.rudder-project.org/" target="_blank">Rudder</a>, de faire qu&#8217;il nous plaît à tous, avant la sortie de la version 2.4.0 début mars, et travailler sur les sujets qu&#8217;on néglige parfois : communication, communauté, documentation, tests, qualité, ergonomie&#8230;</p>
<p>On profite de l&#8217;occasion pour faire une <strong>opération portes ouvertes</strong> : vous êtes les bienvenus chez nous tous les jours de 9h jusqu&#8217;à tard&#8230; Passez-nous faire un petit coucou, tester la dernière version de Rudder, nous donner votre avis, grignoter un morceau&#8230; Promis, on ne vous demandera pas vraiment de travailler <img src='http://blog.normation.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>L&#8217;équipe de Normation au grand complet (9 personnes) vous donne donc rendez-vous tous les jours au <a title="Plan pour venir au 87 rue de Turbigo, 75003 Paris" href="http://g.co/maps/5m2tw" target="_blank">87 rue de Turbigo, 75003 Paris</a> ! C&#8217;est au métro Temple sur la ligne 3 ou République sur les lignes 5, 8, 9 ou 11.</p>
<p>En particulier, un évènement communautaire autour de Rudder / CFEngine aura lieu <strong>jeudi soir</strong> pour se rencontrer et discuter (ou troller) autour d&#8217;un verre (ou deux).</p>
<p>Ca nous ferait très plaisir de vous voir ici alors <strong>n&#8217;hésitez pas à passer !</strong> Si vous ne pouvez pas venir, rejoignez-nous sur IRC (#rudder sur FreeNode) ou suivez-nous sur Twitter (<a title="Normation sur Twitter" href="http://twitter.com/Normation" target="_blank">@normation</a> et <a title="RudderProject sur Twitter" href="http://twitter.com/RudderProject" target="_blank">@RudderProject</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.normation.com/2012/02/20/barcamp-rudder-2-4-0-portes-ouvertes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rudder presentation at FOSDEM</title>
		<link>http://blog.normation.com/2012/02/13/rudder-presentation-at-fosdem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rudder-presentation-at-fosdem</link>
		<comments>http://blog.normation.com/2012/02/13/rudder-presentation-at-fosdem/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 16:58:54 +0000</pubDate>
		<dc:creator>Jonathan CLARKE</dc:creator>
				<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Rudder]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[FOSDEM]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://blog.normation.com/?p=542</guid>
		<description><![CDATA[We&#8217;ve been back from the latest FOSDEM in Brussels for a week now, but are only just recovering from the freezing-cold weather they had there&#8230; As always, FOSDEM was a great event, with thousands of open source users, contributors and developers all mixing together and sharing their findings, software and thoughts. A real spirit of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.normation.com/wp-content/uploads/2012/01/logo-transp.png"><img class="alignright size-medium wp-image-520" title="FOSDEM Logo (transp)" src="http://blog.normation.com/wp-content/uploads/2012/01/logo-transp-300x74.png" alt="FOSDEM" width="300" height="74" /></a>We&#8217;ve been back from the latest <a href="http://fosdem.org/">FOSDEM</a> in Brussels for a week now, but are only just recovering from the freezing-cold weather they had there&#8230;</p>
<p>As always, FOSDEM was a great event, with thousands of open source users, contributors and developers all mixing together and sharing their findings, software and thoughts. A real spirit of collaboration and possibility always reigns at FOSDEM, and this year was no exception.</p>
<p><img class="alignleft size-small wp-image-509" title="04.Logo Rudder complet 2b" src="http://blog.normation.com/wp-content/uploads/2012/01/04.Logo-Rudder-complet-2b-300x81.png" alt="" width="220" height="59" />For our part, we introduced <a href="http://www.rudder-project.org/">Rudder</a>, our open source configuration management tool in the Configuration Management <a href="http://fosdem.org/2012/schedule/track/configuration_and_systems_management_devroom">devroom</a> on the Sunday (see the <a href="http://fosdem.org/2012/schedule/event/cfgmgmtrudder">official talk page</a>). Our talk was well received, with many interesting questions. Thanks to those who were there, and those who made it possible!</p>
<p>Our <a title="Rudder presentation slides from FOSDEM" href="http://www.slideshare.net/normation/rudder-configuration-management-benefits-for-everyone-fosdem-2012" target="_blank">slides are available on SlideShare</a>, or you can just view them here:</p>
<div id="__ss_11426619" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Rudder - Configuration management benefits for everyone (FOSDEM 2012)" href="http://www.slideshare.net/normation/rudder-configuration-management-benefits-for-everyone-fosdem-2012" target="_blank">Rudder &#8211; Configuration management benefits for everyone (FOSDEM 2012)</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/11426619" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="425" height="355"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/normation" target="_blank">Normation</a></div>
</div>
<p>We also did our share of collaborating, and plan-making. Developers from three of the main components of Rudder, <a title="CFEngine" href="http://www.cfengine.com/" target="_blank">CFEngine</a>, <a title="FusionInventory" href="http://fusioninventory.org/" target="_blank">FusionInventory</a> and <a title="OpenLDAP" href="http://www.openldap.org" target="_blank">OpenLDAP</a>, were at FOSDEM, and we got together to discuss each project, their integration into Rudder and ways to improve both our use of them and the community&#8217;s experience of them.</p>
<p>Some promising ideas were thrown around, hopefully you&#8217;ll hear more about them here soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.normation.com/2012/02/13/rudder-presentation-at-fosdem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Normation and Rudder at FOSDEM</title>
		<link>http://blog.normation.com/2012/01/23/normation-and-rudder-at-fosdem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=normation-and-rudder-at-fosdem</link>
		<comments>http://blog.normation.com/2012/01/23/normation-and-rudder-at-fosdem/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 17:06:07 +0000</pubDate>
		<dc:creator>Jonathan CLARKE</dc:creator>
				<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Rudder]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://blog.normation.com/?p=503</guid>
		<description><![CDATA[Just like every year, once the holiday season is over, we start looking forward to FOSDEM the first weekend in February! This year, four of us from Normation will be attending, all the way through, from the world-famous, record-breaking beer event to the last talks on the Sunday. We&#8217;ll be introducing Rudder, our open source [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.normation.com/wp-content/uploads/2012/01/logo-transp.png"><img class="alignright size-medium wp-image-520" title="FOSDEM Logo (transp)" src="http://blog.normation.com/wp-content/uploads/2012/01/logo-transp-300x74.png" alt="FOSDEM" width="300" height="74" /></a>Just like every year, once the holiday season is over, we start looking forward to <a href="http://fosdem.org/">FOSDEM</a> the first weekend in February!</p>
<p>This year, four of us from <a href="http://www.normation.com/">Normation</a> will be attending, all the way through, from the world-famous, record-breaking <a href="http://fosdem.org/2012/beerevent">beer event</a> to the last talks on the Sunday.</p>
<p><img class="alignleft size-small wp-image-509" title="04.Logo Rudder complet 2b" src="http://blog.normation.com/wp-content/uploads/2012/01/04.Logo-Rudder-complet-2b-300x81.png" alt="" width="220" height="59" />We&#8217;ll be introducing <a href="http://www.rudder-project.org/">Rudder</a>, our open source configuration management tool in the Configuration Management <a href="http://fosdem.org/2012/schedule/track/configuration_and_systems_management_devroom">devroom</a> on the Sunday. Our talk will show how Rudder&#8217;s approach enables everyone in the IT department to benefit from the advantages of configuration management, without necessarily needing to learn a complex tool, or even get their hands dirty. We&#8217;ll describe and demonstrate how this is possible, and dive into the technical architecture that makes it work. Read more on the <a href="http://fosdem.org/2012/schedule/event/cfgmgmtrudder">official talk page</a>.</p>
<p><img class="alignright size-full wp-image-507" title="Rudder t-shirts for FOSDEM" src="http://blog.normation.com/wp-content/uploads/2012/01/tshirts-transparentbg.png" alt="" width="250" height="250" />We&#8217;re always interested in meeting new people and discussing configuration management, tools like CFEngine, open source&#8230; or even LDAP and Scala, for the more adventurous <img src='http://blog.normation.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Come and have a chat, we&#8217;ll be easily recognisable in our flashy black t-shirts with the Rudder logo!</p>
<p>Just before FOSDEM, we&#8217;re giving a <a href="http://cfengine-training-brussels-february-2012-eorg.eventbrite.com/">CFEngine 3 training session</a>. Some seats are still available, so why not come and kill two birds with one stone &#8211; some professional training at the end of the week, and a good open source event at the weekend!</p>
<p>Looking forward to seeing you in Brussels!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.normation.com/2012/01/23/normation-and-rudder-at-fosdem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CFEngine training course in Brussels &#8211; 1-2-3 February (before FOSDEM)</title>
		<link>http://blog.normation.com/2012/01/04/cfengine-training-course-in-brussels-1-2-3-february-before-fosdem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cfengine-training-course-in-brussels-1-2-3-february-before-fosdem</link>
		<comments>http://blog.normation.com/2012/01/04/cfengine-training-course-in-brussels-1-2-3-february-before-fosdem/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 14:16:51 +0000</pubDate>
		<dc:creator>Jonathan CLARKE</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.normation.com/?p=460</guid>
		<description><![CDATA[Need to automate your system administration tasks like installing and configuring servers? Want to ensure policy compliance across your IT infrastructure? Already using CFEngine but interested in learning more? Going to Brussels for FOSDEM already and could spare a few days before hand to learn a new skill? Or just need a good reason to [...]]]></description>
			<content:encoded><![CDATA[<p>Need to automate your system administration tasks like installing and configuring servers? Want to ensure policy compliance across your IT infrastructure? Already using <a href="http://www.cfengine.com" title="CFEngine">CFEngine</a> but interested in learning more?</p>
<p>Going to Brussels for <a href="http://www.fosdem.org/">FOSDEM</a> already and could spare a few days before hand to learn a new skill? Or just need a good reason to go to Brussels and then stay on for FOSDEM?</p>
<p>Whatever your interest, you may want to attend our <a href="http://cfengine-training-brussels-february-2012-eorg.eventbrite.com/">CFEngine training session in Brussels</a> on February 1,2 and 3 (that&#8217;s Wednesday-Friday before FOSDEM)!<br />
<span id="more-460"></span></p>
<h3>Flexible course programme</h3>
<p>These 3 days can be split up as follows, so that you can build your own training content, depending on your expectations and requirements:</p>
<ul>
<li><strong>Day 1 morning:</strong> What is configuration management? CFEngine architecture and the &#8220;desired state&#8221; approach</li>
<li><strong>Day 1 afternoon and Day 2:</strong> CFEngine Fundamentals: hands-on training covering basic CFEngine installation, syntax and features through examples. At the end of the course, attendees will have an understanding and recommended best practices for designing a CFEngine-based configuration management system.</li>
<li><strong>Day 3:</strong> CFEngine Industrialization: Moving on from elementary examples to real-world requirements, including complex parameters, reporting, interaction with other tools and planning changes.
</ul>
<p>Except the first morning, all of this course is very hands-on, and attendees will be expected to bring a laptop so that they can get CFEngine up and running in their own environment. All courses are given by a trainer who is a recognized CFEngine expert, community contributor and has received training certification from CFEngine AS. The course language is English.</p>
<h3>Interesting in participating?</h3>
<p>To sign up visit <a href="http://cfengine-training-brussels-february-2012-eorg.eventbrite.com/">http://cfengine-training-brussels-february-2012-eorg.eventbrite.com/</a> (payment by credit card or PayPal accepted), or email commercial AT normation.com to get an official quote or submit a purchase order.</p>
<h3>Any questions?</h3>
<p>Just ask us by email (contact AT normation.com), Twitter (<a href="http://twitter.com/Normation">@normation</a>) or IRC (#normation on FreeNode).</p>
<p>Looking forward to seeing you in Brussels!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.normation.com/2012/01/04/cfengine-training-course-in-brussels-1-2-3-february-before-fosdem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interactive key exchange with CFEngine</title>
		<link>http://blog.normation.com/2012/01/03/interactive-key-exchange-with-cfengine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=interactive-key-exchange-with-cfengine</link>
		<comments>http://blog.normation.com/2012/01/03/interactive-key-exchange-with-cfengine/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 18:24:21 +0000</pubDate>
		<dc:creator>Nicolas CHARLES</dc:creator>
				<category><![CDATA[CFEngine]]></category>
		<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[cf-runagent]]></category>
		<category><![CDATA[CFEngine3]]></category>
		<category><![CDATA[key exchange]]></category>

		<guid isPermaLink="false">http://blog.normation.com/?p=364</guid>
		<description><![CDATA[Here at Normation, we use CFEngine 3 extensively for configuration management across Linux and Windows servers. CFEngine 3 is a very secure tool, that relies on keys to identify hosts and authorize connections. To set up a secure CFEngine infrastructure, you ought to exchange keys between hosts (note that if you don&#8217;t have confidential data [...]]]></description>
			<content:encoded><![CDATA[<p>Here at Normation, we use <a href="http://www.cfengine.com">CFEngine 3</a> extensively for configuration management across Linux and Windows servers.</p>
<p>CFEngine 3 is a very secure tool, that relies on keys to identify hosts and authorize connections. To set up a secure CFEngine infrastructure, you ought to exchange keys between hosts (note that if you don&#8217;t have confidential data on your promises, you can skip the security offered by the public key system).</p>
<p><span id="more-364"></span></p>
<h2>Key exchange</h2>
<p>The client-server communication is based on keys (very much like ssl). Each node must have a copy of the other public keys, obtained either via a remote copy (with scp), by trusting keys automatically, or using the bootstrap system introduced in Cfengine 3.2.0 (that would still require the server to accept automatically keys).</p>
<p>If you don’t want to accept keys based on <em>automatic trust</em>, you need to manually exchange them to set up the system. This article will show you how to do this using the <em>cf-runagent</em> tool, by connecting to each host from the main CFEngine server.</p>
<p>Assume a server with the following ip : <strong>192.168.56.150</strong><br />
Assume a client with the following ip : <strong>192.168.56.152</strong></p>
<h3>Client side</h3>
<p>The initial promises on the client will need to configure the <em>cf-serverd</em> to run on it, and try to fetch its real promises from the policy server :<br />
<script type="text/javascript" src="https://gist.github.com/1058864.js?file=gistfile1.c"></script><br />
 <strong>Note</strong> that the client trusts keys from the server</p>
<h3>Server side</h3>
<p>On the server, you&#8217;d have the following promise for the server component, authorizing hosts to connect, but <strong>not</strong> trusting their keys<br />
<script type="text/javascript" src="https://gist.github.com/1058881.js?file=gistfile1.c"></script></p>
<p><strong>Note:</strong> only the server itself is accepted on trust, hosts from the subnetwork 192.168.56.* can connect but their keys are not automatically trusted, and their DNS name is not deemed as reliable.</p>
<h3>First execution (without prior key exchange)</h3>
<p>If the agent on the client tries to connect to the server, without previous key exchange, you&#8217;ll have the following output on the server :<br />
<script type="text/javascript" src="https://gist.github.com/1058916.js?file=gistfile1.txt"></script></p>
<p>To relieve the burden of copying keys with scp, or the risk of trusking keys of every hosts, you can do a manual key exchange, from the server, using the <strong>cf-runagent</strong> interactive mode</p>
<h3>Interactive key exchange</h3>
<p>The interactive key exchange will happen <strong>from</strong> the server <strong>to</strong> the client. It will ask for the user to trust the key, and execute the remote promises of the client (in this case, the initial promises fetch the real promises from the server)</p>
<p><script src="https://gist.github.com/1555650.js?file=gistfile1.txt"></script></p>
<p>Here we accepted the key of 192.168.56.152 on the server, and the client could connect to download its new promises, and then apply them</p>
<p><strong>Note:</strong> To prevent any risks, the new promises should not have 192.168.56.150 in the <em>trustkeyfrom</em></p>
<p><strong>Note 2:</strong> Since the <strong>version 3.2.0</strong>, if you are willing to automatically accept keys from the clients on the servers, you don&#8217;t need to copy any promises on the client, the bootstrap procedure from the <a href="http://cfengine.com/pages/nova">Nova</a> edition has been backported in the community edition; and it uses its own embedded promises</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.normation.com/2012/01/03/interactive-key-exchange-with-cfengine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

