From a5b6d805ea4470b32f0b87485277559004a1f0ea Mon Sep 17 00:00:00 2001 From: Mayank Kumar Date: Thu, 26 Jul 2018 12:20:35 -0700 Subject: [PATCH] Use GetControllerOf from apimachinery and remove kubernetes copy --- .../algorithm/priorities/metadata.go | 3 +- .../priorities/node_prefer_avoid_pods.go | 3 +- pkg/scheduler/algorithm/priorities/util/BUILD | 3 - .../algorithm/priorities/util/util.go | 36 ------ .../algorithm/priorities/util/util_test.go | 121 ------------------ 5 files changed, 2 insertions(+), 164 deletions(-) delete mode 100644 pkg/scheduler/algorithm/priorities/util/util.go delete mode 100644 pkg/scheduler/algorithm/priorities/util/util_test.go diff --git a/pkg/scheduler/algorithm/priorities/metadata.go b/pkg/scheduler/algorithm/priorities/metadata.go index fe824b91c3..0771cdca83 100644 --- a/pkg/scheduler/algorithm/priorities/metadata.go +++ b/pkg/scheduler/algorithm/priorities/metadata.go @@ -21,7 +21,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/scheduler/algorithm" - priorityutil "k8s.io/kubernetes/pkg/scheduler/algorithm/priorities/util" schedulercache "k8s.io/kubernetes/pkg/scheduler/cache" ) @@ -66,7 +65,7 @@ func (pmf *PriorityMetadataFactory) PriorityMetadata(pod *v1.Pod, nodeNameToInfo podTolerations: getAllTolerationPreferNoSchedule(pod.Spec.Tolerations), affinity: pod.Spec.Affinity, podSelectors: getSelectors(pod, pmf.serviceLister, pmf.controllerLister, pmf.replicaSetLister, pmf.statefulSetLister), - controllerRef: priorityutil.GetControllerRef(pod), + controllerRef: metav1.GetControllerOf(pod), podFirstServiceSelector: getFirstServiceSelector(pod, pmf.serviceLister), totalNumNodes: len(nodeNameToInfo), } diff --git a/pkg/scheduler/algorithm/priorities/node_prefer_avoid_pods.go b/pkg/scheduler/algorithm/priorities/node_prefer_avoid_pods.go index 282044de8d..810face510 100644 --- a/pkg/scheduler/algorithm/priorities/node_prefer_avoid_pods.go +++ b/pkg/scheduler/algorithm/priorities/node_prefer_avoid_pods.go @@ -22,7 +22,6 @@ import ( "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" - priorityutil "k8s.io/kubernetes/pkg/scheduler/algorithm/priorities/util" schedulerapi "k8s.io/kubernetes/pkg/scheduler/api" schedulercache "k8s.io/kubernetes/pkg/scheduler/cache" ) @@ -39,7 +38,7 @@ func CalculateNodePreferAvoidPodsPriorityMap(pod *v1.Pod, meta interface{}, node controllerRef = priorityMeta.controllerRef } else { // We couldn't parse metadata - fallback to the podspec. - controllerRef = priorityutil.GetControllerRef(pod) + controllerRef = metav1.GetControllerOf(pod) } if controllerRef != nil { diff --git a/pkg/scheduler/algorithm/priorities/util/BUILD b/pkg/scheduler/algorithm/priorities/util/BUILD index 7adb6958ce..698ee2355e 100644 --- a/pkg/scheduler/algorithm/priorities/util/BUILD +++ b/pkg/scheduler/algorithm/priorities/util/BUILD @@ -11,7 +11,6 @@ go_test( srcs = [ "non_zero_test.go", "topologies_test.go", - "util_test.go", ], embed = [":go_default_library"], deps = [ @@ -30,12 +29,10 @@ go_library( srcs = [ "non_zero.go", "topologies.go", - "util.go", ], importpath = "k8s.io/kubernetes/pkg/scheduler/algorithm/priorities/util", deps = [ "//staging/src/k8s.io/api/core/v1:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", ], diff --git a/pkg/scheduler/algorithm/priorities/util/util.go b/pkg/scheduler/algorithm/priorities/util/util.go deleted file mode 100644 index a3150c34a1..0000000000 --- a/pkg/scheduler/algorithm/priorities/util/util.go +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package util - -import ( - "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -// GetControllerRef gets pod's owner controller reference from a pod object. -func GetControllerRef(pod *v1.Pod) *metav1.OwnerReference { - if len(pod.OwnerReferences) == 0 { - return nil - } - for i := range pod.OwnerReferences { - ref := &pod.OwnerReferences[i] - if ref.Controller != nil && *ref.Controller { - return ref - } - } - return nil -} diff --git a/pkg/scheduler/algorithm/priorities/util/util_test.go b/pkg/scheduler/algorithm/priorities/util/util_test.go deleted file mode 100644 index b4f0fc0aa5..0000000000 --- a/pkg/scheduler/algorithm/priorities/util/util_test.go +++ /dev/null @@ -1,121 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package util - -import ( - "testing" - - "github.com/stretchr/testify/assert" - - "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -func TestGetControllerRef(t *testing.T) { - fakeBlockOwnerDeletion := true - fakeFalseController := false - fakeTrueController := true - fakeEmptyOwnerReference := metav1.OwnerReference{} - - tds := []struct { - name string - pod v1.Pod - expectedNil bool - expectedOR metav1.OwnerReference - }{ - { - "ownerreference_not_exist", - v1.Pod{}, - true, - fakeEmptyOwnerReference, - }, - { - "ownerreference_controller_is_nil", - v1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - { - APIVersion: "extensions/v1beta1", - Kind: "ReplicaSet", - Name: "or-unit-test-5b9cffccff", - UID: "a46372ea-b254-11e7-8373-fa163e25bfb5", - BlockOwnerDeletion: &fakeBlockOwnerDeletion, - }, - }, - }, - }, - true, - fakeEmptyOwnerReference, - }, - { - "ownerreference_controller_is_false", - v1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - { - APIVersion: "extensions/v1beta1", - Kind: "ReplicaSet", - Name: "or-unit-test-5b9cffccff", - UID: "a46372ea-b254-11e7-8373-fa163e25bfb5", - Controller: &fakeFalseController, - BlockOwnerDeletion: &fakeBlockOwnerDeletion, - }, - }, - }, - }, - true, - fakeEmptyOwnerReference, - }, - { - "ownerreference_controller_is_true", - v1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - { - APIVersion: "extensions/v1beta1", - Kind: "ReplicaSet", - Name: "or-unit-test-5b9cffccff", - UID: "a46372ea-b254-11e7-8373-fa163e25bfb5", - BlockOwnerDeletion: &fakeBlockOwnerDeletion, - Controller: &fakeTrueController, - }, - }, - }, - }, - false, - metav1.OwnerReference{ - APIVersion: "extensions/v1beta1", - Kind: "ReplicaSet", - Name: "or-unit-test-5b9cffccff", - UID: "a46372ea-b254-11e7-8373-fa163e25bfb5", - BlockOwnerDeletion: &fakeBlockOwnerDeletion, - Controller: &fakeTrueController, - }, - }, - } - - for _, td := range tds { - t.Run(td.name, func(t *testing.T) { - realOR := GetControllerRef(&td.pod) - if td.expectedNil { - assert.Nilf(t, realOR, "Failed to test: %s", td.name) - } else { - assert.Equalf(t, &td.expectedOR, realOR, "Failed to test: %s", td.name) - } - }) - } -}