diff --git a/ansible/roles/haproxy/tasks/precheck.yml b/ansible/roles/haproxy/tasks/precheck.yml
index bc8840ef76..3e5973205a 100644
--- a/ansible/roles/haproxy/tasks/precheck.yml
+++ b/ansible/roles/haproxy/tasks/precheck.yml
@@ -10,11 +10,13 @@
   local_action: file path=/tmp/kolla_keepalived_running state=absent
   changed_when: False
   check_mode: no
+  run_once: true
 
 - name: Create empty temp kolla_keepalived_running file
   local_action: copy content=None dest=/tmp/kolla_keepalived_running mode=0644
   changed_when: False
   check_mode: no
+  run_once: true
 
 - name: Getting hosts who is running keepalived
   local_action: copy content={{ ansible_hostname }} dest=/tmp/kolla_keepalived_running mode=0644
@@ -33,6 +35,7 @@
   local_action: file path=/tmp/kolla_keepalived_running state=absent
   changed_when: False
   check_mode: no
+  run_once: true
 
 - name: Checking the kolla_external_vip_interface is present
   fail: "msg='Please check the kolla_external_vip_interface property - interface {{ kolla_external_vip_interface }} not found'"