# VAGRANT: Mise en oeuvre {{INLINETOC}} ## Présentation **Vagrant** est un logiciel libre et open-source pour la création et la configuration des environnements de développement virtuel. Depuis la version 1.63,4, **Vagrant** fournit un support natif des conteneurs Docker à l'exécution, au lieu d'un système d'exploitation entièrement virtualisé. Cela permet de réduire les frais généraux puisque Docker utilise des conteneurs Linux légers. ## Description de l'environnement mis en oeuvre Depuis la version 1.1, **Vagrant** n'impose plus VirtualBox, mais fonctionne également avec d'autres logiciels de virtualisation tels que KVM/libvirt. Afin de permettre à **Vagrant** de contrôler et de pourvoir les machines à l'aide de Libvirt il faut installer : - Le fournisseur de service cloud: **fog** - Le greffon ajoutant un fournisseur Libvirt à Vagrant: **Vagrant-libvirt** # Installation de FOG **Fog** est la bibliothèque de services cloud de Ruby. * Les collections fournissent une interface simplifiée, permettant le travail et la manipulation dans le cloud. * Les requêtes permettent aux utilisateurs expérimentés de tirer le meilleur parti des fonctionnalités de chaque cloud. * Les mocks (objets simulés qui reproduisent le comportement d'objets réels) permettent de tester le comportement d'objets réel. ## Prérequis Pour faciliter l'installation des GEMS un dépôts RUBYGEMS doit être accessible depuis un serveur gem local [[vagrant:ruby-gem-local|serveur gem local]] ### Installer des rpms devel Afin de permettre la construction (build) de **fog** installer **libxml2-devel** et **libcurl-devel** ``` yum install libxml2-devel libcurl-devel -y ``` ### Basculer le préfixe ruby L'installation doit être opérée dans l'environnement **ruby** embarqué dans **chef** ``` eval "$(chef shell-init bash)" ``` ### Installer fog-core **Fog-core** nécessite Ruby 2.0.0 ou une version ultérieure. La prise en charge de Ruby 1.8 et 1.9 a été abandonnée dans fog-v2.0.0 en tant que modification rétrocompatible. Il faut utiliser les dernières versions de fog 1.x lorsqu'on a besoin du support 1.8.7 ou 1.9.x. Afin de satisfaire les dépendances installer les versions 2.1 e 1.45.0 de fog-core ``` gem install --clear-sources --source http://xx.xx.xxx.xxx:8808 fog-core -v 2.1 gem install --clear-sources --source http://xx.xx.xxx.xxx:8808 fog-core -v 1.45.0 ``` ## Installer fog ``` gem install --clear-sources --source http://xx.xx.xxx.xxx:8808 fog ``` # Installation et configuration de vagrant ## Télécharger et installer vagrant ``` wget https://releases.hashicorp.com/vagrant/2.0.3/vagrant_2.0.3_x86_64.rpm yum install vagrant_2.0.3_x86_64.rpm -y ``` ## Installer le plugin vagrant-libvirt ``` vagrant plugin install --plugin-clean-sources --plugin-source http://xx.xx.xxx.xxx:9292/ vagrant-libvirt --plugin-version="0.0.42" ```