From 67905becbee4c279c70d3f964b541a2933bf8846 Mon Sep 17 00:00:00 2001 From: binary Date: Tue, 2 Mar 2021 16:22:13 +0100 Subject: Add nfsd role for nfs server on BSD --- roles/nfsd/tasks/_freebsd.yml | 20 ++++++++++++++++++ roles/nfsd/tasks/main.yml | 48 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 roles/nfsd/tasks/_freebsd.yml create mode 100644 roles/nfsd/tasks/main.yml (limited to 'roles/nfsd/tasks') diff --git a/roles/nfsd/tasks/_freebsd.yml b/roles/nfsd/tasks/_freebsd.yml new file mode 100644 index 0000000..2cae34a --- /dev/null +++ b/roles/nfsd/tasks/_freebsd.yml @@ -0,0 +1,20 @@ + +# nfsd ~~ roles/nfsd/tasks/_freebsd.yml + +--- + +- name: ensure daemons flag + lineinfile: + path: /etc/rc.conf + regexp: "^{{ item[0] }}=" + line: "{{ item[0] }}=\"{{ item[1] }}\"" + loop: + - ["nfs_server_flags", "-tun {{ nfsd_nb_process }}"] + - ["rpcbind_enable=", "YES"] + - ["mountd_flags", "-r"] + +- name: ensure rpcbind is enabled and restarted + service: + name: rpcbind + state: restarted + enabled: true diff --git a/roles/nfsd/tasks/main.yml b/roles/nfsd/tasks/main.yml new file mode 100644 index 0000000..2f64fdb --- /dev/null +++ b/roles/nfsd/tasks/main.yml @@ -0,0 +1,48 @@ + +# nfsd ~~ roles/nfsd/tasks/main.yml +# setup nfs daemon for a list of hosts + +--- + +- debug: + var: nfsd_dirs + +- name: ensure nfsd required variables are set + fail: + when: item == "undefined" + loop: + - "{{ nfsd_dirs }}" + +- name: ensure nfsd directory exists + file: + path: "{{ nfsd_dir }}" + owner: root + mode: 0700 + state: directory + +- name: ensure directories exists + file: + path: "{{ nfsd_dir }}/{{ item }}" + owner: root + mode: 0700 + state: directory + loop: "{{ nfsd_dirs.split(' ') if nfsd_dirs is string else nfsd_dirs }}" + +- name: generate /etc/exports configuration + template: + src: etc-exports.j2 + dest: /etc/exports + owner: root + mode: 0600 + +- name: include *BSD specific configuration + include_tasks: "_{{ ansible_distribution | lower }}.yml" + +- name: ensure required services are restarted and enabled + service: + name: "{{ item }}" + state: restarted + enabled: true + loop: + - mountd + - nfsd -- cgit v1.2.3