mirror of
https://github.com/dredx/prole.git
synced 2026-09-27 14:54:30 +00:00
- Modified `10-server.conf.j2` to use `%HOSTNAME%/%programname%.log` for log file paths. - Added `noswap` role with tasks for swap management: disabling swap, removing swap entries, managing dphys-swapfile, and zramswap services. - Included handlers for reloading systemd after changes.
109 lines
2.5 KiB
YAML
109 lines
2.5 KiB
YAML
---
|
|
- name: Normalize swap_enabled fact
|
|
ansible.builtin.set_fact:
|
|
swap_enabled: "{{ swap_enabled | default(false) | bool }}"
|
|
|
|
# --- DISABLING SWAP ---
|
|
|
|
- name: Turn off all swap immediately
|
|
ansible.builtin.command: swapoff -a
|
|
changed_when: false
|
|
failed_when: false
|
|
when: not swap_enabled
|
|
|
|
- name: Remove swap entries from /etc/fstab
|
|
ansible.builtin.lineinfile:
|
|
path: /etc/fstab
|
|
state: absent
|
|
regexp: '^\s*[^#].*\s+swap\s+'
|
|
notify: reload systemd
|
|
when: not swap_enabled
|
|
|
|
- name: Check if dphys-swapfile is installed
|
|
ansible.builtin.command: dpkg -s dphys-swapfile
|
|
register: dphys_pkg
|
|
changed_when: false
|
|
failed_when: false
|
|
when: not swap_enabled
|
|
|
|
- name: Stop and disable dphys-swapfile service if present
|
|
ansible.builtin.systemd:
|
|
name: dphys-swapfile
|
|
state: stopped
|
|
enabled: false
|
|
when: not swap_enabled and dphys_pkg.rc == 0
|
|
failed_when: false
|
|
|
|
- name: Uninstall dphys-swapfile if present
|
|
ansible.builtin.apt:
|
|
name: dphys-swapfile
|
|
state: absent
|
|
purge: true
|
|
update_cache: false
|
|
when: not swap_enabled and dphys_pkg.rc == 0
|
|
|
|
- name: Check if zram-tools is installed
|
|
ansible.builtin.command: dpkg -s zram-tools
|
|
register: zram_pkg
|
|
changed_when: false
|
|
failed_when: false
|
|
when: not swap_enabled
|
|
|
|
- name: Stop and disable zramswap service if present
|
|
ansible.builtin.systemd:
|
|
name: zramswap
|
|
state: stopped
|
|
enabled: false
|
|
when: not swap_enabled and zram_pkg.rc == 0
|
|
failed_when: false
|
|
|
|
- name: Set vm.swappiness to 0
|
|
ansible.builtin.sysctl:
|
|
name: vm.swappiness
|
|
value: "0"
|
|
state: present
|
|
reload: true
|
|
when: not swap_enabled
|
|
|
|
# --- ENABLING SWAP ---
|
|
|
|
- name: Install dphys-swapfile for Raspberry Pi OS
|
|
ansible.builtin.apt:
|
|
name: dphys-swapfile
|
|
state: present
|
|
update_cache: true
|
|
when: swap_enabled
|
|
|
|
- name: Ensure dphys-swapfile is enabled and started
|
|
ansible.builtin.systemd:
|
|
name: dphys-swapfile
|
|
state: started
|
|
enabled: true
|
|
when: swap_enabled
|
|
|
|
- name: Set vm.swappiness to 10 (default)
|
|
ansible.builtin.sysctl:
|
|
name: vm.swappiness
|
|
value: "10"
|
|
state: present
|
|
reload: true
|
|
when: swap_enabled
|
|
|
|
- name: Turn on all swap
|
|
ansible.builtin.command: swapon -a
|
|
changed_when: false
|
|
failed_when: false
|
|
when: swap_enabled
|
|
|
|
# --- VERIFICATION ---
|
|
|
|
- name: Show active swap devices
|
|
ansible.builtin.command: swapon --show
|
|
register: swapon_show
|
|
changed_when: false
|
|
failed_when: false
|
|
|
|
- name: Print swapon --show
|
|
ansible.builtin.debug:
|
|
var: swapon_show.stdout_lines
|