diff --git a/cmd/adapter/adapter.go b/cmd/adapter/adapter.go index ff2bfc26..2463810d 100644 --- a/cmd/adapter/adapter.go +++ b/cmd/adapter/adapter.go @@ -191,7 +191,7 @@ func (cmd *PrometheusAdapter) makeExternalProvider(promClient prom.Client, stopC } // construct the provider and start it - emProvider, runner := extprov.NewExternalPrometheusProvider(mapper, promClient, converters, cmd.MetricsRelistInterval) + emProvider, runner := extprov.NewExternalPrometheusProvider(promClient, converters, cmd.MetricsRelistInterval) runner.RunUntil(stopCh) return emProvider, nil diff --git a/pkg/external-provider/external_series_registry.go b/pkg/external-provider/external_series_registry.go index d2bb0b39..48bc7993 100644 --- a/pkg/external-provider/external_series_registry.go +++ b/pkg/external-provider/external_series_registry.go @@ -18,7 +18,6 @@ import ( "github.com/golang/glog" "github.com/kubernetes-incubator/custom-metrics-apiserver/pkg/provider" - apimeta "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/labels" prom "github.com/directxman12/k8s-prometheus-adapter/pkg/client" @@ -41,19 +40,13 @@ type externalSeriesRegistry struct { metrics []provider.ExternalMetricInfo // rawMetrics is a lookup from a metric to SeriesConverter for the sake of generating queries rawMetrics map[string]SeriesConverter - - mapper apimeta.RESTMapper - - metricLister MetricListerWithNotification } // NewExternalSeriesRegistry creates an ExternalSeriesRegistry driven by the data from the provided MetricLister. -func NewExternalSeriesRegistry(lister MetricListerWithNotification, mapper apimeta.RESTMapper) ExternalSeriesRegistry { +func NewExternalSeriesRegistry(lister MetricListerWithNotification) ExternalSeriesRegistry { var registry = externalSeriesRegistry{ - mapper: mapper, - metricLister: lister, - metrics: make([]provider.ExternalMetricInfo, 0), - rawMetrics: map[string]SeriesConverter{}, + metrics: make([]provider.ExternalMetricInfo, 0), + rawMetrics: map[string]SeriesConverter{}, } lister.AddNotificationReceiver(registry.filterAndStoreMetrics) diff --git a/pkg/external-provider/provider.go b/pkg/external-provider/provider.go index 48a544e2..7cc954a7 100644 --- a/pkg/external-provider/provider.go +++ b/pkg/external-provider/provider.go @@ -26,7 +26,6 @@ import ( "github.com/kubernetes-incubator/custom-metrics-apiserver/pkg/provider" apierr "k8s.io/apimachinery/pkg/api/errors" - apimeta "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/labels" "k8s.io/metrics/pkg/apis/external_metrics" @@ -79,11 +78,11 @@ func (p *externalPrometheusProvider) selectGroupResource(namespace string) schem } // NewExternalPrometheusProvider creates an ExternalMetricsProvider capable of responding to Kubernetes requests for external metric data -func NewExternalPrometheusProvider(mapper apimeta.RESTMapper, promClient prom.Client, converters []SeriesConverter, updateInterval time.Duration) (provider.ExternalMetricsProvider, Runnable) { +func NewExternalPrometheusProvider(promClient prom.Client, converters []SeriesConverter, updateInterval time.Duration) (provider.ExternalMetricsProvider, Runnable) { metricConverter := NewMetricConverter() basicLister := NewBasicMetricLister(promClient, converters, updateInterval) periodicLister, _ := NewPeriodicMetricLister(basicLister, updateInterval) - seriesRegistry := NewExternalSeriesRegistry(periodicLister, mapper) + seriesRegistry := NewExternalSeriesRegistry(periodicLister) return &externalPrometheusProvider{ promClient: promClient, seriesRegistry: seriesRegistry, diff --git a/pkg/external-provider/series_converter.go b/pkg/external-provider/series_converter.go index 506c7c21..ff4a606d 100644 --- a/pkg/external-provider/series_converter.go +++ b/pkg/external-provider/series_converter.go @@ -63,7 +63,6 @@ type seriesConverter struct { queryBuilder QueryBuilder seriesFilterer SeriesFilterer metricNamer naming.MetricNamer - mapper apimeta.RESTMapper } // queryTemplateArgs are the arguments for the metrics query template. @@ -103,7 +102,6 @@ func (c *seriesConverter) createQueryPartsFromSelector(metricSelector labels.Sel selectors := []queryPart{} for i := 0; i < len(requirements); i++ { - fmt.Println("This is post Requirements", requirements[i].Key(), requirements[i].Values().List(), requirements[i].Operator()) selector := c.convertRequirement(requirements[i]) selectors = append(selectors, selector) @@ -246,7 +244,6 @@ func converterFromRule(rule config.DiscoveryRule, mapper apimeta.RESTMapper) (Se return &seriesConverter{ seriesQuery: prom.Selector(rule.SeriesQuery), - mapper: mapper, resourceConverter: resourceConverter, queryBuilder: queryBuilder, seriesFilterer: seriesFilterer, @@ -255,13 +252,13 @@ func converterFromRule(rule config.DiscoveryRule, mapper apimeta.RESTMapper) (Se } func (c *seriesConverter) buildNamespaceQueryPartForExternalSeries(namespace string) (queryPart, error) { - namespaceLbl, _ := c.metricNamer.LabelForResource(naming.NsGroupResource) + namespaceLbl, err := c.resourceConverter.LabelForResource(naming.NsGroupResource) return queryPart{ labelName: string(namespaceLbl), values: []string{namespace}, operator: selection.Equals, - }, nil + }, err } func (c *seriesConverter) QueryForExternalSeries(namespace string, series string, metricSelector labels.Selector) (prom.Selector, error) {