1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/tests/integration/targets/filesystem/tasks/create_device.yml
quidame f6db0745fc
filesystem: revamp module (#2472)
* revamp filesystem module to prepare next steps

* pass all commands to module.run_command() as lists
* refactor grow() and grow_cmd() to not need to override them so much
* refactor all existing get_fs_size() overrides to raise a ValueError if
  not able to parse command output and return an integer.
* override MKFS_FORCE_FLAGS the same way for all fstypes that require it
* improve documentation of limitations of the module regarding FreeBSD
* fix indentation in DOCUMENTATION
* add/update function/method docstrings
* fix pylint hints

filesystem: refactor integration tests

* Include *reiserfs* and *swap* in tests.
* Fix reiserfs related code and tests accordingly.
* Replace "other fs" (unhandled by this module), from *swap* to *minix*
  (both mkswap and mkfs.minix being provided by util-linux).
* Replace *dd* commands by *filesize* dedicated module.
* Use FQCNs and name the tasks.
* Update main tests conditionals.

* add a changelog fragment

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* declare variables as lists when lists are needed

* fix construction without useless conversion

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-05-18 06:46:45 +02:00

39 lines
1,017 B
YAML

---
- name: 'Create a "disk" file'
community.general.filesize:
path: '{{ image_file }}'
size: '{{ fssize }}M'
force: true
- vars:
dev: '{{ image_file }}'
block:
- when: fstype == 'lvm'
block:
- name: 'Create a loop device for LVM'
ansible.builtin.command:
cmd: 'losetup --show -f {{ dev }}'
register: loop_device_cmd
- name: 'Switch to loop device target for further tasks'
ansible.builtin.set_fact:
dev: "{{ loop_device_cmd.stdout }}"
- include_tasks: '{{ action }}.yml'
always:
- name: 'Detach loop device used for LVM'
ansible.builtin.command:
cmd: 'losetup -d {{ dev }}'
removes: '{{ dev }}'
when: fstype == 'lvm'
- name: 'Clean correct device for LVM'
ansible.builtin.set_fact:
dev: '{{ image_file }}'
when: fstype == 'lvm'
- name: 'Remove disk image file'
ansible.builtin.file:
name: '{{ image_file }}'
state: absent