Saltstack Official Linux Formula
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

46 lines
1.2KB

  1. {%- from "linux/map.jinja" import storage with context %}
  2. {%- if storage.get('enabled', False) %}
  3. {%- for device, loopback in storage.loopback|dictsort %}
  4. {%- if loopback.get('enabled', True) %}
  5. {{ loopback.file }}_directory:
  6. file.directory:
  7. - name: {{ salt['file.dirname'](loopback.file) }}
  8. - makedirs: true
  9. - require_in:
  10. - file: {{ loopback.file }}
  11. {{ loopback.file }}:
  12. cmd.run:
  13. - name: "truncate --size {{ loopback.size|default('1G') }} {{ loopback.file }}"
  14. - creates: {{ loopback.file }}
  15. loopback_{{ device }}_init_script:
  16. file.managed:
  17. {%- if grains.get('init', None) == 'upstart' %}
  18. - name: /etc/init/setup-loopback-{{ device }}.conf
  19. - source: salt://linux/files/setup-loopback-device.upstart
  20. {%- else %}
  21. - name: /etc/systemd/system/setup-loopback-{{ device }}.service
  22. - source: salt://linux/files/setup-loopback-device.systemd
  23. {%- endif %}
  24. - template: jinja
  25. - defaults:
  26. file: {{ loopback.file }}
  27. device_name: "/dev/loop{{ loop.index0 }}"
  28. setup-loopback-{{ device }}:
  29. service.running:
  30. - enable: true
  31. - require:
  32. - cmd: {{ loopback.file }}
  33. - file: loopback_{{ device }}_init_script
  34. {%- endif %}
  35. {%- endfor %}
  36. {%- endif %}