diff --git a/ansible/roles/nova-cell/tasks/config-host.yml b/ansible/roles/nova-cell/tasks/config-host.yml
index 2737d4ab57d6c27bc44bd9a3680a32b352cbbbc1..e6dcbb2eb99e200f9c49cf11ac27510f27332559 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 0000000000000000000000000000000000000000..c024f7b91da08cb6a8fd1c5fb6ba1c3d05622b58
--- /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>`__