Blob Blame History Raw
From 9006b2db69a5be72b93c123538419f9d5d7cad60 Mon Sep 17 00:00:00 2001
From: Davanum Srinivas <davanum@gmail.com>
Date: Wed, 15 Apr 2020 16:36:47 -0400
Subject: [PATCH] Fix for API change in cadvisor

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
---
 pkg/kubelet/cadvisor/cadvisor_linux.go   | 9 ++++++++-
 pkg/kubelet/server/server.go             | 3 ++-
 pkg/kubelet/stats/stats_provider_test.go | 2 +-
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/pkg/kubelet/cadvisor/cadvisor_linux.go b/pkg/kubelet/cadvisor/cadvisor_linux.go
index 7d20b77e2a6c9..7b92180e20792 100644
--- a/pkg/kubelet/cadvisor/cadvisor_linux.go
+++ b/pkg/kubelet/cadvisor/cadvisor_linux.go
@@ -45,6 +45,7 @@ import (
 	"github.com/google/cadvisor/manager"
 	"github.com/google/cadvisor/utils/sysfs"
 	"k8s.io/klog"
+	"k8s.io/utils/pointer"
 )
 
 type cadvisorClient struct {
@@ -99,8 +100,14 @@ func New(imageFsInfoProvider ImageFsInfoProvider, rootPath string, cgroupRoots [
 		includedMetrics[cadvisormetrics.DiskUsageMetrics] = struct{}{}
 	}
 
+	duration := maxHousekeepingInterval
+	housekeepingConfig := manager.HouskeepingConfig{
+		Interval:     &duration,
+		AllowDynamic: pointer.BoolPtr(allowDynamicHousekeeping),
+	}
+
 	// Create the cAdvisor container manager.
-	m, err := manager.New(memory.New(statsCacheDuration, nil), sysFs, maxHousekeepingInterval, allowDynamicHousekeeping, includedMetrics, http.DefaultClient, cgroupRoots)
+	m, err := manager.New(memory.New(statsCacheDuration, nil), sysFs, housekeepingConfig, includedMetrics, http.DefaultClient, cgroupRoots, "")
 	if err != nil {
 		return nil, err
 	}
diff --git a/pkg/kubelet/server/server.go b/pkg/kubelet/server/server.go
index d6c05866b4d73..6f7e8b101dbf9 100644
--- a/pkg/kubelet/server/server.go
+++ b/pkg/kubelet/server/server.go
@@ -39,6 +39,7 @@ import (
 	"google.golang.org/grpc"
 	"k8s.io/klog"
 	"k8s.io/kubernetes/pkg/kubelet/metrics/collectors"
+	"k8s.io/utils/clock"
 
 	"k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -342,7 +343,7 @@ func (s *Server) InstallDefaultHandlers(enableCAdvisorJSONEndpoints bool) {
 		cadvisormetrics.AppMetrics:              struct{}{},
 		cadvisormetrics.ProcessMetrics:          struct{}{},
 	}
-	r.RawMustRegister(metrics.NewPrometheusCollector(prometheusHostAdapter{s.host}, containerPrometheusLabelsFunc(s.host), includedMetrics))
+	r.RawMustRegister(metrics.NewPrometheusCollector(prometheusHostAdapter{s.host}, containerPrometheusLabelsFunc(s.host), includedMetrics, clock.RealClock{}))
 	s.restfulCont.Handle(cadvisorMetricsPath,
 		compbasemetrics.HandlerFor(r, compbasemetrics.HandlerOpts{ErrorHandling: compbasemetrics.ContinueOnError}),
 	)
diff --git a/pkg/kubelet/stats/stats_provider_test.go b/pkg/kubelet/stats/stats_provider_test.go
index 85b287a235fe1..a830af322e155 100644
--- a/pkg/kubelet/stats/stats_provider_test.go
+++ b/pkg/kubelet/stats/stats_provider_test.go
@@ -557,7 +557,7 @@ func generateCustomMetricSpec() []cadvisorapiv1.MetricSpec {
 			case 1:
 				e.Type = cadvisorapiv1.MetricCumulative
 			case 2:
-				e.Type = cadvisorapiv1.MetricDelta
+				e.Type = cadvisorapiv1.MetricType("delta")
 			}
 			switch c.Intn(2) {
 			case 0: