Files
kolla/roles/configure-ephemeral/tasks/main.yml
Michal Nasiadka b0c98b0987 CI: Stop using LABEL for ephemeral0
For some reason it doesn't work in raxflex, i.e. the created filesystems
label is not seen.

Change-Id: I9c805b866ee359d2da150438ca78be25b1462988
(cherry picked from commit a6a15966aa)
2024-12-10 07:13:40 +00:00

70 lines
2.0 KiB
YAML

---
# On RAX hosts, we have a small root partition and a large,
# unallocated ephemeral device attached at /dev/xvde
- name: Set ephemeral device if /dev/xvde exists
when: ansible_devices["xvde"] is defined
set_fact:
ephemeral_device: "/dev/xvde"
# On other providers, we have a device called "ephemeral0".
- name: Set ephemeral device by label
when: ephemeral_device is undefined
block:
- name: Get ephemeral0 device node
command: /sbin/blkid -L ephemeral0
register: ephemeral0
# rc !=0 is expected
failed_when: False
changed_when: False
- name: Set ephemeral device if LABEL exists
when: "ephemeral0.rc == 0"
set_fact:
ephemeral_device: "{{ ephemeral0.stdout }}"
- name: Configure additional disk (if available)
become: true
when: ephemeral_device is defined
block:
- name: Ensure ephemeral device is unmounted
ansible.posix.mount:
name: "{{ ephemeral_device }}"
state: "{{ item }}"
loop:
- unmounted
- absent
- name: Get existing partitions
community.general.parted:
device: "{{ ephemeral_device }}"
unit: MiB
state: info
register: ephemeral_partitions
- name: Remove any existing partitions
community.general.parted:
device: "{{ ephemeral_device }}"
number: "{{ item.num }}"
state: absent
loop: "{{ ephemeral_partitions.partitions }}"
- name: Create filesystem on additional disk
community.general.filesystem:
fstype: ext4
dev: "{{ ephemeral_device }}"
- name: "Ensure {{ configure_ephemeral_mountpoint }} mountpoint is created"
ansible.builtin.file:
path: "{{ configure_ephemeral_mountpoint }}"
owner: root
group: root
state: directory
mode: 0755
- name: Mount additional filesystem
ansible.posix.mount:
path: "{{ configure_ephemeral_mountpoint }}"
src: "{{ ephemeral_device }}"
fstype: ext4
state: mounted