Comment utiliser le nouveau virsh provider de Foreman 1.4

Ce matin j’ai décidé de tester une nouvelle fonctionalité de Foreman 1.4 : le nouveau DHCP, DNS et TFTP provider : virsh.
Virsh provider permet de manager via la Libvirt les réseaux virtuels (via dnsmasq) pour du test ou du dévelopement en local. Cela permet d’avoir un workflow complet de provisioning sans avoir à installer bind, tftpd et dhcpd. Lire la suite

Utiliser PKGNG sous FreeBSD avec Puppet

Voici la procédure que j’ai appliquée pour utiliser le nouveau package manager de FreeBSD.
Cette méthode a été testée sur une Jail en FreeBSD 8.3 avec puppet 3.2. Lire la suite

Sortie de Foreman 1.3

Quoi de neuf dans cette nouvelle version ?

Foreman 1.3 vient d’être releasé par la Core Team, regardons les nouveautés qu’apporte cette nouvelle version : Lire la suite

Nouveau webservice pour gérer les downtimes de supervision avec Livestatus

Suite à mon précédent article sur la supervision distribuée, j’ai du mettre à jour ma méthode pour gérer les downtimes de Nagios que j’avais expliqué dans cet article.
J’ai donc complètement réécris ce webservice en python en me reposant sur Livestatus. Les source du script sont sur Github.
Ce script supporte donc d’avoir plusieurs démons Livestatus sur différents serveurs.
L’utilisation est relativement similaire à l’ancien, il faut faire un HTTP GET sur une URL en passant des arguments.
Le format de la requête est le suivant : Lire la suite

Contrôlez l’alimentation de vos serveurs avec Foreman

La gestion de l’alimentation de vos serveurs est une nouveauté apportée par la version 1.2. il vous faudra avoir installé au préalable (Foreman et smart-proxy) à la dernière version stable.
Vous pouvez grâce à celle-ci allumer, éteindre ou rebooter vos serveurs physique directement depuis l’interface web ou via l’API REST grâce à l’IPMI.
Ceci à été testé sur des serveurs DELL en configurant le DRAC. Lire la suite

Supervision distribuée avec Nagios et Puppet

Historiquement j’utilisais un seul server Nagios3 pour superviser ma production dont la configuration était
complètement générée par Puppet avec Naginator.
Cette solution bien que contraignante (difficulté à gérer les seuils spécifiques d’alerte par exemple,
appliances non puppetisée, etc ..) est vraiment puissante et me permets de ne jamais me soucier de la configuration du monitoring :
je suis sur à tout moment que tous les serveurs dans mon environnement de production sont monitorés
et que chaque service définis dans Puppet à les services Nagios associés.
Cependant mes besoins ont évolués et j’ai commencé à avoir des problématiques de monitoring distribué assez classique :
4 datacenters répartis entre l’Europe et les USA, des problèmes récurrents de réseau
qui provoquaient de nombreux faux-positifs et un ras le bol de mails trop intempestifs.
Je n’avais pas de soucis particuliers de performances : j’ai moins de 200 hosts et 2000 services. Lire la suite

Accélérez Foreman avec memcached

J’ai beau avoir Foreman qui tourne avec des versions récentes d’apache et passenger,
la vitesse n’est pas la principale qualité de cette application.
J’ai testé récemment un plugin écrit par Ohad Levy qui rajoute le support de Memcache à Foreman.
Le repo sur github est à cette adresse.
Je l’ai installé sans soucis en production sur mes Foreman 1.2, voici la marche à suivre : Lire la suite

Intégration Puppet, Foreman et Mcollective

Depuis que nous avons déployé Foreman en production, nous n’avions jamais pu
utiliser le bouton ‘Run Puppet’ dans l’interface de Foreman car nous n’avons
pas de daemon puppet : il tourne en crontab. Lire la suite

Faites tourner vos foreman-proxy avec passenger

J’ai récemment décidé de remplacer le démon Webrick utilisé habituellement par Foreman-Proxy
par Apache 2.4 et Passenger pour des question principalement d’industrialisation.
Comme nous allons le voir le setup est assez simple.
Je pars du principe que vous avez déjà installé apache et passenger (pour Foreman, Puppetmasterd, etc ..). Lire la suite

Générer avec Puppet des certificat SSL avec des « Alternative Name »

J’avais besoins de cette fonctionnalité pour mettre en place la communication SSL entre mes deux serveurs Foreman et ses proxies.
Mon problème étant que mes serveurs Foreman sont utilisé en faillover (avec une VIP) avec un DNS généric et non pas en utilisant leur FQDN.
Ceci provoquait un problème avec le certificat puppet utilisé car l’adresse ne correspondait pas au CN exposé.
J’ai donc mis en place un certificat puppet dont le CN est le FQDN (ex:foreman1.example.com) de la machine et qui comprend en plus comme
‘Subject Alternative Name’ le nom du faillover utilisé (ex:foreman.example.com). Lire la suite