aboutsummaryrefslogtreecommitdiffstats
path: root/roles/nfs_server/tasks/autofs.yml
blob: 57bb862b964aa139c108919cebbd3777478763f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
- name: create automount maps for exports
  ipaautomountmap:
    ipaadmin_principal: '{{ ipa_user }}'
    ipaadmin_password: '{{ ipa_pass }}'
    name: '{{ item }}'
    location: default
    state: present
  loop: "{{ nfs_exports | selectattr('automount_map', 'defined') | map(attribute='automount_map') | unique }}"

- name: create automount keys for exports
  ipaautomountkey:
    ipaadmin_principal: '{{ ipa_user }}'
    ipaadmin_password: '{{ ipa_pass }}'
    location: default
    mapname: '{{ item.automount_map }}'
    key: '{{ item.automount_key | default(zfs_mountpoints[item.dataset] | basename) }}'
    info: '-fstype=nfs4 {{ ansible_fqdn }}:{{ zfs_mountpoints[item.dataset] }}'
    state: present
  loop: "{{ nfs_exports | selectattr('automount_map', 'defined') }}"
  loop_control:
    label: '{{ item.dataset }}'

- name: create automount maps for homedirs
  ipaautomountmap:
    ipaadmin_principal: '{{ ipa_user }}'
    ipaadmin_password: '{{ ipa_pass }}'
    name: '{{ item }}'
    location: default
    state: present
  loop:
    -  '{{ nfs_homedir_home_automount_map }}'
    -  '{{ nfs_homedir_user_automount_map }}'
    -  '{{ nfs_homedir_group_automount_map }}'

- name: create automount keys for homedirs
  ipaautomountkey:
    ipaadmin_principal: '{{ ipa_user }}'
    ipaadmin_password: '{{ ipa_pass }}'
    location: default
    mapname: '{{ nfs_homedir_group_automount_map if item.group is defined else nfs_homedir_user_automount_map }}'
    key: '{{ item.group if item.group is defined else item.user }}'
    info: >-
      /priv -fstype=nfs4 {{ ansible_fqdn }}:{{ zfs_mountpoints[nfs_homedir_group_dataset if item.group is defined else nfs_homedir_user_dataset] }}/{{ item.group if item.group is defined else item.user }}/priv
      /pub  -fstype=nfs4 {{ ansible_fqdn }}:{{ zfs_mountpoints[nfs_homedir_group_dataset if item.group is defined else nfs_homedir_user_dataset] }}/{{ item.group if item.group is defined else item.user }}/pub
    state: present
  loop: '{{ nfs_homedirs }}'

- name: create /home automount keys
  ipaautomountkey:
    ipaadmin_principal: '{{ ipa_user }}'
    ipaadmin_password: '{{ ipa_pass }}'
    location: default
    mapname: '{{ nfs_homedir_home_automount_map }}'
    key: '{{ item }}'
    info: '-fstype=nfs4 {{ ansible_fqdn }}:{{ zfs_mountpoints[nfs_homedir_user_dataset] }}/{{ item }}/priv'
    state: present
  loop: "{{ nfs_homedirs | selectattr('user', 'defined') | map(attribute='user') }}"