Skip to content
This repository has been archived by the owner on Dec 22, 2023. It is now read-only.

Latest commit

 

History

History
137 lines (102 loc) · 4.87 KB

README.md

File metadata and controls

137 lines (102 loc) · 4.87 KB

THIS ROLE HAS BEEN ARCHIVED AS OF DEC 2023.

Install stratis and carves pools and filesystems.

GitHub GitLab Downloads Version
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.

The following roles are used to prepare a system. You can prepare your system in another way.

Requirement GitHub GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab

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: dependencies

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.

Apache-2.0.

robertdebock

Please consider sponsoring me.