|
- {%- from "linux/map.jinja" import storage with context %}
- {%- if storage.enabled %}
-
- {%- for name, mount in storage.mount|dictsort %}
-
- {%- if mount.enabled %}
-
- {%- if not mount.file_system in ['nfs', 'nfs4', 'cifs', 'tmpfs', 'none'] %}
-
- mkfs_{{ mount.device}}:
- cmd.run:
- - name: "mkfs.{{ mount.file_system }} -L {{ name }} {{ mount.device }}"
- - onlyif: "test `blkid {{ mount.device }} | grep -q TYPE;echo $?` -eq 1"
- - require_in:
- - mount: {{ mount.path }}
- {%- if mount.file_system == 'xfs' %}
- - require:
- - pkg: xfs_packages_{{ mount.device }}
-
- xfs_packages_{{ mount.device }}:
- pkg.installed:
- - name: xfsprogs
- {%- endif %}
-
- {%- endif %}
-
- {%- if mount.file_system == 'nfs' %}
- linux_storage_nfs_packages_{{ mount.path }}:
- pkg.installed:
- - pkgs: {{ storage.nfs.pkgs | json }}
- {%- endif %}
-
- {{ mount.path }}:
- mount.mounted:
- - order: 1
- - device: {{ mount.device }}
- - fstype: {{ mount.file_system }}
- - mkmnt: True
- - opts: {{ mount.get('opts', 'defaults,noatime') }}
- - dump: {{ mount.dump|default('0', true) }}
- - pass_num: {{ mount.pass_num|default('0', true) }}
- {%- if mount.file_system == 'xfs' %}
- - require:
- - pkg: xfs_packages_{{ mount.device }}
- {%- endif %}
-
- {%- if mount.user is defined %}
- {{ mount.path }}_permissions:
- file.directory:
- - name: {{ mount.path }}
- - user: {{ mount.user }}
- - group: {{ mount.get('group', 'root') }}
- - mode: {{ mount.get('mode', 755) }}
- - require:
- - mount: {{ mount.path }}
- {%- endif %}
-
- {%- endif %}
-
- {%- endfor %}
-
- {%- endif %}
|