|
- {%- from "linux/map.jinja" import storage with context %}
-
- {%- if storage.get('enabled', False) %}
-
- {%- for device, loopback in storage.loopback|dictsort %}
-
- {%- if loopback.get('enabled', True) %}
-
- {{ salt['file.dirname'](loopback.file) }}:
- file.directory:
- - makedirs: true
- - require_in:
- - file: {{ loopback.file }}
-
- {{ loopback.file }}:
- cmd.run:
- - name: "truncate --size {{ loopback.size|default('1G') }} {{ loopback.file }}"
- - creates: {{ loopback.file }}
-
- loopback_{{ device }}_init_script:
- file.managed:
- {%- if grains.get('init', None) == 'upstart' %}
- - name: /etc/init/setup-loopback-{{ device }}.conf
- - source: salt://linux/files/setup-loopback-device.upstart
- {%- else %}
- - name: /etc/systemd/system/setup-loopback-{{ device }}.service
- - source: salt://linux/files/setup-loopback-device.systemd
- {%- endif %}
- - template: jinja
- - defaults:
- file: {{ loopback.file }}
- device_name: "/dev/loop{{ loop.index0 }}"
-
- setup-loopback-{{ device }}:
- service.running:
- - enable: true
- - require:
- - cmd: {{ loopback.file }}
- - file: loopback_{{ device }}_init_script
- {%- endif %}
-
- {%- endfor %}
-
- {%- endif %}
|