mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
Merge pull request #45384 from caesarxuchao/copy-metrics-interanl
Automatic merge from submit-queue (batch tested with PRs 45382, 45384, 44781, 45333, 45543) Copy internal types to metrics Supersedes #45306. #45306 removed the internal types and suggested whoever needs the internal types should define their own copy, and use the code-gen tools to generated the conversion functions. Per offline discussion with @DirectXMan12, we wanted to go that direction but it's not clear where to put the internal types yet. Hence, as a temporary solution, we decided copy the referred client-go/pkg/api types into metrics api to avoid the dependency. The commit "remove need of registry from custom_metrics/client.go" is similar to what I did to the fake client in an earlier PR. Let me know if you want to put the commit in another PR.
This commit is contained in:
commit
a48cfe9fe5
@ -109,8 +109,6 @@ go_library(
|
||||
"//vendor/k8s.io/client-go/tools/clientcmd:go_default_library",
|
||||
"//vendor/k8s.io/client-go/tools/record:go_default_library",
|
||||
"//vendor/k8s.io/client-go/util/cert:go_default_library",
|
||||
"//vendor/k8s.io/metrics/pkg/apis/custom_metrics/install:go_default_library",
|
||||
"//vendor/k8s.io/metrics/pkg/apis/metrics/install:go_default_library",
|
||||
"//vendor/k8s.io/metrics/pkg/client/clientset_generated/clientset/typed/metrics/v1alpha1:go_default_library",
|
||||
"//vendor/k8s.io/metrics/pkg/client/custom_metrics:go_default_library",
|
||||
],
|
||||
|
@ -26,10 +26,6 @@ import (
|
||||
"k8s.io/kubernetes/pkg/controller/podautoscaler/metrics"
|
||||
resourceclient "k8s.io/metrics/pkg/client/clientset_generated/clientset/typed/metrics/v1alpha1"
|
||||
"k8s.io/metrics/pkg/client/custom_metrics"
|
||||
|
||||
// install the APIs so that they're registered with the scheme for the clients
|
||||
_ "k8s.io/metrics/pkg/apis/custom_metrics/install"
|
||||
_ "k8s.io/metrics/pkg/apis/metrics/install"
|
||||
)
|
||||
|
||||
func startHPAController(ctx ControllerContext) (bool, error) {
|
||||
|
@ -51,6 +51,9 @@ generated_files=($(
|
||||
-o -wholename '*/codecgen-*-1234.generated.go' \
|
||||
\) -prune \
|
||||
\) -name '*.generated.go' | LC_ALL=C sort -r
|
||||
|
||||
find ./vendor/k8s.io/metrics/ \
|
||||
-name '*.generated.go' | LC_ALL=C sort -r
|
||||
))
|
||||
|
||||
# We only work for deps within this prefix.
|
||||
|
@ -27,8 +27,7 @@ go_library(
|
||||
"//vendor/k8s.io/client-go/pkg/api:__subpackages__",
|
||||
"//vendor/k8s.io/client-go/pkg/apis:__subpackages__",
|
||||
"//vendor/k8s.io/kube-apiextensions-server/pkg/apis/apiextensions/install:__subpackages__",
|
||||
"//vendor/k8s.io/metrics/pkg/apis:__subpackages__",
|
||||
"//vendor/k8s.io/metrics/pkg/client:__subpackages__",
|
||||
"//vendor/k8s.io/metrics/pkg/client/clientset_generated/clientset/fake:__subpackages__",
|
||||
],
|
||||
deps = [
|
||||
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
|
||||
|
@ -25,6 +25,5 @@ go_library(
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
||||
],
|
||||
)
|
||||
|
@ -15,7 +15,6 @@ go_library(
|
||||
"//vendor/k8s.io/apimachinery/pkg/apimachinery/announced:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/apimachinery/registered:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
||||
"//vendor/k8s.io/metrics/pkg/apis/custom_metrics:go_default_library",
|
||||
"//vendor/k8s.io/metrics/pkg/apis/custom_metrics/v1alpha1:go_default_library",
|
||||
],
|
||||
|
@ -22,15 +22,10 @@ import (
|
||||
"k8s.io/apimachinery/pkg/apimachinery/announced"
|
||||
"k8s.io/apimachinery/pkg/apimachinery/registered"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/client-go/pkg/api"
|
||||
"k8s.io/metrics/pkg/apis/custom_metrics"
|
||||
"k8s.io/metrics/pkg/apis/custom_metrics/v1alpha1"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Install(api.GroupFactoryRegistry, api.Registry, api.Scheme)
|
||||
}
|
||||
|
||||
// Install registers the API group and adds types to a scheme
|
||||
func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) {
|
||||
if err := announced.NewGroupMetaFactory(
|
||||
|
@ -25,10 +25,9 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
codec1978 "github.com/ugorji/go/codec"
|
||||
pkg4_resource "k8s.io/apimachinery/pkg/api/resource"
|
||||
pkg3_resource "k8s.io/apimachinery/pkg/api/resource"
|
||||
pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
pkg3_types "k8s.io/apimachinery/pkg/types"
|
||||
pkg2_api "k8s.io/client-go/pkg/api"
|
||||
pkg2_types "k8s.io/apimachinery/pkg/types"
|
||||
"reflect"
|
||||
"runtime"
|
||||
time "time"
|
||||
@ -64,12 +63,11 @@ func init() {
|
||||
panic(err)
|
||||
}
|
||||
if false { // reference the types, but skip this branch at build/run time
|
||||
var v0 pkg4_resource.Quantity
|
||||
var v0 pkg3_resource.Quantity
|
||||
var v1 pkg1_v1.TypeMeta
|
||||
var v2 pkg3_types.UID
|
||||
var v3 pkg2_api.ObjectReference
|
||||
var v4 time.Time
|
||||
_, _, _, _, _ = v0, v1, v2, v3, v4
|
||||
var v2 pkg2_types.UID
|
||||
var v3 time.Time
|
||||
_, _, _, _ = v0, v1, v2, v3
|
||||
}
|
||||
}
|
||||
|
||||
@ -527,25 +525,13 @@ func (x *MetricValue) CodecEncodeSelf(e *codec1978.Encoder) {
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yy10 := &x.DescribedObject
|
||||
yym11 := z.EncBinary()
|
||||
_ = yym11
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.EncExt(yy10) {
|
||||
} else {
|
||||
z.EncFallback(yy10)
|
||||
}
|
||||
yy10.CodecEncodeSelf(e)
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("describedObject"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yy12 := &x.DescribedObject
|
||||
yym13 := z.EncBinary()
|
||||
_ = yym13
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.EncExt(yy12) {
|
||||
} else {
|
||||
z.EncFallback(yy12)
|
||||
}
|
||||
yy12.CodecEncodeSelf(e)
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
@ -746,44 +732,38 @@ func (x *MetricValue) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
|
||||
}
|
||||
case "describedObject":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.DescribedObject = pkg2_api.ObjectReference{}
|
||||
x.DescribedObject = ObjectReference{}
|
||||
} else {
|
||||
yyv8 := &x.DescribedObject
|
||||
yym9 := z.DecBinary()
|
||||
_ = yym9
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.DecExt(yyv8) {
|
||||
} else {
|
||||
z.DecFallback(yyv8, false)
|
||||
}
|
||||
yyv8.CodecDecodeSelf(d)
|
||||
}
|
||||
case "metricName":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.MetricName = ""
|
||||
} else {
|
||||
yyv10 := &x.MetricName
|
||||
yym11 := z.DecBinary()
|
||||
_ = yym11
|
||||
yyv9 := &x.MetricName
|
||||
yym10 := z.DecBinary()
|
||||
_ = yym10
|
||||
if false {
|
||||
} else {
|
||||
*((*string)(yyv10)) = r.DecodeString()
|
||||
*((*string)(yyv9)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
case "timestamp":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Timestamp = pkg1_v1.Time{}
|
||||
} else {
|
||||
yyv12 := &x.Timestamp
|
||||
yym13 := z.DecBinary()
|
||||
_ = yym13
|
||||
yyv11 := &x.Timestamp
|
||||
yym12 := z.DecBinary()
|
||||
_ = yym12
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.DecExt(yyv12) {
|
||||
} else if yym13 {
|
||||
z.DecBinaryUnmarshal(yyv12)
|
||||
} else if !yym13 && z.IsJSONHandle() {
|
||||
z.DecJSONUnmarshal(yyv12)
|
||||
} else if z.HasExtensions() && z.DecExt(yyv11) {
|
||||
} else if yym12 {
|
||||
z.DecBinaryUnmarshal(yyv11)
|
||||
} else if !yym12 && z.IsJSONHandle() {
|
||||
z.DecJSONUnmarshal(yyv11)
|
||||
} else {
|
||||
z.DecFallback(yyv12, false)
|
||||
z.DecFallback(yyv11, false)
|
||||
}
|
||||
}
|
||||
case "window":
|
||||
@ -795,8 +775,8 @@ func (x *MetricValue) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
|
||||
if x.WindowSeconds == nil {
|
||||
x.WindowSeconds = new(int64)
|
||||
}
|
||||
yym15 := z.DecBinary()
|
||||
_ = yym15
|
||||
yym14 := z.DecBinary()
|
||||
_ = yym14
|
||||
if false {
|
||||
} else {
|
||||
*((*int64)(x.WindowSeconds)) = int64(r.DecodeInt(64))
|
||||
@ -804,17 +784,17 @@ func (x *MetricValue) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
|
||||
}
|
||||
case "value":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Value = pkg4_resource.Quantity{}
|
||||
x.Value = pkg3_resource.Quantity{}
|
||||
} else {
|
||||
yyv16 := &x.Value
|
||||
yym17 := z.DecBinary()
|
||||
_ = yym17
|
||||
yyv15 := &x.Value
|
||||
yym16 := z.DecBinary()
|
||||
_ = yym16
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.DecExt(yyv16) {
|
||||
} else if !yym17 && z.IsJSONHandle() {
|
||||
z.DecJSONUnmarshal(yyv16)
|
||||
} else if z.HasExtensions() && z.DecExt(yyv15) {
|
||||
} else if !yym16 && z.IsJSONHandle() {
|
||||
z.DecJSONUnmarshal(yyv15)
|
||||
} else {
|
||||
z.DecFallback(yyv16, false)
|
||||
z.DecFallback(yyv15, false)
|
||||
}
|
||||
}
|
||||
default:
|
||||
@ -825,6 +805,508 @@ func (x *MetricValue) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
|
||||
}
|
||||
|
||||
func (x *MetricValue) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
||||
var h codecSelfer1234
|
||||
z, r := codec1978.GenHelperDecoder(d)
|
||||
_, _, _ = h, z, r
|
||||
var yyj17 int
|
||||
var yyb17 bool
|
||||
var yyhl17 bool = l >= 0
|
||||
yyj17++
|
||||
if yyhl17 {
|
||||
yyb17 = yyj17 > l
|
||||
} else {
|
||||
yyb17 = r.CheckBreak()
|
||||
}
|
||||
if yyb17 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Kind = ""
|
||||
} else {
|
||||
yyv18 := &x.Kind
|
||||
yym19 := z.DecBinary()
|
||||
_ = yym19
|
||||
if false {
|
||||
} else {
|
||||
*((*string)(yyv18)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
yyj17++
|
||||
if yyhl17 {
|
||||
yyb17 = yyj17 > l
|
||||
} else {
|
||||
yyb17 = r.CheckBreak()
|
||||
}
|
||||
if yyb17 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.APIVersion = ""
|
||||
} else {
|
||||
yyv20 := &x.APIVersion
|
||||
yym21 := z.DecBinary()
|
||||
_ = yym21
|
||||
if false {
|
||||
} else {
|
||||
*((*string)(yyv20)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
yyj17++
|
||||
if yyhl17 {
|
||||
yyb17 = yyj17 > l
|
||||
} else {
|
||||
yyb17 = r.CheckBreak()
|
||||
}
|
||||
if yyb17 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.DescribedObject = ObjectReference{}
|
||||
} else {
|
||||
yyv22 := &x.DescribedObject
|
||||
yyv22.CodecDecodeSelf(d)
|
||||
}
|
||||
yyj17++
|
||||
if yyhl17 {
|
||||
yyb17 = yyj17 > l
|
||||
} else {
|
||||
yyb17 = r.CheckBreak()
|
||||
}
|
||||
if yyb17 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.MetricName = ""
|
||||
} else {
|
||||
yyv23 := &x.MetricName
|
||||
yym24 := z.DecBinary()
|
||||
_ = yym24
|
||||
if false {
|
||||
} else {
|
||||
*((*string)(yyv23)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
yyj17++
|
||||
if yyhl17 {
|
||||
yyb17 = yyj17 > l
|
||||
} else {
|
||||
yyb17 = r.CheckBreak()
|
||||
}
|
||||
if yyb17 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Timestamp = pkg1_v1.Time{}
|
||||
} else {
|
||||
yyv25 := &x.Timestamp
|
||||
yym26 := z.DecBinary()
|
||||
_ = yym26
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.DecExt(yyv25) {
|
||||
} else if yym26 {
|
||||
z.DecBinaryUnmarshal(yyv25)
|
||||
} else if !yym26 && z.IsJSONHandle() {
|
||||
z.DecJSONUnmarshal(yyv25)
|
||||
} else {
|
||||
z.DecFallback(yyv25, false)
|
||||
}
|
||||
}
|
||||
yyj17++
|
||||
if yyhl17 {
|
||||
yyb17 = yyj17 > l
|
||||
} else {
|
||||
yyb17 = r.CheckBreak()
|
||||
}
|
||||
if yyb17 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
if x.WindowSeconds != nil {
|
||||
x.WindowSeconds = nil
|
||||
}
|
||||
} else {
|
||||
if x.WindowSeconds == nil {
|
||||
x.WindowSeconds = new(int64)
|
||||
}
|
||||
yym28 := z.DecBinary()
|
||||
_ = yym28
|
||||
if false {
|
||||
} else {
|
||||
*((*int64)(x.WindowSeconds)) = int64(r.DecodeInt(64))
|
||||
}
|
||||
}
|
||||
yyj17++
|
||||
if yyhl17 {
|
||||
yyb17 = yyj17 > l
|
||||
} else {
|
||||
yyb17 = r.CheckBreak()
|
||||
}
|
||||
if yyb17 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Value = pkg3_resource.Quantity{}
|
||||
} else {
|
||||
yyv29 := &x.Value
|
||||
yym30 := z.DecBinary()
|
||||
_ = yym30
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.DecExt(yyv29) {
|
||||
} else if !yym30 && z.IsJSONHandle() {
|
||||
z.DecJSONUnmarshal(yyv29)
|
||||
} else {
|
||||
z.DecFallback(yyv29, false)
|
||||
}
|
||||
}
|
||||
for {
|
||||
yyj17++
|
||||
if yyhl17 {
|
||||
yyb17 = yyj17 > l
|
||||
} else {
|
||||
yyb17 = r.CheckBreak()
|
||||
}
|
||||
if yyb17 {
|
||||
break
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
z.DecStructFieldNotFound(yyj17-1, "")
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
}
|
||||
|
||||
func (x *ObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
|
||||
var h codecSelfer1234
|
||||
z, r := codec1978.GenHelperEncoder(e)
|
||||
_, _, _ = h, z, r
|
||||
if x == nil {
|
||||
r.EncodeNil()
|
||||
} else {
|
||||
yym1 := z.EncBinary()
|
||||
_ = yym1
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.EncExt(x) {
|
||||
} else {
|
||||
yysep2 := !z.EncBinary()
|
||||
yy2arr2 := z.EncBasicHandle().StructToArray
|
||||
var yyq2 [7]bool
|
||||
_, _, _ = yysep2, yyq2, yy2arr2
|
||||
const yyr2 bool = false
|
||||
var yynn2 int
|
||||
if yyr2 || yy2arr2 {
|
||||
r.EncodeArrayStart(7)
|
||||
} else {
|
||||
yynn2 = 7
|
||||
for _, b := range yyq2 {
|
||||
if b {
|
||||
yynn2++
|
||||
}
|
||||
}
|
||||
r.EncodeMapStart(yynn2)
|
||||
yynn2 = 0
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yym4 := z.EncBinary()
|
||||
_ = yym4
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
|
||||
}
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("Kind"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yym5 := z.EncBinary()
|
||||
_ = yym5
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yym7 := z.EncBinary()
|
||||
_ = yym7
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
|
||||
}
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("Namespace"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yym8 := z.EncBinary()
|
||||
_ = yym8
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yym10 := z.EncBinary()
|
||||
_ = yym10
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.Name))
|
||||
}
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("Name"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yym11 := z.EncBinary()
|
||||
_ = yym11
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.Name))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yym13 := z.EncBinary()
|
||||
_ = yym13
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.EncExt(x.UID) {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.UID))
|
||||
}
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("UID"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yym14 := z.EncBinary()
|
||||
_ = yym14
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.EncExt(x.UID) {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.UID))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yym16 := z.EncBinary()
|
||||
_ = yym16
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
|
||||
}
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("APIVersion"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yym17 := z.EncBinary()
|
||||
_ = yym17
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yym19 := z.EncBinary()
|
||||
_ = yym19
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
|
||||
}
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("ResourceVersion"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yym20 := z.EncBinary()
|
||||
_ = yym20
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yym22 := z.EncBinary()
|
||||
_ = yym22
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
|
||||
}
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("FieldPath"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yym23 := z.EncBinary()
|
||||
_ = yym23
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ObjectReference) CodecDecodeSelf(d *codec1978.Decoder) {
|
||||
var h codecSelfer1234
|
||||
z, r := codec1978.GenHelperDecoder(d)
|
||||
_, _, _ = h, z, r
|
||||
yym1 := z.DecBinary()
|
||||
_ = yym1
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.DecExt(x) {
|
||||
} else {
|
||||
yyct2 := r.ContainerType()
|
||||
if yyct2 == codecSelferValueTypeMap1234 {
|
||||
yyl2 := r.ReadMapStart()
|
||||
if yyl2 == 0 {
|
||||
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
|
||||
} else {
|
||||
x.codecDecodeSelfFromMap(yyl2, d)
|
||||
}
|
||||
} else if yyct2 == codecSelferValueTypeArray1234 {
|
||||
yyl2 := r.ReadArrayStart()
|
||||
if yyl2 == 0 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
} else {
|
||||
x.codecDecodeSelfFromArray(yyl2, d)
|
||||
}
|
||||
} else {
|
||||
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ObjectReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
|
||||
var h codecSelfer1234
|
||||
z, r := codec1978.GenHelperDecoder(d)
|
||||
_, _, _ = h, z, r
|
||||
var yys3Slc = z.DecScratchBuffer() // default slice to decode into
|
||||
_ = yys3Slc
|
||||
var yyhl3 bool = l >= 0
|
||||
for yyj3 := 0; ; yyj3++ {
|
||||
if yyhl3 {
|
||||
if yyj3 >= l {
|
||||
break
|
||||
}
|
||||
} else {
|
||||
if r.CheckBreak() {
|
||||
break
|
||||
}
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerMapKey1234)
|
||||
yys3Slc = r.DecodeBytes(yys3Slc, true, true)
|
||||
yys3 := string(yys3Slc)
|
||||
z.DecSendContainerState(codecSelfer_containerMapValue1234)
|
||||
switch yys3 {
|
||||
case "Kind":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Kind = ""
|
||||
} else {
|
||||
yyv4 := &x.Kind
|
||||
yym5 := z.DecBinary()
|
||||
_ = yym5
|
||||
if false {
|
||||
} else {
|
||||
*((*string)(yyv4)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
case "Namespace":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Namespace = ""
|
||||
} else {
|
||||
yyv6 := &x.Namespace
|
||||
yym7 := z.DecBinary()
|
||||
_ = yym7
|
||||
if false {
|
||||
} else {
|
||||
*((*string)(yyv6)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
case "Name":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Name = ""
|
||||
} else {
|
||||
yyv8 := &x.Name
|
||||
yym9 := z.DecBinary()
|
||||
_ = yym9
|
||||
if false {
|
||||
} else {
|
||||
*((*string)(yyv8)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
case "UID":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.UID = ""
|
||||
} else {
|
||||
yyv10 := &x.UID
|
||||
yym11 := z.DecBinary()
|
||||
_ = yym11
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.DecExt(yyv10) {
|
||||
} else {
|
||||
*((*string)(yyv10)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
case "APIVersion":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.APIVersion = ""
|
||||
} else {
|
||||
yyv12 := &x.APIVersion
|
||||
yym13 := z.DecBinary()
|
||||
_ = yym13
|
||||
if false {
|
||||
} else {
|
||||
*((*string)(yyv12)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
case "ResourceVersion":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.ResourceVersion = ""
|
||||
} else {
|
||||
yyv14 := &x.ResourceVersion
|
||||
yym15 := z.DecBinary()
|
||||
_ = yym15
|
||||
if false {
|
||||
} else {
|
||||
*((*string)(yyv14)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
case "FieldPath":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.FieldPath = ""
|
||||
} else {
|
||||
yyv16 := &x.FieldPath
|
||||
yym17 := z.DecBinary()
|
||||
_ = yym17
|
||||
if false {
|
||||
} else {
|
||||
*((*string)(yyv16)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
default:
|
||||
z.DecStructFieldNotFound(-1, yys3)
|
||||
} // end switch yys3
|
||||
} // end for yyj3
|
||||
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
|
||||
}
|
||||
|
||||
func (x *ObjectReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
||||
var h codecSelfer1234
|
||||
z, r := codec1978.GenHelperDecoder(d)
|
||||
_, _, _ = h, z, r
|
||||
@ -865,9 +1347,9 @@ func (x *MetricValue) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.APIVersion = ""
|
||||
x.Namespace = ""
|
||||
} else {
|
||||
yyv21 := &x.APIVersion
|
||||
yyv21 := &x.Namespace
|
||||
yym22 := z.DecBinary()
|
||||
_ = yym22
|
||||
if false {
|
||||
@ -887,15 +1369,14 @@ func (x *MetricValue) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.DescribedObject = pkg2_api.ObjectReference{}
|
||||
x.Name = ""
|
||||
} else {
|
||||
yyv23 := &x.DescribedObject
|
||||
yyv23 := &x.Name
|
||||
yym24 := z.DecBinary()
|
||||
_ = yym24
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.DecExt(yyv23) {
|
||||
} else {
|
||||
z.DecFallback(yyv23, false)
|
||||
*((*string)(yyv23)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
yyj18++
|
||||
@ -910,12 +1391,13 @@ func (x *MetricValue) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.MetricName = ""
|
||||
x.UID = ""
|
||||
} else {
|
||||
yyv25 := &x.MetricName
|
||||
yyv25 := &x.UID
|
||||
yym26 := z.DecBinary()
|
||||
_ = yym26
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.DecExt(yyv25) {
|
||||
} else {
|
||||
*((*string)(yyv25)) = r.DecodeString()
|
||||
}
|
||||
@ -932,19 +1414,14 @@ func (x *MetricValue) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Timestamp = pkg1_v1.Time{}
|
||||
x.APIVersion = ""
|
||||
} else {
|
||||
yyv27 := &x.Timestamp
|
||||
yyv27 := &x.APIVersion
|
||||
yym28 := z.DecBinary()
|
||||
_ = yym28
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.DecExt(yyv27) {
|
||||
} else if yym28 {
|
||||
z.DecBinaryUnmarshal(yyv27)
|
||||
} else if !yym28 && z.IsJSONHandle() {
|
||||
z.DecJSONUnmarshal(yyv27)
|
||||
} else {
|
||||
z.DecFallback(yyv27, false)
|
||||
*((*string)(yyv27)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
yyj18++
|
||||
@ -959,18 +1436,14 @@ func (x *MetricValue) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
if x.WindowSeconds != nil {
|
||||
x.WindowSeconds = nil
|
||||
}
|
||||
x.ResourceVersion = ""
|
||||
} else {
|
||||
if x.WindowSeconds == nil {
|
||||
x.WindowSeconds = new(int64)
|
||||
}
|
||||
yyv29 := &x.ResourceVersion
|
||||
yym30 := z.DecBinary()
|
||||
_ = yym30
|
||||
if false {
|
||||
} else {
|
||||
*((*int64)(x.WindowSeconds)) = int64(r.DecodeInt(64))
|
||||
*((*string)(yyv29)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
yyj18++
|
||||
@ -985,17 +1458,14 @@ func (x *MetricValue) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Value = pkg4_resource.Quantity{}
|
||||
x.FieldPath = ""
|
||||
} else {
|
||||
yyv31 := &x.Value
|
||||
yyv31 := &x.FieldPath
|
||||
yym32 := z.DecBinary()
|
||||
_ = yym32
|
||||
if false {
|
||||
} else if z.HasExtensions() && z.DecExt(yyv31) {
|
||||
} else if !yym32 && z.IsJSONHandle() {
|
||||
z.DecJSONUnmarshal(yyv31)
|
||||
} else {
|
||||
z.DecFallback(yyv31, false)
|
||||
*((*string)(yyv31)) = r.DecodeString()
|
||||
}
|
||||
}
|
||||
for {
|
||||
|
@ -19,7 +19,7 @@ package custom_metrics
|
||||
import (
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/client-go/pkg/api"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
)
|
||||
|
||||
// a list of values for a given metric for some set of objects
|
||||
@ -36,7 +36,7 @@ type MetricValue struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
|
||||
// a reference to the described object
|
||||
DescribedObject api.ObjectReference `json:"describedObject"`
|
||||
DescribedObject ObjectReference `json:"describedObject"`
|
||||
|
||||
// the name of the metric
|
||||
MetricName string `json:"metricName"`
|
||||
@ -57,3 +57,21 @@ type MetricValue struct {
|
||||
// allObjects is a wildcard used to select metrics
|
||||
// for all objects matching the given label selector
|
||||
const AllObjects = "*"
|
||||
|
||||
// NOTE: ObjectReference is copied from k8s.io/kubernetes/pkg/api/types.go. We
|
||||
// cannot depend on k8s.io/kubernetes/pkg/api because that creates cyclic
|
||||
// dependency between k8s.io/metrics and k8s.io/kubernetes. We cannot depend on
|
||||
// k8s.io/client-go/pkg/api because the package is going to be deprecated soon.
|
||||
// There is no need to keep it an exact copy. Each repo can define its own
|
||||
// internal objects.
|
||||
|
||||
// ObjectReference contains enough information to let you inspect or modify the referred object.
|
||||
type ObjectReference struct {
|
||||
Kind string
|
||||
Namespace string
|
||||
Name string
|
||||
UID types.UID
|
||||
APIVersion string
|
||||
ResourceVersion string
|
||||
FieldPath string
|
||||
}
|
||||
|
@ -36,6 +36,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
|
||||
return scheme.AddGeneratedDeepCopyFuncs(
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_custom_metrics_MetricValue, InType: reflect.TypeOf(&MetricValue{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_custom_metrics_MetricValueList, InType: reflect.TypeOf(&MetricValueList{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_custom_metrics_ObjectReference, InType: reflect.TypeOf(&ObjectReference{})},
|
||||
)
|
||||
}
|
||||
|
||||
@ -74,3 +75,12 @@ func DeepCopy_custom_metrics_MetricValueList(in interface{}, out interface{}, c
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_custom_metrics_ObjectReference(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*ObjectReference)
|
||||
out := out.(*ObjectReference)
|
||||
*out = *in
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
@ -12,15 +12,18 @@ go_library(
|
||||
srcs = [
|
||||
"doc.go",
|
||||
"register.go",
|
||||
"types.generated.go",
|
||||
"types.go",
|
||||
"zz_generated.deepcopy.go",
|
||||
],
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//vendor/github.com/ugorji/go/codec:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||
],
|
||||
)
|
||||
|
@ -16,7 +16,6 @@ go_library(
|
||||
"//vendor/k8s.io/apimachinery/pkg/apimachinery/registered:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
||||
"//vendor/k8s.io/metrics/pkg/apis/metrics:go_default_library",
|
||||
"//vendor/k8s.io/metrics/pkg/apis/metrics/v1alpha1:go_default_library",
|
||||
],
|
||||
|
@ -23,15 +23,10 @@ import (
|
||||
"k8s.io/apimachinery/pkg/apimachinery/registered"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
"k8s.io/client-go/pkg/api"
|
||||
"k8s.io/metrics/pkg/apis/metrics"
|
||||
"k8s.io/metrics/pkg/apis/metrics/v1alpha1"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Install(api.GroupFactoryRegistry, api.Registry, api.Scheme)
|
||||
}
|
||||
|
||||
// Install registers the API group and adds types to a scheme
|
||||
func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) {
|
||||
if err := announced.NewGroupMetaFactory(
|
||||
|
4775
staging/src/k8s.io/metrics/pkg/apis/metrics/types.generated.go
Normal file
4775
staging/src/k8s.io/metrics/pkg/apis/metrics/types.generated.go
Normal file
File diff suppressed because it is too large
Load Diff
@ -17,8 +17,8 @@ limitations under the License.
|
||||
package metrics
|
||||
|
||||
import (
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/client-go/pkg/api"
|
||||
)
|
||||
|
||||
// +genclient=true
|
||||
@ -37,7 +37,7 @@ type NodeMetrics struct {
|
||||
Window metav1.Duration
|
||||
|
||||
// The memory usage is the memory working set.
|
||||
Usage api.ResourceList
|
||||
Usage ResourceList
|
||||
}
|
||||
|
||||
// NodeMetricsList is a list of NodeMetrics.
|
||||
@ -85,5 +85,19 @@ type ContainerMetrics struct {
|
||||
// Container name corresponding to the one from pod.spec.containers.
|
||||
Name string
|
||||
// The memory usage is the memory working set.
|
||||
Usage api.ResourceList
|
||||
Usage ResourceList
|
||||
}
|
||||
|
||||
// NOTE: ResourceName and ResourceList are copied from
|
||||
// k8s.io/kubernetes/pkg/api/types.go. We cannot depend on
|
||||
// k8s.io/kubernetes/pkg/api because that creates cyclic dependency between
|
||||
// k8s.io/metrics and k8s.io/kubernetes. We cannot depend on
|
||||
// k8s.io/client-go/pkg/api because the package is going to be deprecated soon.
|
||||
// There is no need to keep them exact copies. Each repo can define its own
|
||||
// internal objects.
|
||||
|
||||
// ResourceList is a set of (resource name, quantity) pairs.
|
||||
type ResourceList map[ResourceName]resource.Quantity
|
||||
|
||||
// ResourceName is the name identifying various resources in a ResourceList.
|
||||
type ResourceName string
|
||||
|
@ -13,6 +13,7 @@ go_library(
|
||||
"doc.go",
|
||||
"generated.pb.go",
|
||||
"register.go",
|
||||
"types.generated.go",
|
||||
"types.go",
|
||||
"zz_generated.conversion.go",
|
||||
"zz_generated.deepcopy.go",
|
||||
@ -21,12 +22,13 @@ go_library(
|
||||
deps = [
|
||||
"//vendor/github.com/gogo/protobuf/proto:go_default_library",
|
||||
"//vendor/github.com/gogo/protobuf/sortkeys:go_default_library",
|
||||
"//vendor/github.com/ugorji/go/codec:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||
"//vendor/k8s.io/client-go/pkg/api/v1:go_default_library",
|
||||
"//vendor/k8s.io/metrics/pkg/apis/metrics:go_default_library",
|
||||
],
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -23,7 +23,6 @@ package v1alpha1
|
||||
import (
|
||||
conversion "k8s.io/apimachinery/pkg/conversion"
|
||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||
api "k8s.io/client-go/pkg/api"
|
||||
v1 "k8s.io/client-go/pkg/api/v1"
|
||||
metrics "k8s.io/metrics/pkg/apis/metrics"
|
||||
unsafe "unsafe"
|
||||
@ -52,7 +51,7 @@ func RegisterConversions(scheme *runtime.Scheme) error {
|
||||
|
||||
func autoConvert_v1alpha1_ContainerMetrics_To_metrics_ContainerMetrics(in *ContainerMetrics, out *metrics.ContainerMetrics, s conversion.Scope) error {
|
||||
out.Name = in.Name
|
||||
out.Usage = *(*api.ResourceList)(unsafe.Pointer(&in.Usage))
|
||||
out.Usage = *(*metrics.ResourceList)(unsafe.Pointer(&in.Usage))
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -76,7 +75,7 @@ func autoConvert_v1alpha1_NodeMetrics_To_metrics_NodeMetrics(in *NodeMetrics, ou
|
||||
out.ObjectMeta = in.ObjectMeta
|
||||
out.Timestamp = in.Timestamp
|
||||
out.Window = in.Window
|
||||
out.Usage = *(*api.ResourceList)(unsafe.Pointer(&in.Usage))
|
||||
out.Usage = *(*metrics.ResourceList)(unsafe.Pointer(&in.Usage))
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,6 @@ import (
|
||||
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
conversion "k8s.io/apimachinery/pkg/conversion"
|
||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||
api "k8s.io/client-go/pkg/api"
|
||||
reflect "reflect"
|
||||
)
|
||||
|
||||
@ -51,7 +50,7 @@ func DeepCopy_metrics_ContainerMetrics(in interface{}, out interface{}, c *conve
|
||||
*out = *in
|
||||
if in.Usage != nil {
|
||||
in, out := &in.Usage, &out.Usage
|
||||
*out = make(api.ResourceList)
|
||||
*out = make(ResourceList)
|
||||
for key, val := range *in {
|
||||
(*out)[key] = val.DeepCopy()
|
||||
}
|
||||
@ -73,7 +72,7 @@ func DeepCopy_metrics_NodeMetrics(in interface{}, out interface{}, c *conversion
|
||||
out.Timestamp = in.Timestamp.DeepCopy()
|
||||
if in.Usage != nil {
|
||||
in, out := &in.Usage, &out.Usage
|
||||
*out = make(api.ResourceList)
|
||||
*out = make(ResourceList)
|
||||
for key, val := range *in {
|
||||
(*out)[key] = val.DeepCopy()
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ go_library(
|
||||
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
|
||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
||||
"//vendor/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
||||
"//vendor/k8s.io/client-go/rest:go_default_library",
|
||||
"//vendor/k8s.io/client-go/util/flowcontrol:go_default_library",
|
||||
"//vendor/k8s.io/metrics/pkg/apis/custom_metrics/v1alpha1:go_default_library",
|
||||
|
@ -23,7 +23,7 @@ import (
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
serializer "k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
"k8s.io/client-go/pkg/api"
|
||||
"k8s.io/client-go/kubernetes/scheme"
|
||||
"k8s.io/client-go/rest"
|
||||
"k8s.io/client-go/util/flowcontrol"
|
||||
"k8s.io/metrics/pkg/apis/custom_metrics/v1alpha1"
|
||||
@ -35,7 +35,9 @@ type customMetricsClient struct {
|
||||
}
|
||||
|
||||
func New(client rest.Interface) CustomMetricsClient {
|
||||
return NewForMapper(client, api.Registry.RESTMapper())
|
||||
return &customMetricsClient{
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
func NewForConfig(c *rest.Config) (CustomMetricsClient, error) {
|
||||
@ -48,7 +50,7 @@ func NewForConfig(c *rest.Config) (CustomMetricsClient, error) {
|
||||
configShallowCopy.UserAgent = rest.DefaultKubernetesUserAgent()
|
||||
}
|
||||
configShallowCopy.GroupVersion = &v1alpha1.SchemeGroupVersion
|
||||
configShallowCopy.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
|
||||
configShallowCopy.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
|
||||
|
||||
client, err := rest.RESTClientFor(&configShallowCopy)
|
||||
if err != nil {
|
||||
@ -66,6 +68,8 @@ func NewForConfigOrDie(c *rest.Config) CustomMetricsClient {
|
||||
return client
|
||||
}
|
||||
|
||||
// NewForMapper constucts the client with a RESTMapper, which allows more
|
||||
// accurate translation from GroupVersionKind to GroupVersionResource.
|
||||
func NewForMapper(client rest.Interface, mapper meta.RESTMapper) CustomMetricsClient {
|
||||
return &customMetricsClient{
|
||||
client: client,
|
||||
@ -85,6 +89,15 @@ func (c *customMetricsClient) NamespacedMetrics(namespace string) MetricsInterfa
|
||||
}
|
||||
|
||||
func (c *customMetricsClient) qualResourceForKind(groupKind schema.GroupKind) (string, error) {
|
||||
if c.mapper == nil {
|
||||
// the version doesn't matter
|
||||
gvk := groupKind.WithVersion("")
|
||||
gvr, _ := meta.UnsafeGuessKindToResource(gvk)
|
||||
gr := gvr.GroupResource()
|
||||
return gr.String(), nil
|
||||
}
|
||||
|
||||
// use the mapper if it's available
|
||||
mapping, err := c.mapper.RESTMapping(groupKind)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("unable to map kind %s to resource: %v", groupKind.String(), err)
|
||||
@ -94,7 +107,6 @@ func (c *customMetricsClient) qualResourceForKind(groupKind schema.GroupKind) (s
|
||||
Group: mapping.GroupVersionKind.Group,
|
||||
Resource: mapping.Resource,
|
||||
}
|
||||
|
||||
return groupResource.String(), nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user