Fitzdsl Blog : Comment utiliser le nouveau virsh provider de Foreman 1.4
dimanche 19 janvier 2014 à 15:30Ce 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.
Ce post est largement inspiré de la documentation de Foreman 1.4.
Configuration de la Libvirt
La première chose à faire est de configurer un réseau persistent à la libvirt.
Créez un fichier nommé net-defintion.xml. Vous pouvez bien sur changer le nom du réseau, les ranges d’IP, le nom du domaine, etc ..
$ cat net-defintion.xmldefault 16b7b280-7462-428c-a65c-5753b84c7545
Vous devez ensuite créer et démarrer le réseau par la libvirt:
# virsh net-define --file net-definition.xml # virsh net-start default
Ensuite nous devons configurer le répertoire qui va servir les fichiers TFTP. Les commandes ci-dessous viennent tout droit de la documentation de Foreman pour Fedora :
mkdir -p /var/tftproot/{boot,pxelinux.cfg} yum -y install syslinux cp /usr/share/syslinux/{pxelinux.0,menu.c32,chain.c32} /var/tftproot chgrp -R nobody /var/tftproot find /var/tftproot/ -type d | xargs chmod g+s
Configuration du smart-Proxy
Vous devez avoir un smart-proxy qui tourne en local sur votre machine. Celui-ci va prendre en charge TFTP, DNS and DHCP.
Il faut maintenant configurer celui pour utiliser le nouveau provider :
:tftp: true :tftproot: /var/tftproot :tftp_servername: 192.168.122.1 :dns: true :dns_provider: virsh :dhcp: true :dhcp_vendor: virsh :virsh_network: default
Vérifiez que votre smart-proxy a les droits sudo suivants:
Defaults !requiretty foreman-proxy ALL=/usr/bin/virsh
Configuration de Foreman
Vous devez d’abord créer le smart-proxy (ou raffraichir ses features si il existait déjà):
Dans Infrastructure:
New proxy : http://localhost:8443
Vous devez ensuite créer un nouveau domaine et sous-réseau:
- Créez un nouveau domaine et nommez le de manière à ce qu’il match le « domain name » du fichier net-defintion.xml.
- Créez un nouveau sous-réseau ayant les mêmes valeurs que le fichier net-definition.xml
Dans mon cas:
Name: Home Network address: 192.168.122.0 Netmask: 255.255.255.0 Start IP Range: 192.168.122.2 Stop IP Range: 192.168.122.255
- Dans l’onglet « Domains », cochez le domaine que vous venez de créer.
- Dans l’onglet « Proxies », selectionnez le proxy local pour DHCP, TFTP and DNS.
Créer une nouvelle VM
Lorsque vous allez créer une nouvelle VM, prennez soin de sélectionner dans l’onglet « Virtual Machine »:
- Network Type => Virtual (NAT)
- Network => « default »
Vous savez maintenant créer un environement complet de provisioning avec Foreman. La seule fonctionalité manquante est le que PTR record n’est pas créé.
Un grand merci à Lukas (@lzap) qui à implémenté cette super fonctionnalité !
Original post of Fitzdsl Blog.Votez pour ce billet sur Planet Libre.
Articles similaires
- Fitzdsl Blog : Déploiement automatisé et sans effort d’un webserver avec Foreman (19/06/2012)
- Fitzdsl Blog : Faites tourner vos foreman-proxy avec passenger (07/03/2013)
- Fitzdsl Blog : Intégration Puppet, Foreman et Mcollective (08/07/2013)
- Fitzdsl Blog : Contrôlez l’alimentation de vos serveurs avec Foreman (19/07/2013)
- Fitzdsl Blog : Vérifiez le run de vos Puppet avec Foreman et Nagios (21/03/2012)