Installation Ansible

Ce document se fonde sur la page officielle Ansible Installation Guide

1 Installation via PIP

Centos

sudo easy_install pip
sudo pip install ansible

Debian/Ubuntu

sudo apt update
sudo apt -y install python-pip
sudo pip install --upgrade pip
sudo pip install ansible
sudo apt -y install sshpass

En supplément si vous rencontrez cette erreur à l’installation d’Ansible paramiko 2.4.2 has requirement cryptography>=1.5, but you'll have cryptography 1.2.3 which is incompatible. :

pip uninstall -y cryptography
pip install 'cryptography>=1.5'
pip uninstall -y pyopenssl
pip install pyopenssl
apt -y remove --purge python-openssl
apt -y install python-openssl

2. Fedora

sudo dnf install ansible

3. RHEL et CentOS

sudo yum install ansible

Les fichiers RPMs pour RHEL 7 sont disponibles dans le repository Ansible Engine. Pour l’activer :

sudo subscription-manager repos --enable rhel-7-server-ansible-2.6-rpms

Ansible version 2.4 et ultérieure peut gérer des systèmes d’exploitation plus récents qui disposent de Python 2.6 et plus.

Pour construire le RPM à partir des sources et l’installer :

git clone https://github.com/ansible/ansible.git
cd ./ansible
make rpm
sudo rpm -Uvh ./rpm-build/ansible-*.noarch.rpm

4. Dernières versions via Apt (Ubuntu)

Les binaires pour sont disponibles en PPA ici.

Pour configurer PPA et installer ansible :

sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible

Note : Dans les anciennes versions Ubuntu, “software-properties-common” est appelé “python-software-properties”.

Les paquets Debian/Ubuntu packages peut être construits par les sources :

make deb

5. Dernières versions via Apt (Debian)

La procédure Debian est indentique à celle Ubuntu PPA.

Ajouter cette ligne au fichier /etc/apt/sources.list :

deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main

Exécuter les commandes :

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
sudo apt-get update
sudo apt-get install ansible

Note : Cette méthode a été vérifiée avec des sources Trusty sources en Debian Jessie et Stretch mais pourrait ne pas être supportée dans les versions plus récentes.

6. Windows 10 Pro WSL

Avec une version Windows 10 Pro, il est possible d’utiliser de commander Ansible avec WSL, voir Can Ansible run on Windows? :

Il n’est pas possible de faire fonctionner Ansible sur un hôte Windows alors qu’il peut le gérer. Mais Ansible peut être exécuté sous Windows Subsystem for Linux (WSL). Notons que WSL n’est pas supporté par Microsoft ou Ansible; il ne devrait pas être utilisé sur des systèmes en production.

Pour installer Ansible sur WSL, il est nécessaire d’exécuter ces commandes dans un terminal bash :

sudo apt-get update
sudo apt-get install python-pip git libffi-dev libssl-dev -y
pip install ansible pywinrm

Pour exécuter Ansible à partir des sources plutôt qu’une version pour WSL, il faut désinstaller la version présente de pip et puis cloner le repo git.

pip uninstall ansible -y
git clone https://github.com/ansible/ansible.git
source ansible/hacking/env-setup

# to enable Ansible on login, run the following
echo ". ~/ansible/hacking/env-setup -q' >> ~/.bashrc

7. Installation à partir des sources

(Ubuntu 16.04) :

apt-update
apt -y install python-setuptools git
easy_install pip
cd /usr/src/
git clone https://github.com/ansible/ansible.git --recursive
cd ./ansible
source ./hacking/env-setup
pip install -r ./requirements.txt

Centos 7 :

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
yum -y install git
cd /usr/src/
git clone https://github.com/ansible/ansible.git --recursive
cd ./ansible
source ./hacking/env-setup
pip install -r ./requirements.txt

Si vous connaissez une erreur Python de type AttributeError: 'module' object has no attribute 'SSL_ST_INIT', il sera nécessaire de réinstaller pyOpenSSL :

sudo python -m easy_install --upgrade pyOpenSSL

8. Script d’installation automatique

Script d’installation automatique pour Centos ou Ubuntu.

curl -L https://git.io/fjWan -o install-ansible.sh && bash -x install-ansible.sh