diff options
Diffstat (limited to 'roles')
-rw-r--r-- | roles/nfsclient/defaults/main.yml | 5 | ||||
-rw-r--r-- | roles/nfsclient/tasks/main.yml | 32 | ||||
-rw-r--r-- | roles/nfsclient/tasks/os_alpine.yml | 10 | ||||
-rw-r--r-- | roles/nfsclient/tasks/os_openbsd.yml | 0 |
4 files changed, 47 insertions, 0 deletions
diff --git a/roles/nfsclient/defaults/main.yml b/roles/nfsclient/defaults/main.yml new file mode 100644 index 0000000..d0ca08e --- /dev/null +++ b/roles/nfsclient/defaults/main.yml @@ -0,0 +1,5 @@ +nfsclient_dir: /data +nfsclient_fstab_path: /etc/fstab +nfsclient_server_dir: /data/nfs +nfsclient_server_host: null +nfsclient_server_ip: null diff --git a/roles/nfsclient/tasks/main.yml b/roles/nfsclient/tasks/main.yml new file mode 100644 index 0000000..7799a60 --- /dev/null +++ b/roles/nfsclient/tasks/main.yml @@ -0,0 +1,32 @@ +- name: translate server string to server dict + set_fact: + nfsclient_server_ip: "{{ hostvars[nfsclient_server].__ip.external }}" + when: not nfsclient_server_ip + +- name: include distribution specific prerequisites + include_tasks: "os_{{ ansible_distribution | lower }}.yml" + ignore_errors: true + +- name: create directory on client + file: + path: "{{ nfsclient_dir }}" + owner: 0 + group: 0 + mode: 0755 + state: directory + +- name: cleanup fstab with previous nfs setup + lineinfile: + path: "{{ nfsclient_fstab_path }}" + regexp: ^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:/.* {{ nfsclient_dir }} nfs + state: absent + register: result + +- name: complete fstab with nfs + lineinfile: + path: "{{ nfsclient_fstab_path }}" + line: "{{ nfsclient_server_ip }}:{{ nfsclient_server_dir }}/{{ inventory_hostname }} {{ nfsclient_dir }} nfs rw,nodev,nosuid 0 0" + +- name: reload fstab + shell: mount -a + ignore_errors: true diff --git a/roles/nfsclient/tasks/os_alpine.yml b/roles/nfsclient/tasks/os_alpine.yml new file mode 100644 index 0000000..62d8f70 --- /dev/null +++ b/roles/nfsclient/tasks/os_alpine.yml @@ -0,0 +1,10 @@ +- name: install nfs-utils + package: + name: nfs-utils + state: present + +- name: restart and enable nfsmount + service: + name: nfsmount + state: restarted + enabled: true diff --git a/roles/nfsclient/tasks/os_openbsd.yml b/roles/nfsclient/tasks/os_openbsd.yml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/roles/nfsclient/tasks/os_openbsd.yml |