Vagrant et Ansible

Les configurations via Ansible doivent être testées et éprouvées. Et il est parfois délicat d’obtenir une infrastructure disponible. Personnellement, pour mes développements, mes essais, et mes premières validations, je provisionne des VMs Virtualbox sur mon laptop à l’aide de Vagrant. Le cas d’usage du lab’ nécessitant plusieurs VMs d’usage différent et donc de ressources variées a été présenté dans mon précédent article pour la partie provision. Voyons donc maintenant comment y intégrer Ansible en un exposé étape par étape.

Considérant que beaucoup de sites proposent des get started voire présentent en détails Ansible, je fais l’impasse pour rentrer dans le vif du sujet : Remplir son inventaire des arguments SSH, générer cet inventaire, et appliquer un playbook à cet inventaire, le tout en automatique à l’aide d’un seul vagrant up !

Continuer la lecture

Vagrant : ad hoc

Les configurations doivent être testées et éprouvées. Surtout quand c’est aussi aisé avec des outils de configuration management tels que Puppet, Ansible, ou SaltStack. Mais il est parfois délicat d’obtenir une infrastructure disponible. Personnellement, pour mes développements, mes essais, et mes premières validations, je provisionne des VMs Virtualbox sur mon laptop à l’aide de Vagrant.

Le cas d’usage du lab’ nécessitant plusieurs VMs d’usage différent et donc de ressources variées a été présenté dans mon précédent article pour la partie provision. Voyons donc maintenant comment se faciliter la vie côté réseau en un exposé étape par étape.

$ vagrant status
IP:           Ports:   Host:
192.168.10.10 22=>2210 kiwi.oloc
192.168.10.11 22=>2211 koala-01.oloc
192.168.10.12 22=>2212 koala-02.oloc

Current machine states:

kiwi     running (virtualbox)
koala-01 running (virtualbox)
koala-02 running (virtualbox)

Voyons comment en arriver à ce vagrant status répondant à notre besoin d’un lab’ complet aux VMs variées dans un réseau ad hoc

Continuer la lecture

Vagrant : Des provisions

Au-delà de la bonne pratique de versionner sa configuration infrastructure grâce au Vagrantfile, l’intérêt d’utiliser Vagrant est aussi de configurer plusieurs VMs à la fois. Le cas d’usage venant à l’esprit est le lab’ nécessitant plusieurs VMs d’usage différent et donc de ressources variées. Voyons donc ce cas pratique en un exposé étape par étape.

De bons tutoriaux vous exposeront l’installation et les premiers pas avec Virtualbox et Vagrant plus en détails. Je me permets d’être rapide. Dans un premier élan vous tentez un vagrant init qui -déception- ne fait que vous créer un Vagrantfile, le fameux que nous triturerons à souhait. Si vous lisez ce fichier de plus de 70 lignes en supprimant celles vides et les remarques (très instructives), vous obtenez bien peu de choses :

$ sed -e '/#/d' -e '/^$/d' Vagrantfile
Vagrant.configure(2) do |config|
  config.vm.box = "base"
end

Voyons comment l’étoffer pour répondre à notre besoin d’un complet lab’ aux VMs variées…

Continuer la lecture

Sécuriser l’opt n’est pas une option

En prenant soin de lire le FHS, on découvre que le répertoire /opt concerne les logiciels non inclus dans la distribution et installés manuellement pour tous les utilisateurs.. Dans la pratique on y trouve effectivement nombre d’outils et progiciels. Ce répertoire /opt est loin d’être anecdotique dans une exploitation, c’est même un des viviers principaux des processus tournant sur une machine ! Certes j’exagère…
Or de base la sécurisation de ce répertoire /opt est très strict avec pour propriétaire et groupe respectivement root et root. Et donc se pose la question des droits à appliquer pour l’ensemble de ces applications et outils exotiques. Doit-on « tout passer en root » !?

Surtout pas malheureux ! Repeindre ses répertoires en root est une très mauvaise idée, pour deux raisons principales. Une telle stratégie revient à uniformiser sa sécurisation, ce qui est déjà un premier mauvais point sur un sujet qui demande au contraire de la granularité. J’ose l’apostrophe : si le sticky bit a été inventé, ce n’est pas pour qu’on uniformise les propriétés !
Ensuite ça imposerait de faire appartenir au groupe root les comptes utilisateurs des installations dans le /opt, ce qui revient à entre-ouvrir la porte du chaos.

Voyons comment procéder…

Opt

Continuer la lecture

Fruité à coeur

Un pépin ? Compile le noyau ! Fortement résumé, c’est le résultat de mes recherches quant à la mise en oeuvre de ma carte WiFi Intel 7260. Le fond de l’histoire est que le noyau linux utilisé dans la dernière version stable wheezy de Debian est un kernel 3.2.0, et que c’est vieux dans un monde qui va vite et alors que le dernier stable kernel est en 3.16.3…

