summaryrefslogtreecommitdiff
path: root/roles/storage/zfs/volume/tasks/main.yml
blob: 1bd198bba1f58b85f56ac9173430d20446acb04c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
---
- name: create zfs dataset
  zfs:
    name: "{{ zfs_volume.pool }}/{{ zfs_volume.name }}"
    extra_zfs_properties: "{{ zfs_volume.properties | dehumanize_zfs_properties | default(omit) }}"
    state: present

- name: bind mount filesystem
  vars:
    zfs_mountpoint: "{{ (zfs_pools[zfs_volume.pool].mountpoint, zfs_volume.name) | path_join }}"
  when:
  - "'dest' in zfs_volume"
  - zfs_volume.dest != zfs_mountpoint
  mount:
    src: "{{ zfs_mountpoint }}"
    path: "{{ zfs_volume.dest }}"
    fstype: none
    opts: bind,x-systemd.automount,nofail
    state: mounted

- name: set volume owner/group and mode
  file:
    state: directory
    path: "{{ zfs_volume.dest | default((zfs_pools[zfs_volume.pool].mountpoint, zfs_volume.name) | path_join) }}"
    mode: "{{ zfs_volume.mode | default(omit) }}"
    owner: "{{ zfs_volume.owner | default(omit) }}"
    group: "{{ zfs_volume.group | default(omit) }}"