diff --git a/ansible/roles/aodh/tasks/precheck.yml b/ansible/roles/aodh/tasks/precheck.yml
index 89413eac7f..b9389d525e 100644
--- a/ansible/roles/aodh/tasks/precheck.yml
+++ b/ansible/roles/aodh/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ aodh_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['aodh_api'] is not defined
diff --git a/ansible/roles/barbican/tasks/precheck.yml b/ansible/roles/barbican/tasks/precheck.yml
index 6a71e74224..11a349eada 100644
--- a/ansible/roles/barbican/tasks/precheck.yml
+++ b/ansible/roles/barbican/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ barbican_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['barbican_api'] is not defined
diff --git a/ansible/roles/ceilometer/tasks/precheck.yml b/ansible/roles/ceilometer/tasks/precheck.yml
index a770b79b7b..a7643161e4 100644
--- a/ansible/roles/ceilometer/tasks/precheck.yml
+++ b/ansible/roles/ceilometer/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ ceilometer_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['ceilometer_api'] is not defined
diff --git a/ansible/roles/ceph/tasks/precheck.yml b/ansible/roles/ceph/tasks/precheck.yml
index b12c5b4028..aca5425f15 100644
--- a/ansible/roles/ceph/tasks/precheck.yml
+++ b/ansible/roles/ceph/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ rgw_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['ceph-rgw'] is not defined
diff --git a/ansible/roles/cinder/tasks/precheck.yml b/ansible/roles/cinder/tasks/precheck.yml
index 0a8b8d81ef..c028597daf 100644
--- a/ansible/roles/cinder/tasks/precheck.yml
+++ b/ansible/roles/cinder/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ cinder_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['cinder_api'] is not defined
diff --git a/ansible/roles/cloudkitty/tasks/precheck.yml b/ansible/roles/cloudkitty/tasks/precheck.yml
index c8b7844b64..e4f1ba96ec 100644
--- a/ansible/roles/cloudkitty/tasks/precheck.yml
+++ b/ansible/roles/cloudkitty/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ cloudkitty_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['cloudkitty_api'] is not defined
diff --git a/ansible/roles/congress/tasks/precheck.yml b/ansible/roles/congress/tasks/precheck.yml
index 5092237a09..307b1019d0 100644
--- a/ansible/roles/congress/tasks/precheck.yml
+++ b/ansible/roles/congress/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ congress_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['congress_api'] is not defined
diff --git a/ansible/roles/designate/tasks/precheck.yml b/ansible/roles/designate/tasks/precheck.yml
index 546547cb21..f7a043edc8 100644
--- a/ansible/roles/designate/tasks/precheck.yml
+++ b/ansible/roles/designate/tasks/precheck.yml
@@ -14,6 +14,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ designate_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['designate_api'] is not defined
@@ -24,6 +25,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + dns_interface]['ipv4']['address'] }}"
     port: "{{ designate_mdns_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['designate_mdns'] is not defined
