mirror of
https://github.com/techno-tim/k3s-ansible.git
synced 2026-08-09 07:23:19 +02:00
56bb912bd3
k3s recommends swap be disabled on every node. Add a disable_swap toggle (default true) to the prereq role that turns swap off now and comments out the swap entries in /etc/fstab so swap stays off across reboots. The change is applied uniformly across all k3s_cluster hosts (all-or-nothing) since leaving swap on for some nodes but not others creates uneven scheduling and latency. - roles/prereq/defaults/main.yml: add disable_swap: true default - roles/prereq/tasks/main.yml: idempotent swapoff -a and fstab comment-out block gated on disable_swap - inventory/sample/group_vars/all.yml: document the new sample variable - README.md: document the disable_swap option - .github/scripts/test-disable-swap.sh: regression test - .pre-commit-config.yaml: wire the test into pre-commit Closes #670
38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -Eeuo pipefail
|
|
|
|
repo_root="$(git rev-parse --show-toplevel)"
|
|
prereq_defaults="$repo_root/roles/prereq/defaults/main.yml"
|
|
prereq_tasks="$repo_root/roles/prereq/tasks/main.yml"
|
|
|
|
# #670: k3s recommends swap be disabled on all nodes. The prereq role must expose
|
|
# a disable_swap toggle (defaulting to true) that turns swap off now and comments
|
|
# out the /etc/fstab swap entries so swap stays off across reboots.
|
|
grep -Eq -- '^disable_swap: true' "$prereq_defaults" || {
|
|
printf 'prereq defaults are missing disable_swap: true\n' >&2
|
|
exit 1
|
|
}
|
|
|
|
grep -Fq -- 'Disable swap on all cluster nodes' "$prereq_tasks" || {
|
|
printf 'prereq tasks are missing the swap-disable block\n' >&2
|
|
exit 1
|
|
}
|
|
|
|
grep -Fq -- 'swapoff -a' "$prereq_tasks" || {
|
|
printf 'swap-disable block does not run swapoff -a\n' >&2
|
|
exit 1
|
|
}
|
|
|
|
grep -Fq -- '/etc/fstab' "$prereq_tasks" || {
|
|
printf 'swap-disable block does not comment out /etc/fstab swap entries\n' >&2
|
|
exit 1
|
|
}
|
|
|
|
if ! grep -Eq -- 'when: disable_swap' "$prereq_tasks"; then
|
|
printf 'swap-disable block is not gated on the disable_swap toggle\n' >&2
|
|
exit 1
|
|
fi
|
|
|
|
printf 'Swap disable regression test passed\n'
|