summaryrefslogtreecommitdiff
path: root/roles/storage/mdadm/volume
diff options
context:
space:
mode:
Diffstat (limited to 'roles/storage/mdadm/volume')
-rw-r--r--roles/storage/mdadm/volume/defaults/main.yml12
-rw-r--r--roles/storage/mdadm/volume/tasks/main.yml31
2 files changed, 43 insertions, 0 deletions
diff --git a/roles/storage/mdadm/volume/defaults/main.yml b/roles/storage/mdadm/volume/defaults/main.yml
new file mode 100644
index 00000000..b4a16a1d
--- /dev/null
+++ b/roles/storage/mdadm/volume/defaults/main.yml
@@ -0,0 +1,12 @@
+---
+# mdadm_volume:
+# name: mdfoobar
+# level: 1
+# devices:
+# - /dev/disk/by-id/foo
+# - /dev/disk/by-id/bar
+# fs: ext4
+# dest: /srv/foobar
+# mntopts: x-systemd.automount,nofail
+
+mdadm_volume: "{{ storage_volume }}"
diff --git a/roles/storage/mdadm/volume/tasks/main.yml b/roles/storage/mdadm/volume/tasks/main.yml
new file mode 100644
index 00000000..c7c6f3f9
--- /dev/null
+++ b/roles/storage/mdadm/volume/tasks/main.yml
@@ -0,0 +1,31 @@
+---
+- name: create mdadm device
+ vars:
+ mdadm_device: "{{ mdadm_volume }}"
+ include_role:
+ name: storage/mdadm/device
+
+- name: create filesystem
+ filesystem:
+ dev: "{{ storage_device_path }}"
+ fstype: "{{ mdadm_volume.fs }}"
+
+- name: mount filesytem
+ mount:
+ src: "{{ storage_device_path }}"
+ path: "{{ mdadm_volume.dest }}"
+ fstype: "{{ mdadm_volume.fs }}"
+ opts: "{{ mdadm_volume.mntopts | default(omit) }}"
+ state: mounted
+
+- name: set volume owner/group and mode
+ file:
+ state: directory
+ path: "{{ mdadm_volume.dest }}"
+ mode: "{{ mdadm_volume.mode | default(omit) }}"
+ owner: "{{ mdadm_volume.owner | default(omit) }}"
+ group: "{{ mdadm_volume.group | default(omit) }}"
+
+- name: export volume mountpoint
+ set_fact:
+ storage_volume_mountpoint: "{{ mdadm_volume.dest }}"