diff --git a/ansible/roles/nova-cell/tasks/config-host.yml b/ansible/roles/nova-cell/tasks/config-host.yml
index 2737d4ab57..e6dcbb2eb9 100644
--- a/ansible/roles/nova-cell/tasks/config-host.yml
+++ b/ansible/roles/nova-cell/tasks/config-host.yml
@@ -1,4 +1,13 @@
 ---
+- name: Load and persist br_netfilter module
+  include_role:
+    name: module-load
+  vars:
+    modules:
+      - { name: br_netfilter }
+  when:
+    - inventory_hostname in groups[nova_cell_compute_group]
+
 - name: Setting sysctl values
   become: true
   sysctl:
diff --git a/releasenotes/notes/load-br-netfilter-4ce9facd93e96af7.yaml b/releasenotes/notes/load-br-netfilter-4ce9facd93e96af7.yaml
new file mode 100644
index 0000000000..c024f7b91d
--- /dev/null
+++ b/releasenotes/notes/load-br-netfilter-4ce9facd93e96af7.yaml
@@ -0,0 +1,6 @@
+---
+fixes:
+  - |
+    Fixes an issue where the ``br_netfilter`` kernel module was not loaded on
+    compute hosts. `LP#1886796
+    <https://bugs.launchpad.net/kolla-ansible/+bug/1886796>`__