diff --git a/ansible/roles/prechecks/tasks/port_checks.yml b/ansible/roles/prechecks/tasks/port_checks.yml
index 15a12a53a828e417b37e65151352a68e47d94b4a..3aeada5287ec9a461ea925aff97408319abb13c4 100644
--- a/ansible/roles/prechecks/tasks/port_checks.yml
+++ b/ansible/roles/prechecks/tasks/port_checks.yml
@@ -601,6 +601,22 @@
     state: stopped
   when: inventory_hostname in groups['haproxy']
 
+- name: Checking free port for Watcher API
+  wait_for:
+    host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
+    port: "{{ watcher_api_port }}"
+    connect_timeout: 1
+    state: stopped
+  when: inventory_hostname in groups['watcher-api']
+
+- name: Checking free port for Watcher API HAProxy
+  wait_for:
+    host: "{{ kolla_internal_vip_address }}"
+    port: "{{ watcher_api_port }}"
+    connect_timeout: 1
+    state: stopped
+  when: inventory_hostname in groups['haproxy']
+
 - name: Checking if kolla_internal_vip_address and kolla_external_vip_address are not pingable from any node
   command: ping -c 3 {{ item }}
   register: ping_output