diff options
Diffstat (limited to 'roles/storage/zfs')
-rw-r--r-- | roles/storage/zfs/volume/defaults/main.yml | 9 | ||||
-rw-r--r-- | roles/storage/zfs/volume/tasks/main.yml | 17 |
2 files changed, 26 insertions, 0 deletions
diff --git a/roles/storage/zfs/volume/defaults/main.yml b/roles/storage/zfs/volume/defaults/main.yml new file mode 100644 index 00000000..37733d42 --- /dev/null +++ b/roles/storage/zfs/volume/defaults/main.yml @@ -0,0 +1,9 @@ +--- +# zfs_volume: +# dest: /srv/foo/bar +# pool: foo +# name: bar +# properties: +# quota: 10G + +zfs_volume: "{{ storage_volume }}" diff --git a/roles/storage/zfs/volume/tasks/main.yml b/roles/storage/zfs/volume/tasks/main.yml new file mode 100644 index 00000000..f13f6950 --- /dev/null +++ b/roles/storage/zfs/volume/tasks/main.yml @@ -0,0 +1,17 @@ +--- +- name: create zfs dataset + zfs: + name: "{{ zfs_volume.pool }}/{{ zfs_volume.name }}" + state: present + extra_zfs_properties: "{{ zfs_volume.properties | default(omit) }}" + +- name: bind mount filesystem + vars: + zfs_mountpoint: "{{ (zfs_pools[zfs_volume.pool].mountpoint, zfs_volume.name) | path_join }}" + when: zfs_volume.dest != zfs_mountpoint + mount: + src: "{{ zfs_mountpoint }}" + path: "{{ zfs_volume.dest }}" + fstype: none + opts: bind,x-systemd.automount,nofail + state: mounted |