ansible/tasks/swap.yml
2022-01-23 23:15:49 +01:00

75 lines
1.5 KiB
YAML

# use variables:
# swap_file_size_mb
# swap_file_path
- name: Touch an empty file that we will use for swap
copy:
content: ""
dest: "{{ swap_file_path }}"
force: no
register: swap_touch
- name: On BTRFS we need NoCOW
file:
path: "{{ swap_file_path }}"
attr: +C
when: swap_touch.changed
- name: Create swap file
command:
cmd: "dd if=/dev/zero of={{ swap_file_path }} bs=1024 count={{ swap_file_size_mb }}k"
when: swap_touch.changed
tags:
- swap.file.create
- swap
- name: Change swap file permissions
file: path="{{ swap_file_path }}"
owner=root
group=root
mode=0600
tags:
- swap.file.permissions
- swap
- name: Check swap file type
command: file {{ swap_file_path }}
register: swapfile
changed_when: False
tags:
- swap.file.mkswap
- swap
- name: Make swap file
filesystem:
fstype: swap
dev: "{{ swap_file_path }}"
when: swapfile.stdout.find('swap file') == -1
tags:
- swap.file.mkswap
- swap
- name: Write swap entry in fstab
mount: path=none
src={{ swap_file_path }}
fstype=swap
opts=sw
passno=0
dump=0
state=present
register: swap_fstab_added
tags:
- swap.fstab
- swap
- name: Mount swap
command: "swapon -a"
#when: ansible_swaptotal_mb|int < 1
when: swap_fstab_added.changed
tags:
- swap.file.swapon
- swap
notify: restart swap.swap
- name: Start swap.swap service
service: state=started enabled=yes name="swap.swap"