Setup

Supported distros

Currently supported distros are:

  • Fedora 22, 23, 24, 25
  • RHEL 7.2 (best effort, deprecated)
  • RHEL 7.3

Warning

Python 2.7 and virtualenv are required.

Prerequisites

Warning

sudo or root access is needed to install prerequisites!

General requirements:

sudo yum install git gcc libffi-devel openssl-devel

Note

Dependencies explained:

  • git - version control of this project
  • gcc - used for compilation of C backends for various libraries
  • libffi-devel - required by cffi
  • openssl-devel - required by cryptography

Closed Virtualenv is required to create clean python environment separated from system:

sudo yum install python-virtualenv

Ansible requires python binding for SELinux:

sudo yum install libselinux-python

otherwise it won’t be able to run modules with copy/file/template functions!

Note

libselinux-python is in Prerequisites but doesn’t have a pip package. It must be installed on system level.

Note

Ansible requires also libselinux-python installed on all nodes using copy/file/template functions. Without this step all such tasks will fail!

Virtualenv

infrared shares dependencies with other OpenStack products and projects. Therefore there’s a high probability of conflicts with python dependencies, which would result either with infrared failure, or worse, with breaking dependencies for other OpenStack products. When working from source, virtualenv usage is recommended for avoiding corrupting of system packages:

virtualenv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install --upgrade setuptools

Warning

Use of latest ``pip`` is mandatory, especially on RHEL platform!

Note

On Fedora 23 with EPEL repository enabled, RHBZ#1103566 also requires

dnf install redhat-rpm-config

Installation

Clone stable branch from Github repository:

git clone https://github.com/redhat-openstack/infrared.git

Install infrared from source:

cd infrared
pip install .

Note

For development work it’s better to install in editable mode and work with master branch:

pip install -e .