mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-09 23:54:21 -07:00
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>
This commit is contained in:
parent
d24fc92466
commit
f6db0745fc
9 changed files with 434 additions and 288 deletions
|
@ -1,40 +1,55 @@
|
|||
---
|
||||
- name: 'Recreate "disk" file'
|
||||
command: 'dd if=/dev/zero of={{ image_file }} bs=1M count={{ fssize }}'
|
||||
community.general.filesize:
|
||||
path: '{{ image_file }}'
|
||||
size: '{{ fssize }}M'
|
||||
force: true
|
||||
|
||||
- name: 'Create a swap filesystem'
|
||||
command: 'mkswap {{ dev }}'
|
||||
- name: 'Create a minix filesystem'
|
||||
ansible.builtin.command:
|
||||
cmd: 'mkfs.minix {{ dev }}'
|
||||
|
||||
- command: 'blkid -c /dev/null -o value -s UUID {{ dev }}'
|
||||
- name: 'Get UUID of the new filesystem'
|
||||
ansible.builtin.command:
|
||||
cmd: 'blkid -c /dev/null -o value -s UUID {{ dev }}'
|
||||
changed_when: false
|
||||
register: uuid
|
||||
|
||||
- name: "Check that an existing filesystem (not handled by this module) isn't overwritten when force isn't used"
|
||||
filesystem:
|
||||
community.general.filesystem:
|
||||
dev: '{{ dev }}'
|
||||
fstype: '{{ fstype }}'
|
||||
register: fs_result
|
||||
ignore_errors: True
|
||||
|
||||
- command: 'blkid -c /dev/null -o value -s UUID {{ dev }}'
|
||||
- name: 'Get UUID of the filesystem'
|
||||
ansible.builtin.command:
|
||||
cmd: 'blkid -c /dev/null -o value -s UUID {{ dev }}'
|
||||
changed_when: false
|
||||
register: uuid2
|
||||
|
||||
- assert:
|
||||
- name: 'Assert that module failed and filesystem UUID is not changed'
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- 'fs_result is failed'
|
||||
- 'uuid.stdout == uuid2.stdout'
|
||||
|
||||
- name: "Check that an existing filesystem (not handled by this module) is overwritten when force is used"
|
||||
filesystem:
|
||||
community.general.filesystem:
|
||||
dev: '{{ dev }}'
|
||||
fstype: '{{ fstype }}'
|
||||
force: yes
|
||||
register: fs_result2
|
||||
|
||||
- command: 'blkid -c /dev/null -o value -s UUID {{ dev }}'
|
||||
- name: 'Get UUID of the new filesystem'
|
||||
ansible.builtin.command:
|
||||
cmd: 'blkid -c /dev/null -o value -s UUID {{ dev }}'
|
||||
changed_when: false
|
||||
register: uuid3
|
||||
|
||||
- assert:
|
||||
- name: 'Assert that module succeeded and filesystem UUID is changed'
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- 'fs_result2 is successful'
|
||||
- 'fs_result2 is success'
|
||||
- 'fs_result2 is changed'
|
||||
- 'uuid2.stdout != uuid3.stdout'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue