From 0ac990b401a4922cc24641fa7177a80590c10322 Mon Sep 17 00:00:00 2001
From: Thomas Schneider <tschneider@asta.rwth-aachen.de>
Date: Sat, 20 Nov 2021 17:40:54 +0100
Subject: [PATCH] node_exporter: Handle split of extra collectors in bullseye

---
 node_exporter/defaults/main.yml |  1 +
 node_exporter/tasks/main.yml    | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/node_exporter/defaults/main.yml b/node_exporter/defaults/main.yml
index 64192f5..a8c1c89 100644
--- a/node_exporter/defaults/main.yml
+++ b/node_exporter/defaults/main.yml
@@ -1,2 +1,3 @@
 ---
 node_exporter_args: ""
+force_smartmontools_on_vm_guest: false
diff --git a/node_exporter/tasks/main.yml b/node_exporter/tasks/main.yml
index 0f2fccc..e6d83a2 100644
--- a/node_exporter/tasks/main.yml
+++ b/node_exporter/tasks/main.yml
@@ -19,6 +19,26 @@
     - prometheus
     - prometheus-exporter
 
+- name: Install additional node_exporter collectors
+  apt:
+    name: prometheus-node-exporter-collectors
+    state: present
+  when: ansible_distribution_major_version|int >= 11
+  tags:
+    - prometheus
+    - prometheus-exporter
+
+- name: Ensure smartmontools is present only on bare-metal hosts
+  apt:
+    name: smartmontools
+    state: >-
+      {% if force_smartmontools_on_vm_guest or (ansible_virtualization_role is defined
+         and not ansible_virtualization_role == "guest") -%}
+        present
+      {%- else -%}
+        absent
+      {%- endif %}
+
 - name: Configure node_exporter
   template:
     src: prometheus-node-exporter.j2
-- 
GitLab