From 050f20ce651ea8b874eea091b0724a1e5ef3580a Mon Sep 17 00:00:00 2001 From: Julian Gethmann Date: Tue, 14 Feb 2017 18:34:16 +0100 Subject: [PATCH] NFS server and client role * update commit-hook * create server role nfs-server * create client role lasarchiv --- .pre-commit-config.yaml | 1 + group_vars/las-archiv1.yml | 2 ++ hosts | 6 +++--- nfs.yml | 10 ++++++++++ roles/lasarchiv/meta/main.yml | 3 +++ roles/lasarchiv/tasks/main.yml | 2 ++ roles/lasarchiv/tasks/nfs.yml | 30 ++++++++++++++++++++++++++++ roles/nfs-server/files/export | 1 + roles/nfs-server/handlers/main.yml | 18 +++++++++++++++++ roles/nfs-server/tasks/nfsd.yml | 32 ++++++++++++++++++++++++++++++ 10 files changed, 102 insertions(+), 3 deletions(-) create mode 100644 group_vars/las-archiv1.yml create mode 100644 nfs.yml create mode 100644 roles/lasarchiv/meta/main.yml create mode 100644 roles/lasarchiv/tasks/main.yml create mode 100644 roles/lasarchiv/tasks/nfs.yml create mode 100644 roles/nfs-server/files/export create mode 100644 roles/nfs-server/handlers/main.yml create mode 100644 roles/nfs-server/tasks/nfsd.yml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 04b0b13..10d6104 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,3 +7,4 @@ sha: c847dd3f2e7260830b6fc66a6a3ed7a837e3bdb1 hooks: - id: trailing-whitespace + - id: check-added-large-files diff --git a/group_vars/las-archiv1.yml b/group_vars/las-archiv1.yml new file mode 100644 index 0000000..ab76674 --- /dev/null +++ b/group_vars/las-archiv1.yml @@ -0,0 +1,2 @@ +--- +nfs_server: 129.13.108.126 diff --git a/hosts b/hosts index de5b50a..97a6bed 100644 --- a/hosts +++ b/hosts @@ -5,6 +5,9 @@ las113.las.kit.edu las93.las.kit.edu las-gethmann.las.kit.edu +[nfs-hosts] +las126.las.kit.edu + [opera] las113.las.kit.edu # las114.las.kit.edu @@ -83,6 +86,3 @@ las101.las.kit.edu [cn] las-bernhard.anka.kit.edu - -[simulation] -las126.las.kit.edu diff --git a/nfs.yml b/nfs.yml new file mode 100644 index 0000000..424943e --- /dev/null +++ b/nfs.yml @@ -0,0 +1,10 @@ +- hosts: nfs-server + roles: + - nfs-server + tags: nfs-server + + +- hosts: las-archiv1 + roles: + - lasarchiv + tags: nfs-clients diff --git a/roles/lasarchiv/meta/main.yml b/roles/lasarchiv/meta/main.yml new file mode 100644 index 0000000..50613a6 --- /dev/null +++ b/roles/lasarchiv/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - { role: nfs-server } diff --git a/roles/lasarchiv/tasks/main.yml b/roles/lasarchiv/tasks/main.yml new file mode 100644 index 0000000..a209adb --- /dev/null +++ b/roles/lasarchiv/tasks/main.yml @@ -0,0 +1,2 @@ +--- +- include: nfs.yml diff --git a/roles/lasarchiv/tasks/nfs.yml b/roles/lasarchiv/tasks/nfs.yml new file mode 100644 index 0000000..cc1993c --- /dev/null +++ b/roles/lasarchiv/tasks/nfs.yml @@ -0,0 +1,30 @@ +--- +- name: install requirements + dnf: + state: installed + name: nfs-utils + become: yes + when: ansible_distribution == 'Fedora' + +- name: install requirements + apt: + state: installed + name: nfs-common + become: yes + when: ansible_distribution == 'Ubuntu' + +- name: install requirements + yum: + state: installed + name: nfs-utils + become: yes + when: ansible_distribution == 'CentOS' + +- name: mount lasarchiv1 + mount: + name: "/mnt/las-archiv1" + src: "{{ nfs_server }}:/las-archiv1" + fstype: nfs4 + opts: "soft,timeo=14,intr,nosuid" + state: mounted + become: yes diff --git a/roles/nfs-server/files/export b/roles/nfs-server/files/export new file mode 100644 index 0000000..ca44ebc --- /dev/null +++ b/roles/nfs-server/files/export @@ -0,0 +1 @@ +/las-archiv1 129.13.108.64/26(rw,sync,root_squash) diff --git a/roles/nfs-server/handlers/main.yml b/roles/nfs-server/handlers/main.yml new file mode 100644 index 0000000..248b6dc --- /dev/null +++ b/roles/nfs-server/handlers/main.yml @@ -0,0 +1,18 @@ +--- +- name: reload firewall + service: + name: firewalld + state: reloaded + become: yes + +- name: enable nfsd + service: + name: nfs + state: enabled + become: yes + +- name: reload nfsd + service: + name: nfs + state: reloaded + become: yes diff --git a/roles/nfs-server/tasks/nfsd.yml b/roles/nfs-server/tasks/nfsd.yml new file mode 100644 index 0000000..309d1c0 --- /dev/null +++ b/roles/nfs-server/tasks/nfsd.yml @@ -0,0 +1,32 @@ +--- +# https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux +- name: install dependencies + dnf: + state: installed + name: "{{ item }}" + with_items: + - rpcbind + - python-firewall + +- name: copy export file + copy: + src: export + dest: /etc/export + backup: yes + mode: 0644 + owner: root + group: root + notify: + - enable nfsd + - reload nfsd + +- name: set firewall + firewalld: + port: "{{ item }}" + permanent: true + state: enabled + with_items: + - 2049/tcp + - 111/tcp + notify: reload firewall + -- GitLab