Installation

The current page explains how to install an OpenBACH platform. For more details and advanced procedures (user manual debug information, etc.), please read the installation manual in the OpenBACH wiki.

Requirements

In order to build an OpenBACH platform, you need at least the following components:

  • A Controller
  • A Collector
  • An Auditorium
  • 1 or more Agents

The Controller, the collector and the auditorium might be installed in the same host (i.e. a machine/entity) or in separate hosts.

Install

The target machines shall:

  • be installed on Ubuntu 20.04 LTS (this restriction may be removed in the future for the agent component).
  • allow SSH connections.
  • have a 64 bits OS (only for the Collector).
  • have at least 2Gb of RAM (if Controller/Collector/Auditorium are in the same machine) and 512Mb for Agents.

The install of OpenBACH is performed via Ansible. Be aware that you need to learn some Ansible concepts to ease the following procedure.

The step-by-step installation is described below (this is just an example with basic configuration details, please go to installation manual for advanced informations):

  1. First you need to download the sources (it is recommended to get the master branch):

    • $ git clone --depth 1 https://github.com/CNES/openbach.git
  2. For SSH communication, (if it is not already done) you must add the Controller, the Collector, the Auditorium and the Agents to the ssh "known_hosts" file of the host from which you install OpenBACH:

    • $ ssh-keyscan -H *ip_address* >> ~/.ssh/known_hosts
  3. The machine from which you install OpenBACH requires Ansible (between version 2.10 and 2.10.5, as well as Python 3.8.5 or newer). Please refer to Ansible website to install Ansible.
  4. You might need to install sshpass/openssh.
  5. Before deploying OpenBACH to your target machines, you need to configure which component will be installed on which machine. Since the installation of OpenBACH is done through Ansible playbooks, this configuration uses their inventory files capabilities. Just create a file in the ansible/inventory folder of your sources and populate it with your installation instructions. We propose herein an example where Controller/Collector/Auditorium are installed in the same machine (indeed if Collector/Auditorium are not specified, they are installed with the Controller), and two Agents in separate machine (for advanced topologies go to installation manual):

    • [controller] 
      172.20.0.1 
      
      [agent]
      172.20.0.2
      172.20.0.3 
      
      [all:vars]
      ansible_python_interpreter=/usr/bin/python3
      
  6. Before the install, we highly recommend to test the connectivity (between machines) and the ssh/ansible configuration by means of an ansible ping. ssh_username is a username with sudo rights on the target machines, inventory/file is the path to the file you have created in the step above (use the option --private-key=*path_to_private_key* if you connect to the machines via a private_key):

    • $ ansible -i *inventory/file* -u *ssh_username* -k -K -m ping all
  7. You can install OpenBACH with the following command. For detailed options, go to installation manual (Use the option --private-key=*path_to_private_key* if you connect to the machines via a private_key):

    • $ ansible-playbook install.yml -u *ssh_username* -k -K
  8. Finally, You can go to http://your_controller_ip/ for OpenBACH