THIS ROLE HAS BEEN ARCHIVED AS OF DEC 2023.
Install stratis and carves pools and filesystems.
GitHub | GitLab | Downloads | Version |
---|---|---|---|
This example is taken from molecule/default/converge.yml
and is tested on each push, pull request and release.
---
- name: Converge
hosts: all
become: yes
gather_facts: yes
roles:
- role: robertdebock.stratis
# It's not easy to test block-devices in CI. That's why the next block
# of variables is commented, but left here as an example.
# stratis_pools:
# - name: my_pool
# devices:
# - /dev/vdb
# - /dev/vdc
# stratis_filesystems:
# - name: my_filesystem
# pool: my_pool
# stratis_mounts:
# - mountpoint: /mnt/my_mountpoint
# device: /stratis/my_pool/my_filesystem
The machine needs to be prepared. In CI this is done using molecule/default/prepare.yml
:
---
- name: Prepare
hosts: all
become: yes
gather_facts: no
vars:
devices:
- name: vdc
major: 252
minor: 2
- name: vdd
major: 252
minor: 3
roles:
- role: robertdebock.bootstrap
tasks:
- name: Create storage file
ansible.builtin.command: dd if=/dev/zero of=/{{ item.name }} bs=1M count=1K
args:
creates: "/{{ item.name }}"
loop: "{{ devices }}"
notify:
- Create loopback device
- Loopback device to storage file
loop_control:
label: "/{{ item.name }}"
handlers:
- name: Create loopback device
ansible.builtin.command:
cmd: mknod /dev/{{ item.name }} b {{ item.major }} {{ item.minor }}
loop: "{{ devices }}"
loop_control:
label: "/dev/{{ item.name }}"
changed_when: no
- name: Loopback device to storage file
ansible.builtin.command:
cmd: losetup /dev/{{ item.name }} /{{ item.name }}
loop: "{{ devices }}"
failed_when: no
loop_control:
label: "/dev/{{ item.name }} to /{{ item.name }}"
changed_when: no
Also see a full explanation and example on how to use these roles.
- pip packages listed in requirements.txt.
The following roles are used to prepare a system. You can prepare your system in another way.
Requirement | GitHub | GitLab |
---|---|---|
robertdebock.bootstrap |
This role is a part of many compatible roles. Have a look at the documentation of these roles for further information.
Here is an overview of related roles:
This role has been tested on these container images:
container | tags |
---|---|
EL | 8, 9 |
The minimum version of Ansible required is 2.12, tests have been done to:
- The previous version.
- The current version.
- The development version.
If you find issues, please register them in GitHub.
Please consider sponsoring me.