diff --git a/group_vars/all/home_nounou.yml b/group_vars/all/home_nounou.yml index c31e4508..24fe32d1 100644 --- a/group_vars/all/home_nounou.yml +++ b/group_vars/all/home_nounou.yml @@ -1,4 +1,10 @@ --- glob_home_nounou: - ip: 172.16.10.1 - mountpoint: /pool/home + mounts: + - ip: 172.16.10.1 + mountpoint: /pool/home + target: /home_nounou + name: home_nounou + owner: root + group: _user + mode: '0750' diff --git a/host_vars/eclat.adm.crans.org.yml b/host_vars/eclat.adm.crans.org.yml index d7e64f09..be5af005 100644 --- a/host_vars/eclat.adm.crans.org.yml +++ b/host_vars/eclat.adm.crans.org.yml @@ -4,6 +4,16 @@ interfaces: srv_nat: ens19 san: ens20 +loc_nfs_mount: + mounts: + - ip: 172.16.4.1 + mountpoint: /pool/mirror + target: /mirror + name: mirror + owner: root + group: root + mode: '0750' + loc_ftpsync: {} loc_rsync_mirror: {} diff --git a/host_vars/ptf.adm.crans.org.yml b/host_vars/ptf.adm.crans.org.yml index 8409d409..46de9db2 100644 --- a/host_vars/ptf.adm.crans.org.yml +++ b/host_vars/ptf.adm.crans.org.yml @@ -4,6 +4,16 @@ interfaces: san: ens19 srv: ens20 +loc_nfs_mount: + mounts: + - ip: 172.16.4.1 + mountpoint: /pool/mirror + target: /mirror + name: mirror + owner: root + group: root + mode: '0750' + loc_nginx: service_name: ptf ssl: [] diff --git a/host_vars/zamok.adm.crans.org.yml b/host_vars/zamok.adm.crans.org.yml index fba9ef88..342eb77f 100644 --- a/host_vars/zamok.adm.crans.org.yml +++ b/host_vars/zamok.adm.crans.org.yml @@ -19,3 +19,20 @@ loc_crans_scripts: group: nounou dests: - /usr/scripts + +loc_nfs_mount: + mounts: + - ip: 172.16.4.2 + mountpoint: /pool/home + target: /home + name: home + owner: root + group: user + mode: '0750' + - ip: 172.16.4.2 + mountpoint: /pool/mail + target: /var/mail + name: var-mail + owner: root + group: user + mode: '0750' diff --git a/plays/nfs_mount.yml b/plays/nfs_mount.yml new file mode 100755 index 00000000..3cb9eaa7 --- /dev/null +++ b/plays/nfs_mount.yml @@ -0,0 +1,8 @@ +#!/usr/bin/env ansible-playbook +--- +# Deploy nfs_mount server +- hosts: all + vars: + nfs_mount: "{{ glob_nfs_mount | default({}) | combine(loc_nfs_mount | default({})) }}" + roles: + - nfs-mount diff --git a/plays/root.yml b/plays/root.yml index beb048e8..421bc6b8 100755 --- a/plays/root.yml +++ b/plays/root.yml @@ -40,9 +40,9 @@ - hosts: server,!ovh_physical,!tealc.adm.crans.org,!zamok.adm.crans.org,!gulp.cachan-adm.crans.org vars: - home_nounou: "{{ glob_home_nounou | default({}) | combine(loc_home_nounou | default({})) }}" + nfs_mount: "{{ glob_home_nounou | default({}) | combine(loc_home_nounou | default({})) }}" roles: - - home-nounou + - nfs-mount - hosts: all, !rsyslog_server vars: diff --git a/plays/zamok.yml b/plays/zamok.yml index 4c52af09..3bfc2c45 100755 --- a/plays/zamok.yml +++ b/plays/zamok.yml @@ -1,6 +1,8 @@ #!/usr/bin/env ansible-playbook --- +- import_playbook: nfs_mount.yml + - hosts: adh_server vars: adh: '{{ glob_adh | combine(loc_adh | default({}), recursive=True) }}' @@ -8,4 +10,3 @@ - zamok-tools - postfix - prometheus-node-exporter-postfix - diff --git a/roles/home-nounou/templates/systemd/system/home_nounou.mount.j2 b/roles/home-nounou/templates/systemd/system/home_nounou.mount.j2 deleted file mode 100644 index 835e16ca..00000000 --- a/roles/home-nounou/templates/systemd/system/home_nounou.mount.j2 +++ /dev/null @@ -1,14 +0,0 @@ -{{ ansible_header | comment }} -[Unit] -Description=Mount home -Wants=network-online.target -After=network-online.target - -[Mount] -What={{ home_nounou.ip }}:{{ home_nounou.mountpoint }} -Where=/home_nounou -Type=nfs -Options=rw,nosuid - -[Install] -WantedBy=multi-user.target diff --git a/roles/home-permanent/tasks/main.yml b/roles/home-permanent/tasks/main.yml deleted file mode 100644 index eb1c537b..00000000 --- a/roles/home-permanent/tasks/main.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- name: Deploy nfs systemd mount - template: - src: systemd/system/home.mount.j2 - dest: /etc/systemd/system/home.mount - mode: 0755 - -- name: Load and activate nfs home systemd mount - systemd: - name: home.mount - daemon_reload: true - enabled: true - state: started - -- name: Load and activate nfs mail systemd mount - systemd: - name: var-mail.mount - daemon_reload: true - enabled: true - state: started diff --git a/roles/home-permanent/templates/systemd/system/var-mail.mount.j2 b/roles/home-permanent/templates/systemd/system/var-mail.mount.j2 deleted file mode 100644 index c8ab049e..00000000 --- a/roles/home-permanent/templates/systemd/system/var-mail.mount.j2 +++ /dev/null @@ -1,14 +0,0 @@ -{{ ansible_header | comment }} -[Unit] -Description=Mount pool/mail on cameron -Wants=network-online.target -After=network-online.target - -[Mount] -What=cameron.san.crans.org:/pool/mail -Where=/var/mail -Type=nfs -Options=rw,nosuid - -[Install] -WantedBy=multi-user.target diff --git a/roles/home-nounou/README.md b/roles/nfs-mount/README.md similarity index 100% rename from roles/home-nounou/README.md rename to roles/nfs-mount/README.md diff --git a/roles/home-nounou/tasks/main.yml b/roles/nfs-mount/tasks/main.yml similarity index 50% rename from roles/home-nounou/tasks/main.yml rename to roles/nfs-mount/tasks/main.yml index 915b294e..5c346d79 100644 --- a/roles/home-nounou/tasks/main.yml +++ b/roles/nfs-mount/tasks/main.yml @@ -9,23 +9,26 @@ retries: 3 until: apt_result is succeeded -- name: Create directory home_nounou +- name: Create target directory file: - path: /home_nounou + path: "{{ item.target }}" state: directory - owner: root - group: _user - mode: 0750 + owner: "{{ item.owner }}" + group: "{{ item.group }}" + mode: "{{ item.mode }}" + loop: "{{ nfs_mount.mounts }}" - name: Deploy nfs systemd mount template: - src: systemd/system/home_nounou.mount.j2 - dest: /etc/systemd/system/home_nounou.mount + src: systemd/system/nfs.mount.j2 + dest: "/etc/systemd/system/{{ item.name }}.mount" mode: 0644 + loop: "{{ nfs_mount.mounts }}" - name: Load and activate nfs systemd mount systemd: - name: home_nounou.mount + name: "{{ item.name }}.mount" daemon_reload: true enabled: true state: started + loop: "{{ nfs_mount.mounts }}" diff --git a/roles/home-permanent/templates/systemd/system/home.mount.j2 b/roles/nfs-mount/templates/systemd/system/nfs.mount.j2 similarity index 62% rename from roles/home-permanent/templates/systemd/system/home.mount.j2 rename to roles/nfs-mount/templates/systemd/system/nfs.mount.j2 index a16ff658..ab98c454 100644 --- a/roles/home-permanent/templates/systemd/system/home.mount.j2 +++ b/roles/nfs-mount/templates/systemd/system/nfs.mount.j2 @@ -1,12 +1,12 @@ {{ ansible_header | comment }} [Unit] -Description=Mount pool/home on cameron +Description=Mount {{ item.target }} Wants=network-online.target After=network-online.target [Mount] -What=cameron.san.crans.org:/pool/home -Where=/home +What={{ item.ip }}:{{ item.mountpoint }} +Where={{ item.target }} Type=nfs Options=rw,nosuid