diff --git a/Vagrantfile b/Vagrantfile
index 49325a6016c6fd51c44c60b628a9cfc3db54d35c..40109f9b377839a7b0b2fed7c74ccaae94cc6721 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -129,6 +129,9 @@ Vagrant.configure("2") do |config|
         config.vm.provision "shell", inline: "service network restart", run: "always"
       end
 
+      # Disable swap for each vm
+      config.vm.provision "shell", inline: "swapoff -a"
+
       # Only execute once the Ansible provisioner,
       # when all the machines are up and ready.
       if i == $num_instances
diff --git a/roles/kubernetes/preinstall/tasks/verify-settings.yml b/roles/kubernetes/preinstall/tasks/verify-settings.yml
index 288964bd17a1dfae6ebc8e16279ca81c1c00eff2..cbb5357b33ff4dc5e3e1d7076eedbcf0cf5ea436 100644
--- a/roles/kubernetes/preinstall/tasks/verify-settings.yml
+++ b/roles/kubernetes/preinstall/tasks/verify-settings.yml
@@ -71,3 +71,9 @@
   command: ping -c1 {{ access_ip }}
   when: access_ip is defined
   ignore_errors: "{{ ignore_assert_errors }}"
+
+- name: Stop if swap enabled
+  assert:
+    that: ansible_swaptotal_mb == 0
+  when: kubelet_fail_swap_on|default(true)
+  ignore_errors: "{{ ignore_assert_errors }}"