From 067d173266303c5c9a4281e962d3662c34a78053 Mon Sep 17 00:00:00 2001 From: wojtekt Date: Tue, 12 Nov 2019 14:19:14 +0100 Subject: [PATCH] Eliminate couple unnecessary conversions --- pkg/apis/core/v1/conversion_test.go | 8 +------ pkg/kubelet/config/file_linux_test.go | 8 +------ pkg/kubelet/config/http_test.go | 8 +------ .../apiserver/pkg/endpoints/apiserver_test.go | 21 +++++++++++++------ .../src/k8s.io/kubectl/pkg/metricsutil/BUILD | 1 - .../pkg/metricsutil/metrics_printer.go | 16 ++++---------- 6 files changed, 22 insertions(+), 40 deletions(-) diff --git a/pkg/apis/core/v1/conversion_test.go b/pkg/apis/core/v1/conversion_test.go index f7bd8f92037..aee9c2c8994 100644 --- a/pkg/apis/core/v1/conversion_test.go +++ b/pkg/apis/core/v1/conversion_test.go @@ -338,13 +338,7 @@ func roundTripRS(t *testing.T, rs *apps.ReplicaSet) *apps.ReplicaSet { t.Errorf("%v\nData: %s\nSource: %#v", err, string(data), rs) return nil } - obj3 := &apps.ReplicaSet{} - err = legacyscheme.Scheme.Convert(obj2, obj3, nil) - if err != nil { - t.Errorf("%v\nSource: %#v", err, obj2) - return nil - } - return obj3 + return obj2.(*apps.ReplicaSet) } func Test_core_PodStatus_to_v1_PodStatus(t *testing.T) { diff --git a/pkg/kubelet/config/file_linux_test.go b/pkg/kubelet/config/file_linux_test.go index 5f235538262..773718b85ac 100644 --- a/pkg/kubelet/config/file_linux_test.go +++ b/pkg/kubelet/config/file_linux_test.go @@ -33,7 +33,6 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/api/testapi" api "k8s.io/kubernetes/pkg/apis/core" k8s_api_v1 "k8s.io/kubernetes/pkg/apis/core/v1" @@ -200,12 +199,7 @@ func getTestCases(hostname types.NodeName) []*testCase { } func (tc *testCase) writeToFile(dir, name string, t *testing.T) string { - var versionedPod runtime.Object - err := legacyscheme.Scheme.Convert(&tc.pod, &versionedPod, nil) - if err != nil { - t.Fatalf("%s: error in versioning the pod: %v", tc.desc, err) - } - fileContents, err := runtime.Encode(testapi.Default.Codec(), versionedPod) + fileContents, err := runtime.Encode(testapi.Default.Codec(), tc.pod) if err != nil { t.Fatalf("%s: error in encoding the pod: %v", tc.desc, err) } diff --git a/pkg/kubelet/config/http_test.go b/pkg/kubelet/config/http_test.go index 59f7ac54623..5b75b5d850d 100644 --- a/pkg/kubelet/config/http_test.go +++ b/pkg/kubelet/config/http_test.go @@ -29,7 +29,6 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" utiltesting "k8s.io/client-go/util/testing" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/api/testapi" api "k8s.io/kubernetes/pkg/apis/core" k8s_api_v1 "k8s.io/kubernetes/pkg/apis/core/v1" @@ -293,12 +292,7 @@ func TestExtractPodsFromHTTP(t *testing.T) { } for _, testCase := range testCases { - var versionedPods runtime.Object - err := legacyscheme.Scheme.Convert(&testCase.pods, &versionedPods, nil) - if err != nil { - t.Fatalf("%s: error in versioning the pods: %s", testCase.desc, err) - } - data, err := runtime.Encode(testapi.Default.Codec(), versionedPods) + data, err := runtime.Encode(testapi.Default.Codec(), testCase.pods) if err != nil { t.Fatalf("%s: error in encoding the pod: %v", testCase.desc, err) } diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/apiserver_test.go b/staging/src/k8s.io/apiserver/pkg/endpoints/apiserver_test.go index 5c5af50ac74..80c70f50b95 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/apiserver_test.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/apiserver_test.go @@ -2675,16 +2675,25 @@ func TestGetWithOptions(t *testing.T) { t.Errorf("%s: unexpected response: %#v", test.name, resp) continue } - var itemOut genericapitesting.Simple - body, err := extractBody(resp, &itemOut) + + var itemOut runtime.Object + if test.rootScoped { + itemOut = &genericapitesting.SimpleRoot{} + } else { + itemOut = &genericapitesting.Simple{} + } + body, err := extractBody(resp, itemOut) if err != nil { t.Errorf("%s: %v", test.name, err) continue } - - if itemOut.Name != simpleStorage.item.Name { - t.Errorf("%s: Unexpected data: %#v, expected %#v (%s)", test.name, itemOut, simpleStorage.item, string(body)) - continue + if metadata, err := meta.Accessor(itemOut); err == nil { + if metadata.GetName() != simpleStorage.item.Name { + t.Errorf("%s: Unexpected data: %#v, expected %#v (%s)", test.name, itemOut, simpleStorage.item, string(body)) + continue + } + } else { + t.Errorf("%s: Couldn't get name from %#v: %v", test.name, itemOut, err) } var opts *genericapitesting.SimpleGetOptions diff --git a/staging/src/k8s.io/kubectl/pkg/metricsutil/BUILD b/staging/src/k8s.io/kubectl/pkg/metricsutil/BUILD index 04ec229fa6b..d48876936f3 100644 --- a/staging/src/k8s.io/kubectl/pkg/metricsutil/BUILD +++ b/staging/src/k8s.io/kubectl/pkg/metricsutil/BUILD @@ -17,7 +17,6 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//staging/src/k8s.io/cli-runtime/pkg/printers:go_default_library", - "//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library", "//staging/src/k8s.io/metrics/pkg/apis/metrics:go_default_library", "//staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1:go_default_library", diff --git a/staging/src/k8s.io/kubectl/pkg/metricsutil/metrics_printer.go b/staging/src/k8s.io/kubectl/pkg/metricsutil/metrics_printer.go index 0e6e5d6d09d..628b19f7b64 100644 --- a/staging/src/k8s.io/kubectl/pkg/metricsutil/metrics_printer.go +++ b/staging/src/k8s.io/kubectl/pkg/metricsutil/metrics_printer.go @@ -24,7 +24,6 @@ import ( "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" "k8s.io/cli-runtime/pkg/printers" - "k8s.io/client-go/kubernetes/scheme" metricsapi "k8s.io/metrics/pkg/apis/metrics" ) @@ -86,9 +85,7 @@ func NewNodeMetricsSorter(metrics []metricsapi.NodeMetrics, sortBy string) (*Nod var usages = make([]v1.ResourceList, len(metrics)) if len(sortBy) > 0 { for i, v := range metrics { - if err := scheme.Scheme.Convert(&v.Usage, &usages[i], nil); err != nil { - return nil, err - } + v.Usage.DeepCopyInto(&usages[i]) } } @@ -166,10 +163,7 @@ func (printer *TopCmdPrinter) PrintNodeMetrics(metrics []metricsapi.NodeMetrics, } var usage v1.ResourceList for _, m := range metrics { - err := scheme.Scheme.Convert(&m.Usage, &usage, nil) - if err != nil { - return err - } + m.Usage.DeepCopyInto(&usage) printMetricsLine(w, &ResourceMetricsInfo{ Name: m.Name, Metrics: usage, @@ -260,11 +254,9 @@ func getPodMetrics(m *metricsapi.PodMetrics, printContainersOnly bool) (v1.Resou podMetrics[res], _ = resource.ParseQuantity("0") } + var usage v1.ResourceList for _, c := range m.Containers { - var usage v1.ResourceList - if err := scheme.Scheme.Convert(&c.Usage, &usage, nil); err != nil { - return nil, nil, err - } + c.Usage.DeepCopyInto(&usage) containers[c.Name] = usage if !printContainersOnly { for _, res := range MeasuredResources {