@@ -34,6 +36,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ designate_bind_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - designate_backend == 'bind9'
@@ -45,6 +48,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ designate_rndc_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - designate_backend == 'bind9'
diff --git a/ansible/roles/elasticsearch/tasks/precheck.yml b/ansible/roles/elasticsearch/tasks/precheck.yml
index ee10831bdb..0543a7451f 100644
--- a/ansible/roles/elasticsearch/tasks/precheck.yml
+++ b/ansible/roles/elasticsearch/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ elasticsearch_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['elasticsearch'] is not defined
diff --git a/ansible/roles/etcd/tasks/precheck.yml b/ansible/roles/etcd/tasks/precheck.yml
index e8179afaf0..ddfe8fe0bb 100644
--- a/ansible/roles/etcd/tasks/precheck.yml
+++ b/ansible/roles/etcd/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ etcd_peer_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['etcd'] is not defined
@@ -20,6 +21,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ etcd_client_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['etcd'] is not defined
diff --git a/ansible/roles/freezer/tasks/precheck.yml b/ansible/roles/freezer/tasks/precheck.yml
index a49c4a5100..7f47a474ac 100644
--- a/ansible/roles/freezer/tasks/precheck.yml
+++ b/ansible/roles/freezer/tasks/precheck.yml
@@ -9,6 +9,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ freezer_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - inventory_hostname in groups[freezer_services['freezer-api']['group']]
diff --git a/ansible/roles/glance/tasks/precheck.yml b/ansible/roles/glance/tasks/precheck.yml
index 9c6e032733..5566e0c528 100644
--- a/ansible/roles/glance/tasks/precheck.yml
+++ b/ansible/roles/glance/tasks/precheck.yml
@@ -9,6 +9,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ glance_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - inventory_hostname in groups[glance_services['glance-api']['group']]
@@ -19,6 +20,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ glance_registry_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - inventory_hostname in groups[glance_services['glance-registry']['group']]
diff --git a/ansible/roles/gnocchi/tasks/precheck.yml b/ansible/roles/gnocchi/tasks/precheck.yml
index 2a3f65770b..4fe224aca6 100644
--- a/ansible/roles/gnocchi/tasks/precheck.yml
+++ b/ansible/roles/gnocchi/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ gnocchi_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['gnocchi_api'] is not defined
diff --git a/ansible/roles/grafana/tasks/precheck.yml b/ansible/roles/grafana/tasks/precheck.yml
index cac2b0a04c..81df811cf5 100644
--- a/ansible/roles/grafana/tasks/precheck.yml
+++ b/ansible/roles/grafana/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ grafana_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['grafana'] is not defined
diff --git a/ansible/roles/haproxy/tasks/precheck.yml b/ansible/roles/haproxy/tasks/precheck.yml
index b81d4a5a29..e8c9c12ac7 100644
--- a/ansible/roles/haproxy/tasks/precheck.yml
+++ b/ansible/roles/haproxy/tasks/precheck.yml
@@ -51,6 +51,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ haproxy_stats_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_haproxy | bool
@@ -84,6 +85,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ aodh_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_aodh | bool
@@ -95,6 +97,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ barbican_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_barbican | bool
@@ -106,6 +109,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ ceilometer_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_ceilometer | bool
@@ -117,6 +121,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ cinder_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_cinder | bool
@@ -128,6 +133,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ cloudkitty_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_cloudkitty | bool
@@ -139,6 +145,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ congress_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_congress | bool
@@ -150,6 +157,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ designate_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_designate | bool
@@ -161,6 +169,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ elasticsearch_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_elasticsearch | bool
@@ -172,6 +181,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ glance_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_glance | bool
@@ -183,6 +193,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ glance_registry_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_glance | bool
@@ -194,6 +205,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ gnocchi_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_gnocchi | bool
@@ -205,6 +217,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ freezer_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_freezer | bool
@@ -216,6 +229,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ grafana_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_grafana | bool
@@ -227,6 +241,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ heat_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_heat | bool
@@ -238,6 +253,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ heat_api_cfn_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_heat | bool
@@ -249,6 +265,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ horizon_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_horizon | bool
@@ -260,6 +277,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ ironic_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_ironic | bool
@@ -271,6 +289,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ ironic_inspector_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_ironic | bool
@@ -282,6 +301,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ karbor_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_karbor | bool
@@ -293,6 +313,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ keystone_admin_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_keystone | bool
@@ -304,6 +325,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ keystone_public_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_keystone | bool
@@ -315,6 +337,7 @@
     host: "{{ kolla_external_vip_address }}"
     port: "{{ keystone_public_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - haproxy_enable_external_vip | bool
@@ -327,6 +350,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ kibana_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_kibana | bool
@@ -338,6 +362,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ magnum_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_magnum | bool
@@ -349,6 +374,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ manila_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_manila | bool
@@ -360,6 +386,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ database_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_mariadb | bool
@@ -371,6 +398,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ mistral_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_mistral | bool
@@ -382,6 +410,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ mongodb_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_mongodb | bool
@@ -393,6 +422,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ murano_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_murano | bool
@@ -404,6 +434,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ neutron_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_neutron | bool
@@ -415,6 +446,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ nova_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_nova | bool
@@ -426,6 +458,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ nova_metadata_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_nova | bool
@@ -437,6 +470,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ nova_novncproxy_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_nova | bool
@@ -449,6 +483,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ nova_serialproxy_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_nova | bool
@@ -461,6 +496,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ nova_spicehtml5proxy_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_nova | bool
@@ -473,6 +509,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ placement_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_nova | bool
@@ -484,6 +521,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ octavia_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_octavia | bool
@@ -495,6 +533,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ panko_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_panko | bool
@@ -506,6 +545,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ rabbitmq_management_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_rabbitmq | bool
@@ -517,6 +557,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ rgw_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_ceph_rgw | bool
@@ -528,6 +569,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ sahara_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_sahara | bool
@@ -539,6 +581,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ searchlight_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_searchlight | bool
@@ -550,6 +593,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ senlin_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_senlin | bool
@@ -561,6 +605,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ solum_application_deployment_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_solum | bool
@@ -572,6 +617,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ solum_image_builder_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_solum | bool
@@ -583,6 +629,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ swift_proxy_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_swift | bool
@@ -594,6 +641,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ tacker_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_tacker | bool
@@ -605,6 +653,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ trove_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_trove | bool
@@ -616,6 +665,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ watcher_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_watcher | bool
@@ -627,6 +677,7 @@
     host: "{{ kolla_internal_vip_address }}"
     port: "{{ zun_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - enable_zun | bool
