mirror of
https://github.com/k3s-io/k3s-ansible.git
synced 2025-12-25 00:12:37 +01:00
* More flexible cgroup settings If there are already required cgroup boot parameters present but in a different order than specified, the script will add them again. It is better to test for the individual parameter in a loop and selectively add them as necessary. Signed-off-by: Marko Vukovic <anonsoftware@gmail.com> Signed-off-by: Marko Vukovic <anonsoftware@gmail.com> Signed-off-by: Marko Vukovic <8951449+anon-software@users.noreply.github.com>
51 lines
1.7 KiB
YAML
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 }}'
|
|
with_items:
|
|
- "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
|