diff --git a/ansible/roles/ironic/tasks/config.yml b/ansible/roles/ironic/tasks/config.yml
index dc4cb4469e1ee92b00a2571211829d7b286c27b1..00f4eab21eca3057e599bd54730b24e03d653438 100644
--- a/ansible/roles/ironic/tasks/config.yml
+++ b/ansible/roles/ironic/tasks/config.yml
@@ -47,6 +47,32 @@
   when:
     - ironic_inspector_policy.results
 
+- name: Check if Ironic Inspector known_devices.yaml shall be overwritten
+  stat:
+    path: "{{ node_custom_config }}/ironic-inspector/known_devices.yaml"
+  delegate_to: localhost
+  run_once: True
+  register: ironic_inspector_known_devices
+
+- name: Set known_devices file path
+  set_fact:
+    ironic_inspector_known_devices_file_path: "{{ ironic_inspector_known_devices.stat.path }}"
+  when:
+    - ironic_inspector_known_devices.stat.exists
+
+- name: Copying over known_devices.yaml
+  template:
+    src: "{{ ironic_inspector_known_devices_file_path }}"
+    dest: "{{ node_config_directory }}/ironic-inspector/known_devices.yaml"
+    mode: "0660"
+  become: true
+  when:
+    - ironic_inspector_known_devices_file_path is defined
+    - inventory_hostname in groups["ironic-inspector"]
+    - ironic_services["ironic-inspector"].enabled | bool
+  notify:
+    - "Restart ironic-inspector container"
+
 - include_tasks: copy-certs.yml
   when:
     - kolla_copy_ca_into_containers | bool or ironic_enable_tls_backend | bool
diff --git a/ansible/roles/ironic/templates/ironic-inspector.conf.j2 b/ansible/roles/ironic/templates/ironic-inspector.conf.j2
index 115381c45bde7704769ffdce0d91bf13be4b4c49..dc45de268d38738116dc1421122ad80ec7033269 100644
--- a/ansible/roles/ironic/templates/ironic-inspector.conf.j2
+++ b/ansible/roles/ironic/templates/ironic-inspector.conf.j2
@@ -93,3 +93,8 @@ backend_url = {{ redis_connection_string }}
 # tooz defaults to a newer version, we should explicitly specify `v3`
 backend_url = etcd3+{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ etcd_client_port }}?api_version=v3{% if openstack_cacert %}?ca_cert={{ openstack_cacert }}{% endif %}
 {% endif %}
+
+{% if ironic_inspector_known_devices_file_path is defined %}
+[accelerators]
+known_devices = /etc/ironic-inspector/known_devices.yaml
+{% endif %}
diff --git a/ansible/roles/ironic/templates/ironic-inspector.json.j2 b/ansible/roles/ironic/templates/ironic-inspector.json.j2
index 6047e14c3d370740548cc37e33fb48eb29e5a657..e2041768462c0078a2d7f5ce3a905445963355b0 100644
--- a/ansible/roles/ironic/templates/ironic-inspector.json.j2
+++ b/ansible/roles/ironic/templates/ironic-inspector.json.j2
@@ -12,6 +12,12 @@
             "dest": "/etc/ironic-inspector/{{ ironic_inspector_policy_file }}",
             "owner": "ironic-inspector",
             "perm": "0600"
+        }{% endif %}{% if ironic_inspector_known_devices_file_path is defined %},
+        {
+            "source": "{{ container_config_directory }}/known_devices.yaml",
+            "dest": "/etc/ironic-inspector/known_devices.yaml",
+            "owner": "ironic-inspector",
+            "perm": "0600"
         }{% endif %}
     ]
 }