diff --git a/pkg/resourceprovider/provider.go b/pkg/resourceprovider/provider.go index 23b84df1..da0bc70b 100644 --- a/pkg/resourceprovider/provider.go +++ b/pkg/resourceprovider/provider.go @@ -120,9 +120,9 @@ type nsQueryResults struct { } // GetContainerMetrics implements the api.MetricsProvider interface. It may return nil, nil, nil. -func (p *resourceProvider) GetContainerMetrics(pods ...apitypes.NamespacedName) ([]api.TimeInfo, [][]metrics.ContainerMetrics, error) { +func (p *resourceProvider) GetContainerMetrics(pods ...apitypes.NamespacedName) ([]api.TimeInfo, [][]metrics.ContainerMetrics) { if len(pods) == 0 { - return nil, nil, nil + return nil, nil } // TODO(directxman12): figure out how well this scales if we go to list 1000+ pods @@ -168,7 +168,7 @@ func (p *resourceProvider) GetContainerMetrics(pods ...apitypes.NamespacedName) p.assignForPod(pod, resultsByNs, &resMetrics[i], &resTimes[i]) } - return resTimes, resMetrics, nil + return resTimes, resMetrics } // assignForPod takes the resource metrics for all containers in the given pod @@ -240,10 +240,10 @@ func (p *resourceProvider) assignForPod(pod apitypes.NamespacedName, resultsByNs *resMetrics = containerMetricsList } -// GetNodeMetrics implements the api.MetricsProvider interface. It may return nil, nil, nil. -func (p *resourceProvider) GetNodeMetrics(nodes ...string) ([]api.TimeInfo, []corev1.ResourceList, error) { +// GetNodeMetrics implements the api.MetricsProvider interface. It may return nil, nil. +func (p *resourceProvider) GetNodeMetrics(nodes ...string) ([]api.TimeInfo, []corev1.ResourceList) { if len(nodes) == 0 { - return nil, nil, nil + return nil, nil } now := pmodel.Now() @@ -251,7 +251,8 @@ func (p *resourceProvider) GetNodeMetrics(nodes ...string) ([]api.TimeInfo, []co // run the actual query qRes := p.queryBoth(now, nodeResource, "", nodes...) if qRes.err != nil { - return nil, nil, qRes.err + klog.Errorf("failed querying node metrics: %v", qRes.err) + return nil, nil } resTimes := make([]api.TimeInfo, len(nodes)) @@ -295,7 +296,7 @@ func (p *resourceProvider) GetNodeMetrics(nodes ...string) ([]api.TimeInfo, []co } } - return resTimes, resMetrics, nil + return resTimes, resMetrics } // queryBoth queries for both CPU and memory metrics on the given diff --git a/pkg/resourceprovider/provider_test.go b/pkg/resourceprovider/provider_test.go index e47c97a6..8d212d86 100644 --- a/pkg/resourceprovider/provider_test.go +++ b/pkg/resourceprovider/provider_test.go @@ -146,8 +146,7 @@ var _ = Describe("Resource Metrics Provider", func() { } By("querying for metrics for some pods") - times, metricVals, err := prov.GetContainerMetrics(pods...) - Expect(err).NotTo(HaveOccurred()) + times, metricVals := prov.GetContainerMetrics(pods...) By("verifying that the reported times for each are the earliest times for each pod") Expect(times).To(Equal([]api.TimeInfo{ @@ -185,11 +184,10 @@ var _ = Describe("Resource Metrics Provider", func() { } By("querying for metrics for some pods, one of which is missing") - times, metricVals, err := prov.GetContainerMetrics( + times, metricVals := prov.GetContainerMetrics( types.NamespacedName{Namespace: "some-ns", Name: "pod1"}, types.NamespacedName{Namespace: "some-ns", Name: "pod-nonexistant"}, ) - Expect(err).NotTo(HaveOccurred()) By("verifying that the missing pod had nil metrics") Expect(metricVals).To(HaveLen(2)) @@ -216,8 +214,7 @@ var _ = Describe("Resource Metrics Provider", func() { ), } By("querying for metrics for some nodes") - times, metricVals, err := prov.GetNodeMetrics("node1", "node2") - Expect(err).NotTo(HaveOccurred()) + times, metricVals := prov.GetNodeMetrics("node1", "node2") By("verifying that the reported times for each are the earliest times for each pod") Expect(times).To(Equal([]api.TimeInfo{ @@ -244,8 +241,7 @@ var _ = Describe("Resource Metrics Provider", func() { ), } By("querying for metrics for some nodes, one of which is missing") - times, metricVals, err := prov.GetNodeMetrics("node1", "node2", "node3") - Expect(err).NotTo(HaveOccurred()) + times, metricVals := prov.GetNodeMetrics("node1", "node2", "node3") By("verifying that the missing pod had nil metrics") Expect(metricVals).To(HaveLen(3))