diff --git a/ansible/kolla-ansible.yml b/ansible/kolla-ansible.yml
index cda7bcb7d..36fdd422a 100644
--- a/ansible/kolla-ansible.yml
+++ b/ansible/kolla-ansible.yml
@@ -10,6 +10,19 @@
       set_fact:
         kolla_api_interface: "{{ internal_net_name | net_interface | replace('-', '_')  }}"
       when: internal_net_name in network_interfaces
+    - name: Validate overcloud host Kolla Ansible network configuration
+      fail:
+        msg: >
+          The Kolla Ansible variable {{ item.var_name }}
+          ({{ item.description }}) is invalid. Value:
+          "{{ hostvars[inventory_hostname][item.var_name] | default('<undefined>') }}".
+      when:
+        - item.required | bool
+        - hostvars[inventory_hostname][item.var_name] is not defined or not hostvars[inventory_hostname][item.var_name]
+      with_items:
+        - var_name: "kolla_api_interface"
+          description: "API network interface name"
+          required: True
 
 - name: Ensure Kolla Ansible is configured
   hosts: localhost
@@ -63,9 +76,6 @@
             - item.required | bool
             - hostvars[inventory_hostname][item.var_name] is not defined or not hostvars[inventory_hostname][item.var_name]
           with_items:
-            - var_name: "kolla_api_interface"
-              description: "API network interface name"
-              required: True
             - var_name: "kolla_provision_interface"
               description: "Bare metal provisioning network interface name"
               required: "{{ kolla_enable_ironic }}"