diff --git a/ansible/roles/heat/tasks/precheck.yml b/ansible/roles/heat/tasks/precheck.yml
index 6391fbdffd..d061133362 100644
--- a/ansible/roles/heat/tasks/precheck.yml
+++ b/ansible/roles/heat/tasks/precheck.yml
@@ -11,6 +11,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ heat_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['heat_api'] is not defined
@@ -21,6 +22,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ heat_api_cfn_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['heat_api_cfn'] is not defined
diff --git a/ansible/roles/horizon/tasks/precheck.yml b/ansible/roles/horizon/tasks/precheck.yml
index 9f76922572..8b1a561e8f 100644
--- a/ansible/roles/horizon/tasks/precheck.yml
+++ b/ansible/roles/horizon/tasks/precheck.yml
@@ -12,6 +12,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ horizon_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['horizon'] is not defined
diff --git a/ansible/roles/influxdb/tasks/precheck.yml b/ansible/roles/influxdb/tasks/precheck.yml
index 608add9f0b..a67845bda0 100644
--- a/ansible/roles/influxdb/tasks/precheck.yml
+++ b/ansible/roles/influxdb/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ influxdb_admin_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['influxdb'] is not defined
@@ -20,6 +21,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ influxdb_http_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['influxdb'] is not defined
diff --git a/ansible/roles/ironic/tasks/precheck.yml b/ansible/roles/ironic/tasks/precheck.yml
index 1476d24b01..9b58bbc396 100644
--- a/ansible/roles/ironic/tasks/precheck.yml
+++ b/ansible/roles/ironic/tasks/precheck.yml
@@ -11,6 +11,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ ironic_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['ironic_api'] is not defined
@@ -21,6 +22,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ ironic_inspector_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['ironic_inspector'] is not defined
diff --git a/ansible/roles/iscsi/tasks/precheck.yml b/ansible/roles/iscsi/tasks/precheck.yml
index 0f7eaf8c2f..64a99de4ef 100644
--- a/ansible/roles/iscsi/tasks/precheck.yml
+++ b/ansible/roles/iscsi/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ iscsi_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['iscsid'] is not defined
diff --git a/ansible/roles/karbor/tasks/precheck.yml b/ansible/roles/karbor/tasks/precheck.yml
index 1d5c0f3b77..cf176fc85c 100644
--- a/ansible/roles/karbor/tasks/precheck.yml
+++ b/ansible/roles/karbor/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ karbor_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - inventory_hostname in groups['karbor-api']
diff --git a/ansible/roles/keystone/tasks/precheck.yml b/ansible/roles/keystone/tasks/precheck.yml
index 449e5cc89a..99ea5d2a3d 100644
--- a/ansible/roles/keystone/tasks/precheck.yml
+++ b/ansible/roles/keystone/tasks/precheck.yml
@@ -11,6 +11,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ keystone_admin_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['keystone'] is not defined
@@ -21,6 +22,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ keystone_public_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['keystone'] is not defined
@@ -33,6 +35,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ keystone_ssh_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['keystone_ssh'] is not defined
diff --git a/ansible/roles/kibana/tasks/precheck.yml b/ansible/roles/kibana/tasks/precheck.yml
index 3fb70b898f..07d480e045 100644
--- a/ansible/roles/kibana/tasks/precheck.yml
+++ b/ansible/roles/kibana/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ api_interface_address }}"
     port: "{{ kibana_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['kibana'] is not defined
