Objective

The following guide describes simple to follow steps on how to install the open-source automation engine Ansible on CentOS Linux.

Operating System and Software Versions

  • Operating System: - CentOS 7 Linux
  • Software: - Ansible 2.2 ( EPEL ) & Ansible 2.4 ( Source )

Requirements

Privileged access to your CentOS Linux system will be required to perform the Ansible installation.

Difficulty

MEDIUM

Conventions

  • # - requires given command to be executed with root privileges either directly as a root user or by use of sudo command
  • $ - given command to be executed as a regular non-privileged user

Instructions

Installation from EPEL repository

The easiest way to perform the Ansible installation on CentOS Linux is by using standard package repository and EPEL repository. The disadvantage is that most likely you will install outdated but stable Ansible version. First install enable EPEL repository by install the following package:
# yum install epel-release
Next, install ansible:
# yum install ansible
If installed correctly you should be able to use the ansible command to query its version number:
$ ansible --version
ansible 2.2.1.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

Installation from Source

The following paragraph describes the Ansible installation from source. Let's start by installation of all required prerequisites to perform Ansible compilation:
# yum install make git make gcc python-devel libffi-devel openssl-devel epel-release python-sphinx
Next, install python package manager:
# yum install python-pip 
At this stage we are ready to download the Ansible source code using git command:
$ git clone git://github.com/ansible/ansible.git
$ cd ansible
Optionally, selected your desired Ansible version using git checkout command. If no Ansible version is selected, you will be installing the latest Ansible version available. While in ansible directory, first list all available stable versions:
 $ git branch -a | grep stable
  remotes/origin/stable-1.9
  remotes/origin/stable-2.0
  remotes/origin/stable-2.0-network
  remotes/origin/stable-2.0.0.1
  remotes/origin/stable-2.1
  remotes/origin/stable-2.2
  remotes/origin/stable-2.3
Select desired version eg.:
$ git checkout stable-2.3
If all went well, now we are ready to perform the Ansible compilation and installation:

NOTE: Most likely the below compilation will be interrupted due to the outdated setuptools and pip versions. Refer to the appendix below on how to resolve this issues.
$ make
# make install
Test ansible installation by retrieving its version number:
$ ansible --version
ansible 2.4.0
  config file = 
  configured module search path = Default w/o overrides
  python version = 2.7.5 (default, Nov  6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]

Appendix

error: Installed distribution setuptools 0.9.8 conflicts with requirement setuptools>=11.3
Update your setuptools using the below command:
# pip install --upgrade setuptools

You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
As suggested above, run the following command to update python package manager:
# pip install --upgrade pip