ipmi-exporter: fix running on VMs
At the moment, ipmi-exporter is also running on VMs which it
should not be.
Sem-Ver: bugfix
Change-Id: I1e620120d1c442c677a83ba7f37f8e862f634275
diff --git a/releasenotes/notes/fix-ipmi-exporter-3099bb1397c884d4.yaml b/releasenotes/notes/fix-ipmi-exporter-3099bb1397c884d4.yaml
new file mode 100644
index 0000000..b21a50f
--- /dev/null
+++ b/releasenotes/notes/fix-ipmi-exporter-3099bb1397c884d4.yaml
@@ -0,0 +1,6 @@
+---
+fixes:
+ - The IPMI exporter depended on the `ipmi` module being loaded, however, it
+ is the case that the module could be loaded on a virtual machine. This
+ patch instead only runs it on systems that don't expose the ``HYPERVISOR``
+ flag.
\ No newline at end of file
diff --git a/roles/ipmi_exporter/tasks/main.yml b/roles/ipmi_exporter/tasks/main.yml
index b356139..6d93c10 100644
--- a/roles/ipmi_exporter/tasks/main.yml
+++ b/roles/ipmi_exporter/tasks/main.yml
@@ -70,6 +70,14 @@
- name: ipmi-exporter
configMap:
name: ipmi-exporter
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: feature.node.kubernetes.io/cpu-cpuid.HYPERVISOR
+ operator: NotIn
+ values: ["true"]
nodeSelector:
feature.node.kubernetes.io/ipmi: "true"
diff --git a/roles/node_feature_discovery/meta/main.yml b/roles/node_feature_discovery/meta/main.yml
index 459a22e..e8aae1c 100644
--- a/roles/node_feature_discovery/meta/main.yml
+++ b/roles/node_feature_discovery/meta/main.yml
@@ -27,5 +27,3 @@
vars:
helm_repository_name: node-feature-discovery
helm_repository_repo_url: https://kubernetes-sigs.github.io/node-feature-discovery/charts
- - cilium
- - kube_prometheus_stack
diff --git a/roles/node_feature_discovery/tasks/main.yml b/roles/node_feature_discovery/tasks/main.yml
index 2b9e8cb..c37e1e5 100644
--- a/roles/node_feature_discovery/tasks/main.yml
+++ b/roles/node_feature_discovery/tasks/main.yml
@@ -26,15 +26,3 @@
master:
nodeSelector:
openstack-control-plane: enabled
- worker:
- config:
- sources:
- custom:
- - name: ipmi
- labels:
- ipmi: "true"
- matchFeatures:
- - feature: kernel.loadedmodule
- matchExpresions:
- ipmi_msghandler:
- op: Exists