From 9006b2db69a5be72b93c123538419f9d5d7cad60 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Wed, 15 Apr 2020 16:36:47 -0400 Subject: [PATCH] Fix for API change in cadvisor Signed-off-by: Davanum Srinivas --- 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 7d20b77e2a6..7b92180e207 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 d6c05866b4d..6f7e8b101db 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 85b287a235f..a830af322e1 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: