From 2e5c62c31c89d0e992c640576f3b184903c6bf65 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Tue, 14 Oct 2025 09:19:17 +0200 Subject: CI: Rework setup_disks.sh into Ansible role Change-Id: Icd8648399a7d0a74419c80d573792397f971ff3c Signed-off-by: Michal Nasiadka --- roles/kolla-ansible-setup-disks/README.rst | 15 +++++++++ roles/kolla-ansible-setup-disks/tasks/main.yml | 42 ++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 roles/kolla-ansible-setup-disks/README.rst create mode 100644 roles/kolla-ansible-setup-disks/tasks/main.yml (limited to 'roles') diff --git a/roles/kolla-ansible-setup-disks/README.rst b/roles/kolla-ansible-setup-disks/README.rst new file mode 100644 index 000000000..90bb4e92c --- /dev/null +++ b/roles/kolla-ansible-setup-disks/README.rst @@ -0,0 +1,15 @@ +Prepare disks for Kolla-Ansible CI run. + +**Role Variables** + +.. zuul:rolevar:: kolla_ansible_setup_disks_filepath + + Path to allocated file passed to loopmount + +.. zuul:rolevar:: kolla_ansible_setup_disks_lv_name + + Logical volume name to create (skipped if not set) + +.. zuul:rolevar:: kolla_ansible_setup_disks_vg_name + + Volume group name to create diff --git a/roles/kolla-ansible-setup-disks/tasks/main.yml b/roles/kolla-ansible-setup-disks/tasks/main.yml new file mode 100644 index 000000000..e4e25f736 --- /dev/null +++ b/roles/kolla-ansible-setup-disks/tasks/main.yml @@ -0,0 +1,42 @@ +--- +- name: Check if kolla_ansible_setup_disks_file_path is set + ansible.builtin.assert: + that: kolla_ansible_setup_disks_file_path is defined + +- name: Check if kolla_ansible_setup_disks_vg_name is set + ansible.builtin.assert: + that: kolla_ansible_setup_disks_vg_name is defined + +- name: Allocate file for disk backing + become: true + community.general.filesize: + path: "{{ kolla_ansible_setup_disks_file_path }}" + size: "{{ kolla_ansible_setup_disks_file_size | default('5G') }}" + +- name: Get free loop device + become: true + ansible.builtin.shell: + cmd: "losetup -f" + register: _loop_device + +- name: Mount file on loop device + become: true + ansible.builtin.shell: + cmd: > + losetup {{ _loop_device.stdout }} + {{ kolla_ansible_setup_disks_file_path }} + +- name: Create LVM extents on loop device + become: true + community.general.lvg: + vg: "{{ kolla_ansible_setup_disks_vg_name }}" + pvs: "{{ _loop_device.stdout }}" + +- name: Create LV + become: true + community.general.lvol: + vg: "{{ kolla_ansible_setup_disks_vg_name }}" + lv: "{{ kolla_ansible_setup_disks_lv_name }}" + size: "100%FREE" + when: + - kolla_ansible_setup_disks_lv_name is defined -- cgit v1.2.3