diff --git a/roles/kubernetes/node/defaults/main.yml b/roles/kubernetes/node/defaults/main.yml
index 55045d4148cf2a0efd603f988d19be0123178e9f..611801318c63d5ea6599a39a4d230f4fc521e999 100644
--- a/roles/kubernetes/node/defaults/main.yml
+++ b/roles/kubernetes/node/defaults/main.yml
@@ -20,9 +20,6 @@ kubelet_kubelet_cgroups: "/{{ kube_service_cgroups }}/kubelet.service"
 kubelet_runtime_cgroups_cgroupfs: "/system.slice/{{ container_manager }}.service"
 kubelet_kubelet_cgroups_cgroupfs: "/system.slice/kubelet.service"
 
-### fail with swap on (default true)
-kubelet_fail_swap_on: true
-
 # Set systemd service hardening features
 kubelet_systemd_hardening: false
 
diff --git a/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2 b/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2
index cdaae67b7580c4fb08352372e90e7f238f2f5e36..d8cc557f4935b472afb846ba710a8fb951bcf116 100644
--- a/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2
+++ b/roles/kubernetes/node/templates/kubelet-config.v1beta1.yaml.j2
@@ -1,7 +1,7 @@
 apiVersion: kubelet.config.k8s.io/v1beta1
 kind: KubeletConfiguration
 nodeStatusUpdateFrequency: "{{ kubelet_status_update_frequency }}"
-failSwapOn: {{ kubelet_fail_swap_on|default(true) }}
+failSwapOn: {{ kubelet_fail_swap_on }}
 authentication:
   anonymous:
     enabled: false
@@ -140,9 +140,9 @@ eventRecordQPS: {{ kubelet_event_record_qps }}
 {% endif %}
 shutdownGracePeriod: {{ kubelet_shutdown_grace_period }}
 shutdownGracePeriodCriticalPods: {{ kubelet_shutdown_grace_period_critical_pods }}
-{% if not kubelet_fail_swap_on|default(true) %}
+{% if not kubelet_fail_swap_on %}
 memorySwap:
-  swapBehavior: {{ kubelet_swap_behavior|default("LimitedSwap") }}
+  swapBehavior: {{ kubelet_swap_behavior }}
 {% endif %}
 {% if kubelet_streaming_connection_idle_timeout is defined %}
 streamingConnectionIdleTimeout: {{ kubelet_streaming_connection_idle_timeout }}
diff --git a/roles/kubernetes/preinstall/tasks/0010-swapoff.yml b/roles/kubernetes/preinstall/tasks/0010-swapoff.yml
index 4ea91d83e7e9e978809cec56bac1f2cd1650064b..c3c5e9e91220eb44a87213149a0d7f8b6ba6e471 100644
--- a/roles/kubernetes/preinstall/tasks/0010-swapoff.yml
+++ b/roles/kubernetes/preinstall/tasks/0010-swapoff.yml
@@ -4,7 +4,7 @@
     name: "{{ item }}"
     fstype: swap
     state: absent
-  with_items:
+  loop:
     - swap
     - none
 
@@ -18,7 +18,6 @@
   command: /sbin/swapoff -a
   when:
     - swapon.stdout
-    - kubelet_fail_swap_on | default(True)
   ignore_errors: "{{ ansible_check_mode }}"  # noqa ignore-errors
 
 - name: Disable swapOnZram for Fedora
@@ -26,4 +25,3 @@
   when:
     - swapon.stdout
     - ansible_distribution in ['Fedora']
-    - kubelet_fail_swap_on | default(True)
diff --git a/roles/kubernetes/preinstall/tasks/main.yml b/roles/kubernetes/preinstall/tasks/main.yml
index 95aa4c6380440c13bf197f22fb1d42b75d3b7b5d..8e12636ec4f81bfb42bc50507c86d2865c46cd3f 100644
--- a/roles/kubernetes/preinstall/tasks/main.yml
+++ b/roles/kubernetes/preinstall/tasks/main.yml
@@ -3,7 +3,7 @@
 - import_tasks: 0010-swapoff.yml
   when:
     - not dns_late
-    - disable_swap
+    - kubelet_fail_swap_on
 
 - import_tasks: 0020-set_facts.yml
   tags:
diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml
index eb8fbaa11bf1932e84234213b1b331280699cad0..aed6c7e0a6587298f9ded4bef78f14f0a4ca5cc9 100644
--- a/roles/kubespray-defaults/defaults/main.yaml
+++ b/roles/kubespray-defaults/defaults/main.yaml
@@ -11,8 +11,9 @@ kube_api_anonymous_auth: true
 # Default value, but will be set to true automatically if detected
 is_fedora_coreos: false
 
-# optional disable the swap
-disable_swap: true
+# Swap settings
+kubelet_fail_swap_on: true
+kubelet_swap_behavior: LimitedSwap
 
 ## Change this to use another Kubernetes version, e.g. a current beta release
 kube_version: v1.26.3
diff --git a/tests/files/packet_fedora35-calico-swap-selinux.yml b/tests/files/packet_fedora35-calico-swap-selinux.yml
index 1535642ccea81eac71c8f6b18c7304839919b3ea..c8f058effce8aac19b505c719f7a159b5bab028e 100644
--- a/tests/files/packet_fedora35-calico-swap-selinux.yml
+++ b/tests/files/packet_fedora35-calico-swap-selinux.yml
@@ -14,6 +14,6 @@ kube_proxy_mode: iptables
 preinstall_selinux_state: enforcing
 
 # Test Alpha swap feature by leveraging zswap default config in Fedora 35
-kubelet_fail_swap_on: False
+kubelet_fail_swap_on: false
 kube_feature_gates:
   - "NodeSwap=True"