97 lines
2.0 KiB
YAML
97 lines
2.0 KiB
YAML
---
|
|
|
|
# ---
|
|
# NFS Server
|
|
# ---
|
|
|
|
- name: (nfs.yml) Ensure NFS utilities (server) are installed.
|
|
apt:
|
|
name:
|
|
- nfs-common
|
|
- nfs-kernel-server
|
|
state: present
|
|
when:
|
|
- ansible_os_family == "Debian"
|
|
- "groups['nfs_server']|string is search(inventory_hostname)"
|
|
tags:
|
|
- nfs-server
|
|
|
|
- name: (nfs.yml) Ensure directories to export exist
|
|
file:
|
|
path: '{{ item.src.split(":")[1] }}'
|
|
owner: root
|
|
group: root
|
|
mode: '0755'
|
|
state: directory
|
|
with_items: "{{ nfs_exports }}"
|
|
loop_control:
|
|
label: '{{ item.path }}'
|
|
when:
|
|
- "groups['nfs_server']|string is search(inventory_hostname)"
|
|
tags:
|
|
- nfs-server
|
|
|
|
- name: (nfs.yml) Copy exports file.
|
|
template:
|
|
src: etc/exports.j2
|
|
dest: /etc/exports
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
when:
|
|
- "groups['nfs_server']|string is search(inventory_hostname)"
|
|
notify: Reload nfs
|
|
tags:
|
|
- nfs-server
|
|
|
|
- name: Enable service rpc-statd and ensure it is not masked
|
|
systemd:
|
|
name: rpc-statd
|
|
enabled: yes
|
|
masked: no
|
|
when:
|
|
- "groups['nfs_server']|string is search(inventory_hostname)"
|
|
|
|
- name: Make sure service rpc-statd is running
|
|
systemd:
|
|
state: started
|
|
name: rpc-statd
|
|
when:
|
|
- "groups['nfs_server']|string is search(inventory_hostname)"
|
|
tags:
|
|
- nfs-server
|
|
|
|
# ---
|
|
# NFS clients
|
|
# ---
|
|
|
|
- name: (nfs.yml) Ensure NFS utilities (clients) are installed.
|
|
apt:
|
|
pkg: nfs-common
|
|
state: present
|
|
when:
|
|
- ansible_os_family == "Debian"
|
|
- "groups['nfs_client']|string is search(inventory_hostname)"
|
|
tags:
|
|
- nfs-client
|
|
|
|
- name: (nfs.yml) NFS Mount exports from nfs server
|
|
mount:
|
|
path: "{{ item.path }}"
|
|
src: "{{ item.src }}"
|
|
fstype: nfs
|
|
opts: "{{ item.mount_opts }}"
|
|
dump: "{{ item.dump | default(omit) }}"
|
|
passno: "{{ item.passno | default(omit) }}"
|
|
state: mounted
|
|
loop: "{{ nfs_exports }}"
|
|
loop_control:
|
|
label: '{{ item.src }}'
|
|
when:
|
|
- "groups['nfs_client']|string is search(inventory_hostname)"
|
|
tags:
|
|
- nfs-client
|
|
|
|
|
|
|