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 %} ] }