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: