[nfs-mount] generic systemd nfs mount service
							parent
							
								
									6491256620
								
							
						
					
					
						commit
						6fa8f17d0c
					
				| 
						 | 
					@ -1,4 +1,10 @@
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
glob_home_nounou:
 | 
					glob_home_nounou:
 | 
				
			||||||
  ip: 172.16.10.1
 | 
					  mounts:
 | 
				
			||||||
 | 
					  - ip: 172.16.10.1
 | 
				
			||||||
    mountpoint: /pool/home
 | 
					    mountpoint: /pool/home
 | 
				
			||||||
 | 
					    target: /home_nounou
 | 
				
			||||||
 | 
					    name: home_nounou
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    group: _user
 | 
				
			||||||
 | 
					    mode: '0750'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,6 +4,16 @@ interfaces:
 | 
				
			||||||
  srv_nat: ens19
 | 
					  srv_nat: ens19
 | 
				
			||||||
  san: ens20
 | 
					  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_ftpsync: {}
 | 
				
			||||||
loc_rsync_mirror: {}
 | 
					loc_rsync_mirror: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,6 +4,16 @@ interfaces:
 | 
				
			||||||
  san: ens19
 | 
					  san: ens19
 | 
				
			||||||
  srv: ens20
 | 
					  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:
 | 
					loc_nginx:
 | 
				
			||||||
  service_name: ptf
 | 
					  service_name: ptf
 | 
				
			||||||
  ssl: []
 | 
					  ssl: []
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,3 +19,20 @@ loc_crans_scripts:
 | 
				
			||||||
  group: nounou
 | 
					  group: nounou
 | 
				
			||||||
  dests:
 | 
					  dests:
 | 
				
			||||||
    - /usr/scripts
 | 
					    - /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'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					@ -40,9 +40,9 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- hosts: server,!ovh_physical,!tealc.adm.crans.org,!zamok.adm.crans.org,!gulp.cachan-adm.crans.org
 | 
					- hosts: server,!ovh_physical,!tealc.adm.crans.org,!zamok.adm.crans.org,!gulp.cachan-adm.crans.org
 | 
				
			||||||
  vars:
 | 
					  vars:
 | 
				
			||||||
    home_nounou: "{{ glob_home_nounou | default({}) | combine(loc_home_nounou | default({})) }}"
 | 
					    nfs_mount: "{{ glob_home_nounou | default({}) | combine(loc_home_nounou | default({})) }}"
 | 
				
			||||||
  roles:
 | 
					  roles:
 | 
				
			||||||
    - home-nounou
 | 
					    - nfs-mount
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- hosts: all, !rsyslog_server
 | 
					- hosts: all, !rsyslog_server
 | 
				
			||||||
  vars:
 | 
					  vars:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
#!/usr/bin/env ansible-playbook
 | 
					#!/usr/bin/env ansible-playbook
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- import_playbook: nfs_mount.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- hosts: adh_server
 | 
					- hosts: adh_server
 | 
				
			||||||
  vars:
 | 
					  vars:
 | 
				
			||||||
    adh: '{{ glob_adh | combine(loc_adh | default({}), recursive=True) }}'
 | 
					    adh: '{{ glob_adh | combine(loc_adh | default({}), recursive=True) }}'
 | 
				
			||||||
| 
						 | 
					@ -8,4 +10,3 @@
 | 
				
			||||||
    - zamok-tools
 | 
					    - zamok-tools
 | 
				
			||||||
    - postfix
 | 
					    - postfix
 | 
				
			||||||
    - prometheus-node-exporter-postfix
 | 
					    - prometheus-node-exporter-postfix
 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
					 | 
				
			||||||
| 
						 | 
					@ -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
 | 
					 | 
				
			||||||
| 
						 | 
					@ -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
 | 
					 | 
				
			||||||
| 
						 | 
					@ -9,23 +9,26 @@
 | 
				
			||||||
  retries: 3
 | 
					  retries: 3
 | 
				
			||||||
  until: apt_result is succeeded
 | 
					  until: apt_result is succeeded
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Create directory home_nounou
 | 
					- name: Create target directory
 | 
				
			||||||
  file:
 | 
					  file:
 | 
				
			||||||
    path: /home_nounou
 | 
					    path: "{{ item.target }}"
 | 
				
			||||||
    state: directory
 | 
					    state: directory
 | 
				
			||||||
    owner: root
 | 
					    owner: "{{ item.owner }}"
 | 
				
			||||||
    group: _user
 | 
					    group: "{{ item.group }}"
 | 
				
			||||||
    mode: 0750
 | 
					    mode: "{{ item.mode }}"
 | 
				
			||||||
 | 
					  loop: "{{ nfs_mount.mounts }}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Deploy nfs systemd mount
 | 
					- name: Deploy nfs systemd mount
 | 
				
			||||||
  template:
 | 
					  template:
 | 
				
			||||||
    src: systemd/system/home_nounou.mount.j2
 | 
					    src: systemd/system/nfs.mount.j2
 | 
				
			||||||
    dest: /etc/systemd/system/home_nounou.mount
 | 
					    dest: "/etc/systemd/system/{{ item.name }}.mount"
 | 
				
			||||||
    mode: 0644
 | 
					    mode: 0644
 | 
				
			||||||
 | 
					  loop: "{{ nfs_mount.mounts }}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Load and activate nfs systemd mount
 | 
					- name: Load and activate nfs systemd mount
 | 
				
			||||||
  systemd:
 | 
					  systemd:
 | 
				
			||||||
    name: home_nounou.mount
 | 
					    name: "{{ item.name }}.mount"
 | 
				
			||||||
    daemon_reload: true
 | 
					    daemon_reload: true
 | 
				
			||||||
    enabled: true
 | 
					    enabled: true
 | 
				
			||||||
    state: started
 | 
					    state: started
 | 
				
			||||||
 | 
					  loop: "{{ nfs_mount.mounts }}"
 | 
				
			||||||
| 
						 | 
					@ -1,12 +1,12 @@
 | 
				
			||||||
{{ ansible_header | comment }}
 | 
					{{ ansible_header | comment }}
 | 
				
			||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=Mount pool/home on cameron
 | 
					Description=Mount {{ item.target }}
 | 
				
			||||||
Wants=network-online.target
 | 
					Wants=network-online.target
 | 
				
			||||||
After=network-online.target
 | 
					After=network-online.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Mount]
 | 
					[Mount]
 | 
				
			||||||
What=cameron.san.crans.org:/pool/home
 | 
					What={{ item.ip }}:{{ item.mountpoint }}
 | 
				
			||||||
Where=/home
 | 
					Where={{ item.target }}
 | 
				
			||||||
Type=nfs
 | 
					Type=nfs
 | 
				
			||||||
Options=rw,nosuid
 | 
					Options=rw,nosuid
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue