Saltstack Official Linux Formula
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

36 lines
949B

  1. {%- from "linux/map.jinja" import storage with context %}
  2. {%- if storage.enabled %}
  3. {%- for disk_name, disk in storage.disk.iteritems() %}
  4. {%- if disk.type is defined %}
  5. create_disk_label:
  6. module.run:
  7. - name: partition.mklabel
  8. - device: {{ disk.name|default(disk_name) }}
  9. - label_type: {{ disk.get('type', 'gpt') }}
  10. - unless: fdisk -l | grep {{ disk.get('type', 'gpt') }}
  11. {%- endif %}
  12. {% set end_size = 0 -%}
  13. {%- for partition in disk.get('partitions', []) %}
  14. {%- if not salt['partition.exists'](disk.get('name', disk_name)+'p'~loop.index) %}
  15. create_partition_{{ disk.name|default(disk_name) }}_{{ loop.index }}:
  16. module.run:
  17. - name: partition.mkpart
  18. - device: {{ disk.name|default(disk_name) }}
  19. - part_type: primary
  20. - fs_type: {{ partition.type }}
  21. - start: {{ end_size }}MB
  22. - end: {{ end_size + partition.size }}MB
  23. {%- endif %}
  24. {% set end_size = end_size + partition.size -%}
  25. {%- endfor %}
  26. {%- endfor %}
  27. {%- endif %}