--- - 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