Merge pull request #80392 from tedyu/ver-client-cast

Check whether metricObj can be converted to *v1beta2.MetricValueList
This commit is contained in:
Kubernetes Prow Robot 2019-07-30 10:09:04 -07:00 committed by GitHub
commit c6101aba30
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -18,11 +18,12 @@ package custom_metrics
import (
"fmt"
"reflect"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/client-go/rest"
"k8s.io/client-go/util/flowcontrol"
@ -122,7 +123,11 @@ func (m *rootScopedMetrics) getForNamespace(namespace string, metricName string,
return nil, err
}
res := metricObj.(*v1beta2.MetricValueList)
var res *v1beta2.MetricValueList
var ok bool
if res, ok = metricObj.(*v1beta2.MetricValueList); !ok {
return nil, fmt.Errorf("the custom metrics API server didn't return MetricValueList, the type is %v", reflect.TypeOf(metricObj))
}
if len(res.Items) != 1 {
return nil, fmt.Errorf("the custom metrics API server returned %v results when we asked for exactly one", len(res.Items))
}
@ -160,7 +165,11 @@ func (m *rootScopedMetrics) GetForObject(groupKind schema.GroupKind, name string
return nil, err
}
res := metricObj.(*v1beta2.MetricValueList)
var res *v1beta2.MetricValueList
var ok bool
if res, ok = metricObj.(*v1beta2.MetricValueList); !ok {
return nil, fmt.Errorf("the custom metrics API server didn't return MetricValueList, the type is %v", reflect.TypeOf(metricObj))
}
if len(res.Items) != 1 {
return nil, fmt.Errorf("the custom metrics API server returned %v results when we asked for exactly one", len(res.Items))
}
@ -199,7 +208,11 @@ func (m *rootScopedMetrics) GetForObjects(groupKind schema.GroupKind, selector l
return nil, err
}
res := metricObj.(*v1beta2.MetricValueList)
var res *v1beta2.MetricValueList
var ok bool
if res, ok = metricObj.(*v1beta2.MetricValueList); !ok {
return nil, fmt.Errorf("the custom metrics API server didn't return MetricValueList, the type is %v", reflect.TypeOf(metricObj))
}
return res, nil
}
@ -234,7 +247,11 @@ func (m *namespacedMetrics) GetForObject(groupKind schema.GroupKind, name string
return nil, err
}
res := metricObj.(*v1beta2.MetricValueList)
var res *v1beta2.MetricValueList
var ok bool
if res, ok = metricObj.(*v1beta2.MetricValueList); !ok {
return nil, fmt.Errorf("the custom metrics API server didn't return MetricValueList, the type is %v", reflect.TypeOf(metricObj))
}
if len(res.Items) != 1 {
return nil, fmt.Errorf("the custom metrics API server returned %v results when we asked for exactly one", len(res.Items))
}
@ -269,6 +286,10 @@ func (m *namespacedMetrics) GetForObjects(groupKind schema.GroupKind, selector l
return nil, err
}
res := metricObj.(*v1beta2.MetricValueList)
var res *v1beta2.MetricValueList
var ok bool
if res, ok = metricObj.(*v1beta2.MetricValueList); !ok {
return nil, fmt.Errorf("the custom metrics API server didn't return MetricValueList, the type is %v", reflect.TypeOf(metricObj))
}
return res, nil
}