Je voulais initialement mettre au point une VM modèle que je pourrais cloner pour servir de base à une machine paramétrable avec Ansible. La mise au point de la VM passse par l’installation de l’OS et cette phase vait aussi pour une machine physique. Comme l’informatique est la science de ceux qui n’aiment pas se répéter, je me lance donc sur le sujet d’automatisation d’une installation.
Preseed
Le processus d’installation d’un système Debian peut peut-être automatisé par un fichier preseed.cfg qui contient les réponses aux questions de l’installateur. La mise au point de ce fichier merite l’utilisation de l’intégration continue qui consistera à :
- rappatrier une ISO de debian en version stable
- extraire l’ISO
- ajouter le preseed
- recréer l’ISO
- demarrer une VM sur l’ISO
- vérifier que le système installé répond à l’attente
- déployer l’ISO pour utilisation future.
Gitlab-runner et libvirt
Le principe est séduisant mais il faut que je trouve comment depuis un gitlab-runner lancer une VM. Cette VM devra être créée from scrach pour bien reproduire le cas d’utilisation de l’ISO custom. J’entrevois déjà des questions nouvelles dans la coneption de la solution: idealement le test devrait se faire dans un conteneur mais la mise sous docker sera impossible car le conteneur partage les librairies systèmes (noyau) de l’hôte. Donc le seul moyen d’isoler le test création/installation de VM serait de le faire sur un hôte dédié: une VM avec gitlab-runner et libvirt afin de créer des VM !
Affaire à suivre….
Tags: debian Docker Gitlab libvirt preseed
Comments