diff --git a/handlers/main.yml b/handlers/main.yml index fe36453..fec8258 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,2 +1,6 @@ --- # handlers file for mount +- name: restart autofs + service: + name: autofs + state: restarted diff --git a/tasks/ext4.yml b/tasks/ext4.yml new file mode 100644 index 0000000..e30c229 --- /dev/null +++ b/tasks/ext4.yml @@ -0,0 +1,4 @@ +- name: test + ansible.builtin.file: + path: /tmp/ext4-{{item.name}} + state: directory diff --git a/tasks/main.yml b/tasks/main.yml index 90b9b64..701a016 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,2 +1,20 @@ --- # tasks file for mount + +- name: Set up mounts if variable is defined + block: +# - include_tasks: ext4.yml +# when: mounts.ext4 +# with_items: +# - mounts.ext4 + + - include_tasks: nfs.yml + when: mounts.nfs is defined + vars: + nfs_mounts: "{{ mounts.nfs }}" + +# - include_tasks: sshfs.yml +# loop: "{{ mounts }}" +# when: item == "sshfs" + + when: mounts is defined diff --git a/tasks/nfs.yml b/tasks/nfs.yml new file mode 100644 index 0000000..7162b0f --- /dev/null +++ b/tasks/nfs.yml @@ -0,0 +1,60 @@ +# tasks file for mounting nfs +- name: install autofs + ansible.builtin.package: + name: autofs + state: present + update_cache: true + +- name: install nfs-utils + ansible.builtin.package: + name: nfs-utils + state: present + +- name: ensure nfs is in auto.master + ansible.builtin.lineinfile: + path: /etc/autofs/auto.master + line: "/mnt/autofs/nfs /etc/autofs/auto.nfs" + state: present + create: true + notify: restart autofs + +- name: deploy auto.nfs file + ansible.builtin.template: + src: templates/auto.nfs + dest: /etc/autofs/auto.nfs + vars: + nfs: "{{ nfs_mounts }}" + notify: restart autofs + +- name: create symlinks + ansible.builtin.file: + src: "/mnt/autofs/nfs/{{ item.name }}" + dest: "{{ item.local }}" + state: link + force: true + loop: "{{ nfs_mounts }}" + +- name: ensure rpcbind is running + service: + name: rpcbind + state: started + enabled: yes + +- name: ensure nfs-client is running + service: + name: nfs-client.target + state: started + enabled: yes + +- name: ensure remote-fs is running + service: + name: remote-fs.target + state: started + enabled: yes + +- name: ensure autofs is running + service: + name: autofs + state: started + enabled: yes + diff --git a/tasks/sshfs.yml b/tasks/sshfs.yml new file mode 100644 index 0000000..d2fe6fb --- /dev/null +++ b/tasks/sshfs.yml @@ -0,0 +1,4 @@ +- name: test + ansible.builtin.file: + path: /tmp/sshfs-{{item.name}} + state: directory diff --git a/templates/auto.nfs b/templates/auto.nfs new file mode 100644 index 0000000..5940a6c --- /dev/null +++ b/templates/auto.nfs @@ -0,0 +1,3 @@ +{% for mount in nfs -%} +{{ mount.name }} -rw,soft,intr,rsize=8192,wsize=8192 {{ mount.host }}:{{ mount.remote }} +{%- endfor -%} diff --git a/vars/main.yml b/vars/main.yml index 4672f5e..5680450 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,2 +1,11 @@ --- -# vars file for mount +# vars file for mount on privtorrents.actcur.com + +mounts: + nfs: + - name: deluge + host: host.actcur.com + remote: /mnt/butter/video/deluge + local: /mnt/deluge + +# end of file