diff options
Diffstat (limited to 'roles')
-rw-r--r-- | roles/containerd/tasks/zfs.yml | 7 | ||||
-rw-r--r-- | roles/vm/host/tasks/zfs.yml | 11 | ||||
-rw-r--r-- | roles/vm/install/tasks/main.yml | 3 |
3 files changed, 8 insertions, 13 deletions
diff --git a/roles/containerd/tasks/zfs.yml b/roles/containerd/tasks/zfs.yml index 2ebcae3c..1abf4d34 100644 --- a/roles/containerd/tasks/zfs.yml +++ b/roles/containerd/tasks/zfs.yml @@ -1,16 +1,11 @@ --- ## containerd from ubuntu doesn't support zfs directly ## we need to create a volume and an ext4 fs on top of that... -- name: verify that the zfs volsize property is set - assert: - msg: "contained does not support zfs directly - please set the volsize property to make it a volume" - that: "'volsize' in containerd_zfs.properties" - - name: create zfs volume zfs: name: "{{ containerd_zfs.pool }}/{{ containerd_zfs.name }}" state: present - extra_zfs_properties: "{{ containerd_zfs.properties }}" + extra_zfs_properties: "{{ containerd_zfs.properties | default({}) | combine({'volsize': item.value.size}) }}" - name: create and ext4 filesystem on the zfs volume filesystem: diff --git a/roles/vm/host/tasks/zfs.yml b/roles/vm/host/tasks/zfs.yml index b88ee73e..b84f2d0d 100644 --- a/roles/vm/host/tasks/zfs.yml +++ b/roles/vm/host/tasks/zfs.yml @@ -2,14 +2,15 @@ - name: create zfs base datasets loop: "{{ lookup('dict', vm_host.zfs, wantlist=True) }}" loop_control: - label: "{{ item.key }} -> {{ item.value.pool }}/{{ item.value.name }}{% if 'quota' in item.value %}={{ item.value.quota }}{% endif %}" + label: "{{ item.key }} -> {{ item.value.pool }}/{{ item.value.name }} ({{ (item.value.properties | default({})).items() | map('join', '=') | join(', ') }})" + vars: + default_properties: + canmount: no + mountpoint: none zfs: name: "{{ item.value.pool }}/{{ item.value.name }}" state: present - extra_zfs_properties: - quota: "{{ item.value.quota | default(omit) }}" - canmount: no - mountpoint: none + extra_zfs_properties: "{{ default_properties | combine(item.value.properties | default({})) }}" - name: configure lvm to ignore zfs volumes lineinfile: diff --git a/roles/vm/install/tasks/main.yml b/roles/vm/install/tasks/main.yml index 13716559..6b8f9ca7 100644 --- a/roles/vm/install/tasks/main.yml +++ b/roles/vm/install/tasks/main.yml @@ -25,8 +25,7 @@ zfs: name: "{{ vm_host_cooked.zfs[item.value.backend | default('default')].pool }}/{{ vm_host_cooked.zfs[item.value.backend | default('default')].name }}/{{ install_hostname }}/{{ item.value.name }}" state: present - extra_zfs_properties: - volsize: "{{ item.value.size }}" + extra_zfs_properties: "{{ item.value.properties | default({}) | combine({'volsize': item.value.size}) }}" - block: |