Role installs a ceph cluster using microceph
- Ansible >= 2.7
- Linux Distribution
- Debian Family
- Ubuntu
- Xenial (16.04)
- Bionic (18.04)
- Focal (20.04) (untested)
- Jammy (22.04) (untested)
- Ubuntu
- Arch Linux (untested)
- Debian Family
MIT
Some variables available in this role are listed here. The full set is
defined in [defaults/main.yml](defaults/main.yml)
.
microceph_version
: Version to utilize, defaults value islatest/edge
.microceph_cluster_nodes
: Hostgroup whose members will form ceph clustermicroceph_seed_node
: Node name that will be used to start cluster formationmicroceph_encrypt_data
: Encrypt all the data in the microceph drive at rest see : Full disk encryptionmicroceph_disk_devices
: List of all the devices the role should add as osds once the nodes join. Make sure they exist prior otherwise the playbook will skip.
- hosts: servers
roles:
- role: pitabwire.microceph
vars:
microceph_cluster_nodes: ceph_nodes
microceph_seed_node: ceph-node-1
microceph_encrypt_data: False
Additional nodes to the cluster can be added at any time. All nodes in the microceph_cluster_nodes
hostgroup
will run microceph cluster join <join token>
, more info on this can be found here: microceph join non primary node.
./moleculew lint
./moleculew create
./moleculew list
./moleculew check
./moleculew test
- Set up virtual environment
$ python3 -m venv venv
- Activate the environment
$ . venv/bin/activate
- Install Molecule with lint and Docker options
$ pip install molecule molecule-plugins[vagrant]
- Install up-to-date Ansible package if necessary
$ pip install ansible
- Run the test commands:
molecule lint
molecule create
molecule list
molecule check
molecule test