Files
k3s-ansible/roles/raspberrypi/tasks/prereq/Raspbian.yml
Aleksei Sviridkin 826c53975d fix(ansible): replace deprecated entities and sync version requirements (#478)
* refactor(ansible): replace deprecated with_items and ansible facts

Replace deprecated `with_items` with `loop` keyword across all roles.
Migrate from legacy `ansible_*` top-level facts to `ansible_facts['*']`
syntax to prepare for ansible-core 2.24 where INJECT_FACTS_AS_VARS
will default to False.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>

* chore(ansible): sync minimum version requirements to 2.15

Align version checks in prereq and airgap roles with README requirement
of ansible-core 2.15+.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>

---------

Signed-off-by: Aleksei Sviridkin <f@lex.la>
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-22 10:11:29 -08:00

51 lines
1.7 KiB
YAML

---
- name: Check if /boot/firmware/cmdline.txt exists
ansible.builtin.stat:
path: /boot/firmware/cmdline.txt
register: boot_firmware_cmdline_txt
- name: Enable cgroup via boot commandline if not already enabled
ansible.builtin.replace:
path: "{{ (boot_firmware_cmdline_txt.stat.exists) | ternary('/boot/firmware/cmdline.txt', '/boot/cmdline.txt') }}"
regexp: '^([\w](?!.*\b{{ cgroup_item }}\b).*)$'
replace: '\1 {{ cgroup_item }}'
loop:
- "cgroup_enable=cpuset"
- "cgroup_memory=1"
- "cgroup_enable=memory"
loop_control:
loop_var: cgroup_item
notify: Reboot Pi
- name: Gather the package facts
ansible.builtin.package_facts:
manager: auto
# IPtables versions 1.6.1 and older have problems with K3s, so we force the use of
# iptables-legacy in that case.
- name: If old iptables found, change to iptables-legacy
when:
- ansible_facts.packages['iptables'] is defined
- ansible_facts.packages['iptables'][0]['version'] is version('1.6.2', '<')
block:
- name: Iptables version on node
ansible.builtin.debug:
msg: "iptables version {{ ansible_facts.packages['iptables'][0]['version'] }} found"
- name: Flush iptables before changing to iptables-legacy
ansible.builtin.iptables:
flush: true
changed_when: false # iptables flush always returns changed
- name: Changing to iptables-legacy
community.general.alternatives:
path: /usr/sbin/iptables-legacy
name: iptables
register: ip4_legacy
- name: Changing to ip6tables-legacy
community.general.alternatives:
path: /usr/sbin/ip6tables-legacy
name: ip6tables
register: ip6_legacy