Dependencies
This section describes the required dependencies to deploy DISCOS.
The deployment procedure is based on Ansible and is designed to configure a set of target machines. These machines can be:
physical machines
virtual machines
Docker containers
The same procedure is applied in all cases.
Mandatory dependencies
The following tools are always required:
Install Git
Before installing Git, verify if it is already available:
$ git --version
If the command fails, install Git following the instructions at the official Git website.
Install Python 3
Verify that Python 3 is installed:
$ python --version
If your system provides an older version of Python, consider installing a dedicated Python environment such as:
Pyenv with Virtualenv
Install Ansible
Ansible is the core tool used to configure the target machines.
You can install it using pip:
$ pip install ansible
Alternatively, you can install it using your system package manager.
Execution environments
The deployment procedure can be applied to different types of environments. Depending on the chosen target, additional tools may be required.
Docker containers (recommended for development)
Docker is the recommended way to create development environments.
It allows you to quickly provision disposable systems that behave like real machines, while reusing the same Ansible configuration used for physical deployments.
Install Docker:
$ sudo apt install docker.io
$ sudo usermod -aG docker $USER
After installation, log out and log back in to apply group changes.
Verify the installation:
$ docker --version
Virtual machines
Virtual machines can be used as an alternative to Docker containers, or when a full system emulation is required.
To use them, install:
Install VirtualBox:
$ which virtualbox
If not installed, download it from the VirtualBox official website.
Install Vagrant:
$ vagrant --version
If not installed, download it from the Vagrant install page.
Physical machines
No additional software is required to deploy on physical machines.
You only need:
network connectivity
SSH access from the control host
Summary
Git, Python 3 and Ansible are always required
The deployment procedure targets machines via Ansible
Docker and virtual machines are optional tools to create such machines
Physical machines are supported out of the box
Once all dependencies are installed, proceed to the Quick start section.