2020-02-24 19:01:38 +01:00
|
|
|
# use variables:
|
|
|
|
# swap_file_size_mb
|
|
|
|
# swap_file_path
|
|
|
|
|
2024-11-27 13:48:08 +10:00
|
|
|
---
|
2022-01-23 21:28:16 +01:00
|
|
|
- name: Touch an empty file that we will use for swap
|
2024-12-18 08:23:28 +10:00
|
|
|
ansible.builtin.copy:
|
2022-01-23 23:15:49 +01:00
|
|
|
content: ""
|
|
|
|
dest: "{{ swap_file_path }}"
|
|
|
|
force: no
|
2022-01-23 21:45:30 +01:00
|
|
|
register: swap_touch
|
2022-11-29 16:02:44 +01:00
|
|
|
tags:
|
|
|
|
- swap
|
2022-01-23 21:28:16 +01:00
|
|
|
|
|
|
|
- name: On BTRFS we need NoCOW
|
2024-12-17 15:31:55 +10:00
|
|
|
ansible.builtin.file:
|
2022-01-23 21:32:41 +01:00
|
|
|
path: "{{ swap_file_path }}"
|
|
|
|
attr: +C
|
2024-03-13 20:18:20 +01:00
|
|
|
when:
|
|
|
|
- swap_touch.changed
|
|
|
|
- ansible_distribution == 'Fedora'
|
2022-11-29 16:02:44 +01:00
|
|
|
tags:
|
|
|
|
- swap
|
2022-01-23 21:28:16 +01:00
|
|
|
|
2020-02-24 19:01:38 +01:00
|
|
|
- name: Create swap file
|
2024-12-19 11:22:24 +10:00
|
|
|
ansible.builtin.command:
|
2020-02-24 19:01:38 +01:00
|
|
|
cmd: "dd if=/dev/zero of={{ swap_file_path }} bs=1024 count={{ swap_file_size_mb }}k"
|
2022-01-23 21:45:30 +01:00
|
|
|
when: swap_touch.changed
|
2020-02-24 19:01:38 +01:00
|
|
|
tags:
|
|
|
|
- swap.file.create
|
|
|
|
- swap
|
|
|
|
|
|
|
|
- name: Change swap file permissions
|
2024-12-17 15:31:55 +10:00
|
|
|
ansible.builtin.file: path="{{ swap_file_path }}"
|
2020-02-24 19:01:38 +01:00
|
|
|
owner=root
|
|
|
|
group=root
|
|
|
|
mode=0600
|
|
|
|
tags:
|
|
|
|
- swap.file.permissions
|
|
|
|
- swap
|
|
|
|
|
|
|
|
- name: Check swap file type
|
2024-12-19 11:22:24 +10:00
|
|
|
ansible.builtin.command: file {{ swap_file_path }}
|
2020-02-24 19:01:38 +01:00
|
|
|
register: swapfile
|
2024-11-27 13:48:08 +10:00
|
|
|
changed_when: false
|
2020-02-24 19:01:38 +01:00
|
|
|
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
|
2020-02-24 20:13:47 +01:00
|
|
|
state=present
|
2020-03-17 10:11:26 +01:00
|
|
|
register: swap_fstab_added
|
2020-02-24 19:01:38 +01:00
|
|
|
tags:
|
|
|
|
- swap.fstab
|
|
|
|
- swap
|
2020-02-24 20:13:47 +01:00
|
|
|
|
|
|
|
- name: Mount swap
|
2024-12-19 11:22:24 +10:00
|
|
|
ansible.builtin.command: "swapon -a"
|
2024-11-27 13:48:08 +10:00
|
|
|
# when: ansible_swaptotal_mb|int < 1
|
2020-03-17 10:11:26 +01:00
|
|
|
when: swap_fstab_added.changed
|
2020-02-24 20:13:47 +01:00
|
|
|
tags:
|
|
|
|
- swap.file.swapon
|
|
|
|
- swap
|
2025-02-07 13:51:07 +01:00
|
|
|
notify: Restart swap.swap
|
2022-01-23 22:20:30 +01:00
|
|
|
|
2025-01-14 20:18:57 +10:00
|
|
|
- name: Remove zram-generator-defaults
|
2024-12-19 13:22:42 +10:00
|
|
|
ansible.builtin.package:
|
2022-11-29 16:02:44 +01:00
|
|
|
name: zram-generator-defaults
|
|
|
|
state: absent
|
|
|
|
register: remove_zram_generator
|
|
|
|
tags:
|
|
|
|
- swap.file.dropzrampackage
|
|
|
|
- swap
|
|
|
|
|
2025-01-14 20:18:57 +10:00
|
|
|
- name: Disable zram0
|
2024-12-19 16:42:30 +10:00
|
|
|
ansible.builtin.shell: swapoff /dev/zram0
|
2022-11-29 16:02:44 +01:00
|
|
|
tags:
|
|
|
|
- swap
|
|
|
|
- swap.file.swapoffzram
|
|
|
|
when:
|
|
|
|
- remove_zram_generator.changed
|
|
|
|
|
2022-11-18 18:45:04 +01:00
|
|
|
# - name: Start swap.swap service
|
|
|
|
# service: state=started enabled=yes name="swap.swap"
|