diff --git a/ansible/roles/prechecks/tasks/port_checks.yml b/ansible/roles/prechecks/tasks/port_checks.yml
index 401cd236856f098f3f988b53b22c1d77041a8649..7f8724aaeade77f3a0ff5b78bddc4538df4b5c59 100644
--- a/ansible/roles/prechecks/tasks/port_checks.yml
+++ b/ansible/roles/prechecks/tasks/port_checks.yml
@@ -448,3 +448,19 @@
   failed_when: "'169.254.' not in kolla_internal_vip_address and \
                 kolla_internal_vip_address | ipaddr(ip_addr_output.stdout.split()[3]) is none"
   when: enable_haproxy | bool
+
+- name: Checking the network_interface is present
+  fail: "msg='Please check the network_interface property - interface {{ network_interface }} not found'"
+  when: network_interface not in ansible_interfaces
+
+- name: Checking the network_interface is active
+  fail: "msg='Please check the network_interface settings - interface {{ network_interface }} is not active'"
+  when: hostvars[inventory_hostname]['ansible_' + network_interface]['active'] != True
+
+- name: Checking the network_interface configuration
+  fail: "msg='Please check the network_interface settings - interface {{ network_interface }} configuration missing'"
+  when: hostvars[inventory_hostname]['ansible_' + network_interface]['ipv4'] is not defined
+
+- name: Checking the network_interface ip address configuration
+  fail: "msg='Please check the network_interface settings - interface {{ network_interface }} ip address problem'"
+  when: hostvars[inventory_hostname]['ansible_' + network_interface]['ipv4']['address'] is not defined
diff --git a/releasenotes/notes/add-network-interface-checks-0e789f3f93cbdb09.yaml b/releasenotes/notes/add-network-interface-checks-0e789f3f93cbdb09.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3232fb5186b06dc7a3bc2d0be20f1f48d05ddffb
--- /dev/null
+++ b/releasenotes/notes/add-network-interface-checks-0e789f3f93cbdb09.yaml
@@ -0,0 +1,3 @@
+---
+features:
+  - Add some extra prechecks to ensure a sane NIC config.