diff --git a/ansible/roles/kuryr/tasks/precheck.yml b/ansible/roles/kuryr/tasks/precheck.yml
index 4eb12e22fe..877c32db55 100644
--- a/ansible/roles/kuryr/tasks/precheck.yml
+++ b/ansible/roles/kuryr/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ kuryr_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['kuryr'] is not defined
diff --git a/ansible/roles/magnum/tasks/precheck.yml b/ansible/roles/magnum/tasks/precheck.yml
index 1510d9478a..d4814cbaa1 100644
--- a/ansible/roles/magnum/tasks/precheck.yml
+++ b/ansible/roles/magnum/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ magnum_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['magnum_api'] is not defined
diff --git a/ansible/roles/manila/tasks/precheck.yml b/ansible/roles/manila/tasks/precheck.yml
index df35711060..96999cbc52 100644
--- a/ansible/roles/manila/tasks/precheck.yml
+++ b/ansible/roles/manila/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ manila_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['manila_api'] is not defined
diff --git a/ansible/roles/mariadb/tasks/precheck.yml b/ansible/roles/mariadb/tasks/precheck.yml
index a41e35dacb..f21e9c06b8 100644
--- a/ansible/roles/mariadb/tasks/precheck.yml
+++ b/ansible/roles/mariadb/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ database_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['mariadb'] is not defined
@@ -19,6 +20,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ mariadb_wsrep_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['mariadb'] is not defined
@@ -28,6 +30,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ mariadb_ist_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['mariadb'] is not defined
@@ -37,6 +40,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ mariadb_sst_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['mariadb'] is not defined
diff --git a/ansible/roles/memcached/tasks/precheck.yml b/ansible/roles/memcached/tasks/precheck.yml
index 577f26c182..138c4cb540 100644
--- a/ansible/roles/memcached/tasks/precheck.yml
+++ b/ansible/roles/memcached/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ memcached_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['memcached'] is not defined
diff --git a/ansible/roles/mistral/tasks/precheck.yml b/ansible/roles/mistral/tasks/precheck.yml
index 0b6001871a..cdae9bec3a 100644
--- a/ansible/roles/mistral/tasks/precheck.yml
+++ b/ansible/roles/mistral/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ mistral_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['mistral_api'] is not defined
diff --git a/ansible/roles/mongodb/tasks/precheck.yml b/ansible/roles/mongodb/tasks/precheck.yml
index 1eddb5b7fa..d09e5825a2 100644
--- a/ansible/roles/mongodb/tasks/precheck.yml
+++ b/ansible/roles/mongodb/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ mongodb_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['mongodb'] is not defined
@@ -20,6 +21,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ mongodb_web_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['mongodb'] is not defined
diff --git a/ansible/roles/murano/tasks/precheck.yml b/ansible/roles/murano/tasks/precheck.yml
index f6137d4e7c..a06aca9eed 100644
--- a/ansible/roles/murano/tasks/precheck.yml
+++ b/ansible/roles/murano/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ murano_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['murano_api'] is not defined
diff --git a/ansible/roles/neutron/tasks/precheck.yml b/ansible/roles/neutron/tasks/precheck.yml
index a5e751e659..e591eaf41f 100644
--- a/ansible/roles/neutron/tasks/precheck.yml
+++ b/ansible/roles/neutron/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ neutron_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['neutron_server'] is not defined
diff --git a/ansible/roles/nova/tasks/precheck.yml b/ansible/roles/nova/tasks/precheck.yml
index ddc65e282e..4ed7368072 100644
--- a/ansible/roles/nova/tasks/precheck.yml
+++ b/ansible/roles/nova/tasks/precheck.yml
@@ -23,6 +23,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ nova_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['nova_api'] is not defined
@@ -36,6 +37,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ nova_metadata_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['nova_api'] is not defined
@@ -49,6 +51,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ nova_novncproxy_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['nova_novncproxy'] is not defined
@@ -62,6 +65,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ nova_serialproxy_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['nova_serialproxy'] is not defined
@@ -75,6 +79,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ nova_spicehtml5proxy_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['nova_spicehtml5proxy'] is not defined
@@ -88,6 +93,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ nova_ssh_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['nova_ssh'] is not defined
@@ -101,6 +107,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ placement_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['placement_api'] is not defined
diff --git a/ansible/roles/octavia/tasks/precheck.yml b/ansible/roles/octavia/tasks/precheck.yml
index ea533b6941..090b68ebcd 100644
--- a/ansible/roles/octavia/tasks/precheck.yml
+++ b/ansible/roles/octavia/tasks/precheck.yml
@@ -11,6 +11,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ octavia_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['octavia_api'] is not defined
@@ -21,6 +22,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ octavia_health_manager_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['octavia_health_manager'] is not defined
diff --git a/ansible/roles/openvswitch/tasks/precheck.yml b/ansible/roles/openvswitch/tasks/precheck.yml
index 31961dd2a3..80bc72992a 100644
--- a/ansible/roles/openvswitch/tasks/precheck.yml
+++ b/ansible/roles/openvswitch/tasks/precheck.yml
@@ -12,6 +12,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ ovsdb_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['openvswitch_db'] is not defined
diff --git a/ansible/roles/panko/tasks/precheck.yml b/ansible/roles/panko/tasks/precheck.yml
index 7fd726c9ec..11646b7e3c 100644
--- a/ansible/roles/panko/tasks/precheck.yml
+++ b/ansible/roles/panko/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ panko_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['panko_api'] is not defined
diff --git a/ansible/roles/rabbitmq/tasks/precheck.yml b/ansible/roles/rabbitmq/tasks/precheck.yml
index e125fb4de5..ec5914491f 100644
--- a/ansible/roles/rabbitmq/tasks/precheck.yml
+++ b/ansible/roles/rabbitmq/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ rabbitmq_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['rabbitmq'] is not defined
@@ -20,6 +21,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ rabbitmq_management_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['rabbitmq'] is not defined
@@ -30,6 +32,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ rabbitmq_cluster_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['rabbitmq'] is not defined
@@ -40,6 +43,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ rabbitmq_epmd_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['rabbitmq'] is not defined
diff --git a/ansible/roles/sahara/tasks/precheck.yml b/ansible/roles/sahara/tasks/precheck.yml
index 918d3c513d..563ed8a989 100644
--- a/ansible/roles/sahara/tasks/precheck.yml
+++ b/ansible/roles/sahara/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ sahara_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['sahara_api'] is not defined
diff --git a/ansible/roles/searchlight/tasks/precheck.yml b/ansible/roles/searchlight/tasks/precheck.yml
index 30820aed16..40afae0238 100644
--- a/ansible/roles/searchlight/tasks/precheck.yml
+++ b/ansible/roles/searchlight/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ searchlight_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['searchlight_api'] is not defined
diff --git a/ansible/roles/senlin/tasks/precheck.yml b/ansible/roles/senlin/tasks/precheck.yml
index b62943621b..bbbf210522 100644
--- a/ansible/roles/senlin/tasks/precheck.yml
+++ b/ansible/roles/senlin/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ senlin_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['senlin_api'] is not defined
diff --git a/ansible/roles/solum/tasks/precheck.yml b/ansible/roles/solum/tasks/precheck.yml
index 05f07bdae5..b33af30e0a 100644
--- a/ansible/roles/solum/tasks/precheck.yml
+++ b/ansible/roles/solum/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ solum_application_deployment_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['solum_api'] is not defined
@@ -20,6 +21,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ solum_image_builder_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['solum_api'] is not defined
diff --git a/ansible/roles/swift/tasks/precheck.yml b/ansible/roles/swift/tasks/precheck.yml
index 13c018b6ee..8cc5aba312 100644
--- a/ansible/roles/swift/tasks/precheck.yml
+++ b/ansible/roles/swift/tasks/precheck.yml
@@ -13,6 +13,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}"
     port: "{{ swift_account_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['swift_account_server'] is not defined
