ceph-ansible-copilot

Guided text based installation UI, that runs ceph-ansible. The goal of the project is to provide a UI over the top of the complexity of ceph-ansible. Users new to Ceph may then interact with the UI to build their first Ceph cluster instead of first building up their Ansible knowledge.

Project Status

Does it work? Well in my testing, the short answer is YES but it needs a heap more testing on more varied configurations!

The UI elements are all in place, as is the Ansible playbook integration and updates of the Ansible yml files.

What does it look like?

Here's an example run that illustrates the workflow for a small cluster of 3 nodes.

copilot in action

A more detailed demo can be found on my blog and there are some screenshots showing the welcome page across the major distros in the screenshots folder.

Features

0.9.5

0.9.2

0.9.1

How do I install and run it?

Requirements

For 2.4.x of Ansible you may need to enable additional repositories depending on your distribution.

Notes

  1. All testing has been done against CentOS7
  2. 'copilot' is tied to the Ansible 2.4.x python API. Attempting to use an older version of Ansible will fail.

Installation process

  1. download the archive to your ansible server
  2. extract the archive and 'cd' to it
  3. run the setup program
    > python setup.py install --record files.txt  
  4. to run copilot
    > cd /usr/share/ceph-ansible  
    > copilot

Notes.

What's next?

Here's some ideas on how copilot could evolve;

  1. support non-root user Installation
  2. support iSCSI gateways role
  3. post install configuration..what about enabling add-on pages through plugins for radosgw config for example.
  4. add more debug information to improve support (e.g. ansible messages, host information)

Longer term...

Crystal ball gazing - why not take this workflow to a cockpit plugin to provide a web frontend to the ceph-ansible installation process? Now that would be cool!