From 27c3bc1b88c7cc28d6b26ac20fe8f1afc2da45f9 Mon Sep 17 00:00:00 2001 From: "song.chen" Date: Thu, 21 Mar 2019 19:56:03 +0800 Subject: [PATCH] Fix issue:[#178](https://github.com/DirectXMan12/k8s-prometheus-adapter/issues/178) Fix namespaced bug of node resource, node resource should be a non-namespaced resource as the resource namespace. By doing this fix, node resouce can be accessed as expected, as the issue explains. Closes issue:[#178](https://github.com/DirectXMan12/k8s-prometheus-adapter/issues/178) --- pkg/custom-provider/metric_namer.go | 1 + pkg/custom-provider/series_registry.go | 2 +- pkg/naming/resource_converter.go | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/custom-provider/metric_namer.go b/pkg/custom-provider/metric_namer.go index 2c00037e..dd811e43 100644 --- a/pkg/custom-provider/metric_namer.go +++ b/pkg/custom-provider/metric_namer.go @@ -14,6 +14,7 @@ import ( ) var nsGroupResource = schema.GroupResource{Resource: "namespaces"} +var nodeGroupResource = schema.GroupResource{Resource: "nodes"} var groupNameSanitizer = strings.NewReplacer(".", "_", "-", "_") // MetricNamer knows how to convert Prometheus series names and label names to diff --git a/pkg/custom-provider/series_registry.go b/pkg/custom-provider/series_registry.go index a4701cf4..86f28f7d 100644 --- a/pkg/custom-provider/series_registry.go +++ b/pkg/custom-provider/series_registry.go @@ -99,7 +99,7 @@ func (r *basicSeriesRegistry) SetSeries(newSeriesSlices [][]prom.Series, namers } // namespace metrics aren't counted as namespaced - if resource == nsGroupResource { + if resource == nsGroupResource || resource == nodeGroupResource { info.Namespaced = false } diff --git a/pkg/naming/resource_converter.go b/pkg/naming/resource_converter.go index 43a14c51..db63b763 100644 --- a/pkg/naming/resource_converter.go +++ b/pkg/naming/resource_converter.go @@ -177,7 +177,7 @@ func (r *resourceConverter) ResourcesForSeries(series prom.Series) ([]schema.Gro } } - if groupRes == nsGroupResource { + if groupRes != nsGroupResource { namespaced = true } }