Allez, c’est parti pour compiler le noyau dans la dernière version longterm à l’heure actuelle disponible 3.14.19. Autant le dire dès le début, aucun impact sur l’actuelle configuration, puisque vous pourrez via grub démarrer sur l’ancien et le nouveau noyaux. Et après tout, la méthode est assez aisée. Alors que de prime abord, on a l’impression d’un long couloir technique sans fin où tout peut arriver…

Couloir

Continuer la lecture

L’apprenti sorcier

Ne maitrisant plus la situation, l’apprenti est dépassé par les événements. Le poème symphonique de Paul Dukas dont la création (première représentation) eu lieu le 18 mai 1897 à Paris, est bien connu. Sans doute plus grâce à une souris à 8 digits doigts, que par Der Zauberlehrling de Goethe.
Expérimentant l’automatisation d’installations, j’ai eu un geste malheureux. Sortez les violons… Mon disque est totalement nettoyé. Je dois tout réinstaller. Rien de bien sorcier.

Quand on bricole ses configurations, il est toujours important de sauvegarder ses données, vous le savez déjà vu le nombre de fois où vous l’avez lu, mais il est tout autant important de se préparer une petite clef USB de réinstallation sans les mains. Tout simplement parce que c’est si facile quand on a tout à disposition et si compliqué avec un disque vierge…
Afin d’éviter l’immobilisation perpétuelle d’une clef, je ne vais lui implanter l’installeur qu’à la demande. Et en démarche devops, j’ai créé un script qui fait le café, et cet article présente les grandes lignes d’une installation ex-nihilo à l’aide d’une simple clef USB, choix effectué en constatant que les lecteurs CD/DVD disparaissent des configurations matériel (qui a dit Raspberry ?). Ce simple passage en revue peut donner des idées ou des indications à tout un chacun.
Continuer la lecture

La petite graine – 2

Pour automatiser ses installations Debian, il faut savoir concevoir sa petite graine, preseed pour les anglophones. C’est ainsi que je commençais mon premier volet décortiquant partiellement la fameuse petite graine.
Depuis 2 mois, je vous laisse sur votre faim et pour cause ! Force est de constater que je ne sais pas encore comment parfaire ma pré-configuration. Le point d’achoppement est le partitionnement automatique, tout ce qui est partman…

A l’heure actuelle, même si j’ai encore des pistes de recherches et des tests à effectuer, je n’ai toujours pas de réponses satisfaisantes.
Voyons donc dans ce second volet, l’ensemble des recherches effectuées. Parce que savoir s’informer et chercher fait partie intégrante de la culture DevOps.

Continuer la lecture

grub rescue>

Fichtre ! Ce n’est pas le résultat escompté. On procède parfois à tâtons, avec trop d’assurance ou à brûle-pourpoint à des aménagements ou des installations. On reboot, et là paf ! On se retrouve face à un grub rescue> qui nous regarde droit dans les yeux. Et un frisson de nous parcourir l’échine.

Il ne faut pas se leurrer, quand on se retrouve dans cette situation c’est qu’on l’a provoquée. Ce sont nos dernières actions d’administrateur système plus ou moins averti qui portent leur fruit pourri. Cet article présente quelques grandes lignes pour se sortir de ce mauvais pas, avec des vrais morceaux de pédagogie dedans.

Continuer la lecture

La petite graine

Pour automatiser ses installations Debian, il faut savoir concevoir sa petite graine, preseed pour les anglophones. Cet article est le premier volet d’une série où je vais décortiquer celle que j’utilise afin d’aider par l’exemple celles et ceux qui voudrait se lancer dans le planter de petite graine.
Comme je l’ai déjà abordé dans mon précédent article De l’automatisation de l’installation et de la pré-configuration, cette petite graine sera stockée sur un serveur web quelconque. Et donc ce site convient très bien, vous la trouverez ici.

Comme vous pouvez le constater, pour ce genre de sujet que l’on étudie que ponctuellement, j’ai pour habitude de placer dans le cartouche les liens vers la documentation (un pour navigateur et l’autre pour wget). Ensuite les chapitres sont rappelés en remarque pour chaque section, pour être plus efficace dans ma maintenance. Enfin, tant que c’est chaud, je préfère placer des options désactivées, quitte à les activer ultérieurement. Il sera toujours plus aisé à transformer un false en true que d’avoir à retrouver l’option.

Découvrons la plus en détails…

Lire la suite…

La nature en ville

Continuer la lecture

Gangue de WiFi

Le grain de sable du micrologiciel de la carte WiFi ! Durant mon installation de Debian sur mon portable, j’ai rencontré le grain de sable du micrologiciel (firmware pour les anglophones). Le constat est simple ma carte wifi n’est pas pleinement prise en charge par Debian, mais nécessite une installation manuelle d’un module paliant le pilote propriétaire. Et de me dire que ça peut faire l’objet d’un petit article.

Lors de l’installation, un écran m’a demandé si je voulais installer le micrologiciel disponible sur un quelconque support CD-rom, clef USB ou sur disque dur. J’ai décliné cette proposition en vue de l’installer par Ethernet. La stratégie est simple : modifier sa liste de sources pour prendre en compte les contrib non-free, installer le package contenant le firmware palliatif, et recharger le module.

Continuer la lecture