mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
d43764da79
* 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>
(cherry picked from commit f6db0745fc
)
Co-authored-by: quidame <quidame@poivron.org>
98 lines
2.4 KiB
YAML
98 lines
2.4 KiB
YAML
---
|
|
# We assume 'create_fs' tests have passed.
|
|
|
|
- name: "Create filesystem"
|
|
community.general.filesystem:
|
|
dev: '{{ dev }}'
|
|
fstype: '{{ fstype }}'
|
|
|
|
- name: "Get filesystem UUID with 'blkid'"
|
|
ansible.builtin.command:
|
|
cmd: 'blkid -c /dev/null -o value -s UUID {{ dev }}'
|
|
changed_when: false
|
|
register: blkid_ref
|
|
|
|
- name: "Assert that a filesystem exists on top of the device"
|
|
ansible.builtin.assert:
|
|
that:
|
|
- blkid_ref.stdout | length > 0
|
|
|
|
|
|
# Test check_mode first
|
|
- name: "Remove filesystem (check mode)"
|
|
community.general.filesystem:
|
|
dev: '{{ dev }}'
|
|
state: absent
|
|
register: wipefs
|
|
check_mode: yes
|
|
|
|
- name: "Get filesystem UUID with 'blkid' (should remain the same)"
|
|
ansible.builtin.command:
|
|
cmd: 'blkid -c /dev/null -o value -s UUID {{ dev }}'
|
|
changed_when: false
|
|
register: blkid
|
|
|
|
- name: "Assert that the state changed but the filesystem still exists"
|
|
ansible.builtin.assert:
|
|
that:
|
|
- wipefs is changed
|
|
- blkid.stdout == blkid_ref.stdout
|
|
|
|
# Do it
|
|
- name: "Remove filesystem"
|
|
community.general.filesystem:
|
|
dev: '{{ dev }}'
|
|
state: absent
|
|
register: wipefs
|
|
|
|
- name: "Get filesystem UUID with 'blkid' (should be empty)"
|
|
ansible.builtin.command:
|
|
cmd: 'blkid -c /dev/null -o value -s UUID {{ dev }}'
|
|
changed_when: false
|
|
failed_when: false
|
|
register: blkid
|
|
|
|
- name: "Assert that the state changed and the device has no filesystem"
|
|
ansible.builtin.assert:
|
|
that:
|
|
- wipefs is changed
|
|
- blkid.stdout | length == 0
|
|
- blkid.rc == 2
|
|
|
|
# Do it again
|
|
- name: "Remove filesystem (idempotency)"
|
|
community.general.filesystem:
|
|
dev: '{{ dev }}'
|
|
state: absent
|
|
register: wipefs
|
|
|
|
- name: "Assert that the state did not change"
|
|
ansible.builtin.assert:
|
|
that:
|
|
- wipefs is not changed
|
|
|
|
# and again
|
|
- name: "Remove filesystem (idempotency, check mode)"
|
|
community.general.filesystem:
|
|
dev: '{{ dev }}'
|
|
state: absent
|
|
register: wipefs
|
|
check_mode: yes
|
|
|
|
- name: "Assert that the state did not change"
|
|
ansible.builtin.assert:
|
|
that:
|
|
- wipefs is not changed
|
|
|
|
|
|
# By the way, test removal of a filesystem on unexistent device
|
|
- name: "Remove filesystem (unexistent device)"
|
|
community.general.filesystem:
|
|
dev: '/dev/unexistent_device'
|
|
state: absent
|
|
register: wipefs
|
|
|
|
- name: "Assert that the state did not change"
|
|
ansible.builtin.assert:
|
|
that:
|
|
- wipefs is not changed
|