REANA

Last updated 2020-11-25 for REANA 0.7.1

Documentation 🚧
How-Tos 🚧
Install guides
GUI
CLI
Demo ⚠️
Local install ⚠️
Cluster
Cloud ⚠️
Complex setup ️⚠️
Complex use ️⚠️
CWL version v1.0?

🚧 - Work-in-progress
✅ - Support
❌ - No support
⚠️ - Complicated

Overview

Related links:

REANA is a platform for running workflows. It features two main packages, one for a server and one for a client. The server provides a scheduler and nodes on which to run workflows.

REANA is a general workflow engine that can run both CWL and Yadage workflows, through an outer job submission in the form of a reana.yml file that combines the CWL workflow file with the input files and desired output locations.

Documentation

Documentation? Under construction

REANA previously had very thorough documentation on both installation of the software and using it for a workflow. However, at the time of writing this guide (2020-12) their documentation is undergoing a major overhaul and re-write, which has resulted in some areas to be lacking documentation - the titles are there but the content has not been re-written. We would hope that the documentation will return to normal soon, but we cannot guarentee this, nor know when this should happen.

How to guides

How to guides? Brief

Currently REANA has a very brief tutorial on how to submit and retrieve a workflow. There is enough information to get started, but the detailed tutorial has not been re-written yet.

Install guides

Install guides? Yes

There are two components to a REANA install: the command line client, and the server. Both installations have only a few steps required to install them.

The commandline client is available as a Python package. Installation is limited to a pip install with the need to export the servers url and an access token. It is recommended to use a Python virtualenv to ensure the REANA dependency versions do not clash with other Python applications installed.

The client communicates with a REANA server. The CLI documentation may assume you have access to an existing REANA install.

The server installation has two sets of instructions, one for a local install and one for a cluster (or at scale), both require Kubernetes. The cluster or “at scale” install is done using helm on an Kubernetes cluster - which means that it assumes the existence of a Kubernetes cluster.

The local install of REANA requires the use of minikube to create a local single machine Kubernetes cluster. REANA provide documentation on how to install and setup minikube to provide a REANA instance on a single node or machine.

Knowledge about installing Kubernetes and associated technologies are essential to manage a production instance of REANA. The REANA install guide recommends:

Features

GUI / Web interface

GUI? Yes

REANA includes a minimalist and clear GUI through a web browser. This can be used to view workflow history and status.

Command Line

CLI? Yes

REANA's preferred method for submitting and interacting with workflows is through the reana-client command line (which is written in Python and can be installed using the Python package manager pip). Documentation is provided on how to submit and interact with workflows. Additionally example workflows, and instructions on how to run them, are provided, allowing for better understanding of how the system works.

The REANA-Client explains the command line options.

Demo

Demonstration platform available? No

No demo is available, however the Hello world example provides a walk-through.

Some of the documentation assumes you have access to the https://reana.cern.ch/ instance hosted by CERN - installing the REANA server locally is a non-trivial task.

Environment

Single machine

Run on a single Machine? Local cluster

Whilst REANA is designed to work with a cluster, the developers document clearly how to configure it to work on a single machine using kubernetes. This does result in a lot of applications to install and the overhead of running these, but the process is quick and clear.

Cluster

Run on a Cluster? Yes (Kubernetes)

REANA is designed to work with a cluster to provide the computing power and storage. The preferred way of doing this is with a kubernetes cluster.

Cloud

Run on the Cloud? Indirectly

REANA does not have a native interface to deploy instances with AWS or other cloud providers, but Kubernetes clusters are frequently deployed on the cloud, and AWS supports Kubernetes, including the Amazon Elastic Kubernetes Service.

Installing

Is the install process complex? No

REANA is designed to be deployed on a Kubernetes cluster that is long-running with a fixed number of instances.

The documentation provides details of how to deploy a REANA cluster using helm. There is no “common problems” section. This maybe due to the simplicity of the install, or an oversight on the part of the development team - in which case, the documentation may improve as the re-write continues, but currently it is very sparse and assumes no install problems.