create auto fs service
This commit is contained in:
parent
8bc03f07a6
commit
c59df1fd13
@ -0,0 +1,14 @@
|
||||
systemd_mounts: {}
|
||||
systemd_mounts_enabled: []
|
||||
|
||||
systemd_mounts_manage_service: {}
|
||||
systemd_mounts_allow_reload: {}
|
||||
autofs_mounts_manage_service: {}
|
||||
autofs_mounts_allow_reload: {}
|
||||
|
||||
|
||||
|
||||
systemd_mount_packages:
|
||||
- cifs-utils
|
||||
- nfs-utils
|
||||
- davfs2
|
@ -0,0 +1,37 @@
|
||||
|
||||
- name: Reload systemd
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
when: systemd_mounts_manage_service
|
||||
|
||||
- name: Start systemd mount
|
||||
systemd:
|
||||
name: "{{ item.value.mount[1:] | replace('-', '\\x2d') | replace('/', \"-\") }}.mount"
|
||||
state: started
|
||||
with_dict: "{{ systemd_mounts }}"
|
||||
when: systemd_mounts_manage_service
|
||||
|
||||
- name: Start systemd automount
|
||||
systemd:
|
||||
name: "{{ item.value.mount[1:] | replace('-', '\\x2d') | replace('/', \"-\") }}.automount"
|
||||
state: started
|
||||
with_dict: "{{ systemd_mounts }}"
|
||||
when: systemd_mounts_manage_service
|
||||
|
||||
- name: Enable systemd mount
|
||||
systemd:
|
||||
name: "{{ item.value.mount[1:] | replace('-', '\\x2d') | replace('/', \"-\") }}.mount"
|
||||
enabled: yes
|
||||
with_dict: "{{ systemd_mounts }}"
|
||||
notify:
|
||||
- Start systemd mount
|
||||
when: item.value.automount == false
|
||||
|
||||
- name: Enable systemd automount
|
||||
systemd:
|
||||
name: "{{ item.value.mount[1:] | replace('-', '\\x2d') | replace('/', \"-\") }}.automount"
|
||||
enabled: yes
|
||||
with_dict: "{{ systemd_mounts }}"
|
||||
notify:
|
||||
- Start systemd automount
|
||||
when: item.value.automount == true
|
@ -0,0 +1,31 @@
|
||||
|
||||
#
|
||||
# tasks for mounts
|
||||
# systemd uses - for dir separator, so dirs with dashes need escaped according to systemd-escape rules
|
||||
#
|
||||
|
||||
- name: SYSTEMD MOUNT | Install needed packages
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: installed
|
||||
with_items: "{{ systemd_mount_packages }}"
|
||||
|
||||
- name: SYSTEMD MOUNT | Setup systemd Service for mountpoints
|
||||
template:
|
||||
src: systemd.mount.j2
|
||||
dest: "/etc/systemd/system/{{ item.value.mount[1:] | replace('-', '\\x2d') | replace('/', '-') }}.mount"
|
||||
with_dict: "{{ systemd_mounts }}"
|
||||
notify:
|
||||
- Reload systemd
|
||||
- Enable systemd mount
|
||||
when: item.key in systemd_mounts_enabled
|
||||
|
||||
- name: SYSTEMD MOUNT | Setup systemd Service for automount
|
||||
template:
|
||||
src: systemd.automount.j2
|
||||
dest: "/etc/systemd/system/{{ item.value.mount[1:] | replace('-', '\\x2d') | replace('/', '-') }}.automount"
|
||||
with_dict: "{{ systemd_mounts }}"
|
||||
notify:
|
||||
- Reload systemd
|
||||
- Enable systemd automount
|
||||
when: item.value.automount is defined and item.value.automount == true and item.key in systemd_mounts_enabled
|
9
templates/systemd.automount.j2
Normal file
9
templates/systemd.automount.j2
Normal file
@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Automount {{ item.key }}
|
||||
After=network.target multi-user.target
|
||||
|
||||
[Automount]
|
||||
Where={{ item.value.mount }}
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
12
templates/systemd.mount.j2
Normal file
12
templates/systemd.mount.j2
Normal file
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Mount {{ item.key }}
|
||||
After=network.target multi-user.target
|
||||
|
||||
[Mount]
|
||||
What={{ item.value.share }}
|
||||
Where={{ item.value.mount }}
|
||||
Type={{ item.value.type | default ('mounts_type') }}
|
||||
Options={{ item.value.options | join(',') | default ('mounts_options') }}
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
Loading…
Reference in New Issue
Block a user