Add preflight checks for cgroup kernel params in k3s setup

- Ensure cgroup kernel parameters are present before k3s installation.
- Introduce playbook changes to integrate cgroup prerequisites role.
This commit is contained in:
chrisfu 2026-01-28 14:35:29 -08:00
parent 11a1a32677
commit 7ecc69c969
2 changed files with 17 additions and 0 deletions

View File

@ -23,6 +23,13 @@
- local_user
- rsyslog
- name: K3s cgroup prerequisites
hosts: k3s_hosts
become: true
serial: 1
roles:
- cgroups
- name: K3s Cluster Setup
hosts: k3s_hosts
become: true

View File

@ -35,6 +35,16 @@
changed_when: false
failed_when: rancher_mounted.rc != 0
- name: Preflight - ensure cgroup kernel params are present
ansible.builtin.command: "cat /proc/cmdline"
register: k3s_proc_cmdline
changed_when: false
- name: Fail if cgroup params are missing (reboot required)
ansible.builtin.fail:
msg: "Missing cgroup params in /proc/cmdline: {{ ['cgroup_memory=1', 'cgroup_enable=memory'] | reject('in', k3s_proc_cmdline.stdout) | list }}. Reboot required before k3s install."
when: (['cgroup_memory=1', 'cgroup_enable=memory'] | reject('in', k3s_proc_cmdline.stdout) | list) | length > 0
- name: Guardrail - ensure rancher mountpoint is not on SD/rootfs
ansible.builtin.command: "findmnt -n -o SOURCE {{ k3s_rancher_mountpoint | default('/var/lib/rancher') }}"
register: rancher_source