* Last two fields in fstab are optional * Add changelog
This commit is contained in:
parent
ec4cf26d60
commit
7739b5e96c
3 changed files with 48 additions and 13 deletions
2
changelogs/fragments/mount-optional-fields.yaml
Normal file
2
changelogs/fragments/mount-optional-fields.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
minor_changes:
|
||||||
|
- mount - make last two fields optional (https://github.com/ansible/ansible/issues/43855)
|
|
@ -208,10 +208,14 @@ def set_mount(module, args):
|
||||||
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
fields = line.split()
|
||||||
|
|
||||||
# Check if we got a valid line for splitting
|
# Check if we got a valid line for splitting
|
||||||
|
# (on Linux the 5th and the 6th field is optional)
|
||||||
if (
|
if (
|
||||||
get_platform() == 'SunOS' and len(line.split()) != 7 or
|
get_platform() == 'SunOS' and len(fields) != 7 or
|
||||||
get_platform() != 'SunOS' and len(line.split()) != 6):
|
get_platform() == 'Linux' and len(fields) not in [4, 5, 6] or
|
||||||
|
get_platform() not in ['SunOS', 'Linux'] and len(fields) != 6):
|
||||||
to_write.append(line)
|
to_write.append(line)
|
||||||
|
|
||||||
continue
|
continue
|
||||||
|
@ -227,16 +231,17 @@ def set_mount(module, args):
|
||||||
ld['passno'],
|
ld['passno'],
|
||||||
ld['boot'],
|
ld['boot'],
|
||||||
ld['opts']
|
ld['opts']
|
||||||
) = line.split()
|
) = fields
|
||||||
else:
|
else:
|
||||||
(
|
fields_labels = ['src', 'name', 'fstype', 'opts', 'dump', 'passno']
|
||||||
ld['src'],
|
|
||||||
ld['name'],
|
# The last two fields are optional on Linux so we fill in default values
|
||||||
ld['fstype'],
|
ld['dump'] = 0
|
||||||
ld['opts'],
|
ld['passno'] = 0
|
||||||
ld['dump'],
|
|
||||||
ld['passno']
|
# Fill in the rest of the available fields
|
||||||
) = line.split()
|
for i, field in enumerate(fields):
|
||||||
|
ld[fields_labels[i]] = field
|
||||||
|
|
||||||
# Check if we found the correct line
|
# Check if we found the correct line
|
||||||
if (
|
if (
|
||||||
|
|
|
@ -119,8 +119,6 @@
|
||||||
shell: mount | grep mount_dest | grep -E -w '(ro|read-only)' | wc -l
|
shell: mount | grep mount_dest | grep -E -w '(ro|read-only)' | wc -l
|
||||||
register: remount_options
|
register: remount_options
|
||||||
|
|
||||||
- debug: var=remount_options
|
|
||||||
|
|
||||||
- name: Make sure the filesystem now has the new opts
|
- name: Make sure the filesystem now has the new opts
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
|
@ -248,3 +246,33 @@
|
||||||
- "swap2_removed['changed']"
|
- "swap2_removed['changed']"
|
||||||
- "not swap2_removed_again['changed']"
|
- "not swap2_removed_again['changed']"
|
||||||
when: ansible_system in ('Linux')
|
when: ansible_system in ('Linux')
|
||||||
|
|
||||||
|
- name: Create fstab record with missing last two fields
|
||||||
|
copy:
|
||||||
|
dest: /etc/fstab
|
||||||
|
content: |
|
||||||
|
//nas/photo /home/jik/pictures cifs defaults,credentials=/etc/security/nas.creds,uid=jik,gid=users,forceuid,forcegid,noserverino,_netdev
|
||||||
|
when: ansible_system in ('Linux')
|
||||||
|
|
||||||
|
- name: Try to change the fstab record with the missing last two fields
|
||||||
|
mount:
|
||||||
|
src: //nas/photo
|
||||||
|
path: /home/jik/pictures
|
||||||
|
fstype: cifs
|
||||||
|
opts: defaults,credentials=/etc/security/nas.creds,uid=jik,gid=users,forceuid,forcegid,noserverino,_netdev,x-systemd.mount-timeout=0
|
||||||
|
state: present
|
||||||
|
register: optional_fields_update
|
||||||
|
when: ansible_system in ('Linux')
|
||||||
|
|
||||||
|
- name: Get the content of the fstab file
|
||||||
|
shell: cat /etc/fstab
|
||||||
|
register: optional_fields_content
|
||||||
|
when: ansible_system in ('Linux')
|
||||||
|
|
||||||
|
- name: Check if the line containing the missing last two fields was changed
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "optional_fields_update['changed']"
|
||||||
|
- "' 0 0' in optional_fields_content.stdout"
|
||||||
|
- "1 == optional_fields_content.stdout_lines | length"
|
||||||
|
when: ansible_system in ('Linux')
|
||||||
|
|
Loading…
Reference in a new issue