107 lines
3.2 KiB
YAML
107 lines
3.2 KiB
YAML
---
|
|
- name: autofs | Install and configure autofs on Ubuntu/Debian
|
|
when: ansible_distribution_file_variety == "Debian"
|
|
tags: ['nfs', 'autofs']
|
|
block:
|
|
- name: autofs | Install the autofs packages on Ubuntu/Debian
|
|
ansible.builtin.apt:
|
|
pkg: "{{ autofs_packages_deb }}"
|
|
state: present
|
|
cache_valid_time: 1800
|
|
|
|
- name: autofs | Install and configure autofs on EL
|
|
when: ansible_distribution_file_variety == "RedHat"
|
|
tags: ['nfs', 'autofs']
|
|
block:
|
|
- name: autofs | Install the autofs packages on EL
|
|
ansible.builtin.yum:
|
|
pkg: "{{ autofs_packages_el }}"
|
|
state: present
|
|
|
|
- name: autofs | Stop autofs if it is a 'hard' reconfiguration
|
|
tags: ['nfs', 'autofs', 'autofs_conf']
|
|
block:
|
|
- name: autofs | Stop autofs
|
|
ansible.builtin.service:
|
|
name: autofs
|
|
state: stopped
|
|
when: autofs_hard_reconfig is defined and autofs_hard_reconfig
|
|
|
|
- name: autofs | Configure autofs and its maps
|
|
tags: ['nfs', 'autofs', 'autofs_conf']
|
|
block:
|
|
- name: autofs | Create the mount points
|
|
ansible.builtin.file:
|
|
dest: "{{ item.mountpoint_prefix }}"
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: "0755"
|
|
loop: '{{ autofs_maps }}'
|
|
|
|
- name: autofs | Setup idmap.conf
|
|
community.general.ini_file:
|
|
path: /etc/idmapd.conf
|
|
section: '{{ item.section }}'
|
|
option: '{{ item.option }}'
|
|
value: '{{ item.value }}'
|
|
state: '{{ item.state }}'
|
|
owner: 'root'
|
|
group: 'root'
|
|
mode: '0644'
|
|
create: false
|
|
loop: '{{ idmap_conf_options }}'
|
|
|
|
- name: autofs | Setup autofs.conf
|
|
community.general.ini_file:
|
|
path: /etc/autofs.conf
|
|
section: '{{ item.section }}'
|
|
option: '{{ item.option }}'
|
|
value: '{{ item.value }}'
|
|
state: '{{ item.state }}'
|
|
owner: 'root'
|
|
group: 'root'
|
|
mode: '0644'
|
|
create: false
|
|
loop: '{{ autofs_conf_options }}'
|
|
|
|
- name: autofs | Install the autofs master configuration
|
|
ansible.builtin.template:
|
|
src: auto.master.j2
|
|
dest: /etc/auto.master
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Restart autofs
|
|
|
|
- name: autofs | Install the autofs map files
|
|
ansible.builtin.template:
|
|
src: auto.data.j2
|
|
dest: "/etc/auto.{{ item.map_name }}"
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
loop: '{{ autofs_maps }}'
|
|
notify: Restart autofs
|
|
|
|
- name: autofs | Ensure that autofs is enabled and running
|
|
ansible.builtin.service:
|
|
name: autofs
|
|
state: started
|
|
enabled: true
|
|
|
|
- name: autofs | Force a restart of autofs after a configuration change
|
|
ansible.builtin.meta: flush_handlers
|
|
tags: ['nfs', 'autofs', 'autofs_conf']
|
|
|
|
- name: autofs | Force the ownership of the mount point
|
|
ansible.builtin.file:
|
|
dest: "{{ item.mountpoint_prefix }}/{{ item.path }}"
|
|
state: "{{ item.state | default('directory') }}"
|
|
owner: "{{ item.owner_uid }}"
|
|
group: "{{ item.owner_gid }}"
|
|
mode: "{{ item.permissions }}"
|
|
loop: "{{ autofs_maps }}"
|
|
when: item.force_ownership is defined and item.force_ownership
|
|
tags: ['nfs', 'autofs', 'autofs_conf']
|