blob: 9c999560d17b0004283154659c313927182f2b2d [file] [log] [blame]
{%- from "linux/map.jinja" import storage with context %}
{%- if storage.enabled %}
linux_lvm_pkgs:
pkg.installed:
- pkgs: {{ storage.lvm_pkgs }}
{%- for vgname, vg in storage.lvm.iteritems() %}
{%- if vg.get('enabled', True) %}
{%- for dev in vg.devices %}
lvm_{{ vg.get('name', vgname) }}_pv_{{ dev }}:
lvm.pv_present:
- name: {{ dev }}
- require:
- pkg: linux_lvm_pkgs
- require_in:
- lvm: lvm_vg_{{ vg.get('name', vgname) }}
{%- endfor %}
lvm_vg_{{ vg.get('name', vgname) }}:
lvm.vg_present:
- name: {{ vg.get('name', vgname) }}
- devices: {{ vg.devices|join(',') }}
{%- for lvname, volume in vg.get('volume', {}).iteritems() %}
lvm_{{ vg.get('name', vgname) }}_lv_{{ volume.get('name', lvname) }}:
lvm.lv_present:
- name: {{ volume.get('name', lvname) }}
- vgname: {{ vg.get('name', vgname) }}
- size: {{ volume.size }}
- require:
- lvm: lvm_vg_{{ vg.get('name', vgname) }}
{%- if volume.mount is defined %}
- require_in:
- mount: {{ volume.mount.path }}
{%- if not volume.mount.get('file_system', None) in ['nfs', 'nfs4', 'cifs', 'tmpfs', None] %}
- cmd: mkfs_{{ volume.mount.device}}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- endif %}
{%- endfor %}
{%- endif %}