@@ -23,6 +24,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}"
     port: "{{ swift_container_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['swift_container_server'] is not defined
@@ -33,6 +35,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}"
     port: "{{ swift_object_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['swift_object_server'] is not defined
@@ -43,6 +46,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}"
     port: "873"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['swift_object_server'] is not defined
@@ -53,6 +57,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ swift_proxy_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['swift_proxy_server'] is not defined
diff --git a/ansible/roles/tacker/tasks/precheck.yml b/ansible/roles/tacker/tasks/precheck.yml
index 875bf7a7dc..0a4ac5e631 100644
--- a/ansible/roles/tacker/tasks/precheck.yml
+++ b/ansible/roles/tacker/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ tacker_server_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['tacker'] is not defined
diff --git a/ansible/roles/trove/tasks/precheck.yml b/ansible/roles/trove/tasks/precheck.yml
index 164d4e5630..d22620f3bd 100644
--- a/ansible/roles/trove/tasks/precheck.yml
+++ b/ansible/roles/trove/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ trove_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['trove_api'] is not defined
diff --git a/ansible/roles/watcher/tasks/precheck.yml b/ansible/roles/watcher/tasks/precheck.yml
index d346f9ca87..2d57130bed 100644
--- a/ansible/roles/watcher/tasks/precheck.yml
+++ b/ansible/roles/watcher/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ watcher_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['watcher_api'] is not defined
diff --git a/ansible/roles/zun/tasks/precheck.yml b/ansible/roles/zun/tasks/precheck.yml
index df4c3abc8d..eef7961254 100644
--- a/ansible/roles/zun/tasks/precheck.yml
+++ b/ansible/roles/zun/tasks/precheck.yml
@@ -10,6 +10,7 @@
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
     port: "{{ zun_api_port }}"
     connect_timeout: 1
+    timeout: 1
     state: stopped
   when:
     - container_facts['zun_api'] is not defined