Saltstack Official Linux Formula
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

62 行
1.5KB

  1. {%- from "linux/map.jinja" import storage with context %}
  2. {%- if storage.enabled %}
  3. {%- for swap_name, swap in storage.swap.iteritems() %}
  4. {%- if swap.enabled %}
  5. {%- if swap.engine == 'partition' %}
  6. linux_create_swap_partition_{{ swap.device }}:
  7. cmd.run:
  8. - name: 'mkswap {{ swap.device }}'
  9. - onlyif: "test `file -L -s {{ swap.device }} | grep 'swap file' >/dev/null;echo $?` -ne 0"
  10. - creates: {{ swap.device }}
  11. linux_set_swap_partition_{{ swap.device }}:
  12. cmd.run:
  13. - name: 'swapon {{ swap.device }}'
  14. - unless: grep $(readlink -f {{ swap.device }}) /proc/swaps
  15. - require:
  16. - cmd: linux_create_swap_partition_{{ swap.device }}
  17. {{ swap.device }}:
  18. mount.swap:
  19. - persist: True
  20. - require:
  21. - cmd: linux_set_swap_partition_{{ swap.device }}
  22. {%- elif swap.engine == 'file' %}
  23. linux_create_swap_file_{{ swap.device }}:
  24. cmd.run:
  25. - name: 'dd if=/dev/zero of={{ swap.device }} bs=1048576 count={{ swap.size }} && chmod 0600 {{ swap.device }}'
  26. - creates: {{ swap.device }}
  27. linux_set_swap_file_{{ swap.device }}:
  28. cmd.wait:
  29. - name: 'mkswap {{ swap.device }}'
  30. - watch:
  31. - cmd: linux_create_swap_file_{{ swap.device }}
  32. linux_set_swap_file_status_{{ swap.device }}:
  33. cmd.run:
  34. - name: 'swapon {{ swap.device }}'
  35. - unless: grep {{ swap.device }} /proc/swaps
  36. - require:
  37. - cmd: linux_set_swap_file_{{ swap.device }}
  38. {{ swap.device }}:
  39. mount.swap:
  40. - persist: True
  41. - require:
  42. - cmd: linux_set_swap_file_{{ swap.device }}
  43. {%- endif %}
  44. {%- endif %}
  45. {%- endfor %}
  46. {%- endif %}