Merge pull request #148 from brancz/empty-err

Fix empty pod or node list resulting in an error
This commit is contained in:
Frederic Branczyk 2018-12-13 16:03:49 -08:00 committed by GitHub
commit dce283def1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -118,9 +118,10 @@ type nsQueryResults struct {
err error err error
} }
// GetContainerMetrics implements the provider.MetricsProvider interface. It may return nil, nil, nil.
func (p *resourceProvider) GetContainerMetrics(pods ...apitypes.NamespacedName) ([]provider.TimeInfo, [][]metrics.ContainerMetrics, error) { func (p *resourceProvider) GetContainerMetrics(pods ...apitypes.NamespacedName) ([]provider.TimeInfo, [][]metrics.ContainerMetrics, error) {
if len(pods) == 0 { if len(pods) == 0 {
return nil, nil, fmt.Errorf("no pods to fetch metrics for") return nil, nil, nil
} }
// TODO(directxman12): figure out how well this scales if we go to list 1000+ pods // TODO(directxman12): figure out how well this scales if we go to list 1000+ pods
@ -238,9 +239,10 @@ func (p *resourceProvider) assignForPod(pod apitypes.NamespacedName, resultsByNs
*resMetrics = containerMetricsList *resMetrics = containerMetricsList
} }
// GetNodeMetrics implements the provider.MetricsProvider interface. It may return nil, nil, nil.
func (p *resourceProvider) GetNodeMetrics(nodes ...string) ([]provider.TimeInfo, []corev1.ResourceList, error) { func (p *resourceProvider) GetNodeMetrics(nodes ...string) ([]provider.TimeInfo, []corev1.ResourceList, error) {
if len(nodes) == 0 { if len(nodes) == 0 {
return nil, nil, fmt.Errorf("no nodes to fetch metrics for") return nil, nil, nil
} }
now := pmodel.Now() now := pmodel.Now()