Merge pull request #166 from dkjii-g/main

ansible.posix.mount: add absent_from_fstab option

SUMMARY
Add absent_from_fstab option to remove the entry from fstab, but not unmount or delete the folder. Ideally this would have been the behavior of absent (as to mirror the behavior of present), but for backward compatibility I added a new verbose state
ISSUE TYPE

Feature Pull Request

COMPONENT NAME
mount
ADDITIONAL INFORMATION
Sometimes you may not want to delete the mountpoint (e.g. if it is not currently mounted and data is in the directory, the current behavior will simply error).

Reviewed-by: Amin Vakil <None>
Reviewed-by: None <None>
This commit is contained in:
softwarefactory-project-zuul[bot] 2022-12-15 03:00:24 +00:00 committed by GitHub
commit 6b7dc6ee0a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 3 deletions

View file

@ -0,0 +1,2 @@
minor_changes:
- mount - Add ``absent_from_fstab`` state (https://github.com/ansible-collections/ansible.posix/pull/166).

View file

@ -78,9 +78,12 @@ options:
if I(opts) is set, and the remount command fails, the module will if I(opts) is set, and the remount command fails, the module will
error to prevent unexpected mount changes. Try using C(mounted) error to prevent unexpected mount changes. Try using C(mounted)
instead to work around this issue. instead to work around this issue.
- C(absent_from_fstab) specifies that the device mount's entry will be
removed from I(fstab). This option does not unmount it or delete the
mountpoint.
type: str type: str
required: true required: true
choices: [ absent, mounted, present, unmounted, remounted ] choices: [ absent, absent_from_fstab, mounted, present, unmounted, remounted ]
fstab: fstab:
description: description:
- File to use instead of C(/etc/fstab). - File to use instead of C(/etc/fstab).
@ -675,7 +678,7 @@ def main():
passno=dict(type='str', no_log=False, default='0'), passno=dict(type='str', no_log=False, default='0'),
src=dict(type='path'), src=dict(type='path'),
backup=dict(type='bool', default=False), backup=dict(type='bool', default=False),
state=dict(type='str', required=True, choices=['absent', 'mounted', 'present', 'unmounted', 'remounted']), state=dict(type='str', required=True, choices=['absent', 'absent_from_fstab', 'mounted', 'present', 'unmounted', 'remounted']),
), ),
supports_check_mode=True, supports_check_mode=True,
required_if=( required_if=(
@ -775,7 +778,9 @@ def main():
name = module.params['path'] name = module.params['path']
changed = False changed = False
if state == 'absent': if state == 'absent_from_fstab':
name, changed = unset_mount(module, args)
elif state == 'absent':
name, changed = unset_mount(module, args) name, changed = unset_mount(module, args)
if changed and not module.check_mode: if changed and not module.check_mode: