From 733878b1eb27dda0f9804d02ad7b5a2c3941cd85 Mon Sep 17 00:00:00 2001 From: Mara Sophie Grosch Date: Wed, 24 Nov 2021 17:13:29 +0100 Subject: [PATCH] monitoring: update label on prometheus resources Updating the promethes reources (PrometheusRule and ServiceMonitor) is done by fetching the current resource from the server and updating the spec on it. This commit makes it also apply the labels, so users can update them via rook CRDs. Closes: https://github.com/rook/rook/issues/9241 Signed-off-by: Mara Sophie Grosch --- pkg/operator/k8sutil/prometheus.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/operator/k8sutil/prometheus.go b/pkg/operator/k8sutil/prometheus.go index cf27f074f013..b4aafbd77b5c 100644 --- a/pkg/operator/k8sutil/prometheus.go +++ b/pkg/operator/k8sutil/prometheus.go @@ -80,6 +80,7 @@ func CreateOrUpdateServiceMonitor(serviceMonitorDefinition *monitoringv1.Service return nil, fmt.Errorf("failed to retrieve servicemonitor. %v", err) } oldSm.Spec = serviceMonitorDefinition.Spec + oldSm.ObjectMeta.Labels = serviceMonitorDefinition.ObjectMeta.Labels sm, err := client.MonitoringV1().ServiceMonitors(namespace).Update(ctx, oldSm, metav1.UpdateOptions{}) if err != nil { return nil, fmt.Errorf("failed to update servicemonitor. %v", err) @@ -123,6 +124,7 @@ func CreateOrUpdatePrometheusRule(prometheusRule *monitoringv1.PrometheusRule) ( return nil, fmt.Errorf("failed to get prometheusRule object. %v", err) } promRule.Spec = prometheusRule.Spec + promRule.ObjectMeta.Labels = prometheusRule.ObjectMeta.Labels _, err = client.MonitoringV1().PrometheusRules(namespace).Update(ctx, promRule, metav1.UpdateOptions{}) if err != nil { return nil, fmt.Errorf("failed to update prometheusRule. %v", err)