design

OMERO component Ansible roles

This is a proposal for replacing the existing omero-server Ansible role with a set of omero component roles to allow the installation of decoupled OMERO components, initially server and web.

Rationale

The existing omero-server Ansible role handles most of the steps for setting up OMERO.server, with the exception of dependencies which are installed by other roles. This includes installing and configuring both OMERO.server and OMERO.web, and although OMERO.web can be disabled it is not possible to install OMERO.web only.

Further more this role bundles omego which could potentially be used independently of this role. In addition Ansible 2.2 has a bug which means omego is installed into the wrong virtualenv, breaking the role.

Proposal

Split omero-server into multiple Ansible roles:

omero-common

omero-omego

omero-server

omero-web

Changes required to external components

omego

Existing playbooks

Main benefits