From 3b5ea194ea757fcbccf27cec493486812454f9d9 Mon Sep 17 00:00:00 2001 From: tanjunchen Date: Wed, 29 Apr 2020 21:29:38 +0800 Subject: [PATCH] test/e2e/framework : move AddOrUpdateTaintOnNode to subpackage node --- test/e2e/framework/BUILD | 1 - test/e2e/framework/node/BUILD | 1 + test/e2e/framework/node/resource.go | 11 +++++++++++ test/e2e/framework/util.go | 6 ------ test/e2e/node/runtimeclass.go | 2 +- test/e2e/node/taints.go | 14 +++++++------- test/e2e/scheduling/predicates.go | 4 ++-- test/e2e/scheduling/priorities.go | 2 +- 8 files changed, 23 insertions(+), 18 deletions(-) diff --git a/test/e2e/framework/BUILD b/test/e2e/framework/BUILD index b411cebe517..0aa10f1a70e 100644 --- a/test/e2e/framework/BUILD +++ b/test/e2e/framework/BUILD @@ -23,7 +23,6 @@ go_library( importpath = "k8s.io/kubernetes/test/e2e/framework", visibility = ["//visibility:public"], deps = [ - "//pkg/controller:go_default_library", "//pkg/kubelet/apis/config:go_default_library", "//pkg/kubelet/apis/stats/v1alpha1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", diff --git a/test/e2e/framework/node/BUILD b/test/e2e/framework/node/BUILD index 7a0db3ef1ec..205809288f3 100644 --- a/test/e2e/framework/node/BUILD +++ b/test/e2e/framework/node/BUILD @@ -10,6 +10,7 @@ go_library( importpath = "k8s.io/kubernetes/test/e2e/framework/node", visibility = ["//visibility:public"], deps = [ + "//pkg/controller:go_default_library", "//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/fields:go_default_library", diff --git a/test/e2e/framework/node/resource.go b/test/e2e/framework/node/resource.go index 3a5922bd180..b06f71379c3 100644 --- a/test/e2e/framework/node/resource.go +++ b/test/e2e/framework/node/resource.go @@ -37,6 +37,9 @@ import ( clientset "k8s.io/client-go/kubernetes" clientretry "k8s.io/client-go/util/retry" e2elog "k8s.io/kubernetes/test/e2e/framework/log" + + // TODO remove the direct dependency for internal k8s.io/kubernetes + "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/test/e2e/system" ) @@ -568,6 +571,14 @@ func RemoveTaintOffNode(c clientset.Interface, nodeName string, taint v1.Taint) verifyThatTaintIsGone(c, nodeName, &taint) } +// AddOrUpdateTaintOnNode adds the given taint to the given node or updates taint. +func AddOrUpdateTaintOnNode(c clientset.Interface, nodeName string, taint v1.Taint) { + // TODO use wrapper methods in expect.go after removing the dependency on this + // package from the core e2e framework. + err := controller.AddOrUpdateTaintOnNode(c, nodeName, &taint) + gomega.ExpectWithOffset(2, err).NotTo(gomega.HaveOccurred()) +} + // removeNodeTaint is for cleaning up taints temporarily added to node, // won't fail if target taint doesn't exist or has been removed. // If passed a node it'll check if there's anything to be done, if taint is not present it won't issue diff --git a/test/e2e/framework/util.go b/test/e2e/framework/util.go index 11ab8e3b5ee..f5b460cc4ca 100644 --- a/test/e2e/framework/util.go +++ b/test/e2e/framework/util.go @@ -59,7 +59,6 @@ import ( clientcmdapi "k8s.io/client-go/tools/clientcmd/api" watchtools "k8s.io/client-go/tools/watch" "k8s.io/component-base/featuregate" - "k8s.io/kubernetes/pkg/controller" testutils "k8s.io/kubernetes/test/utils" imageutils "k8s.io/kubernetes/test/utils/image" uexec "k8s.io/utils/exec" @@ -1020,11 +1019,6 @@ func ExpectNodeHasLabel(c clientset.Interface, nodeName string, labelKey string, ExpectEqual(node.Labels[labelKey], labelValue) } -// AddOrUpdateTaintOnNode adds the given taint to the given node or updates taint. -func AddOrUpdateTaintOnNode(c clientset.Interface, nodeName string, taint v1.Taint) { - ExpectNoError(controller.AddOrUpdateTaintOnNode(c, nodeName, &taint)) -} - // RemoveLabelOffNode is for cleaning up labels temporarily added to node, // won't fail if target label doesn't exist or has been removed. func RemoveLabelOffNode(c clientset.Interface, nodeName string, labelKey string) { diff --git a/test/e2e/node/runtimeclass.go b/test/e2e/node/runtimeclass.go index 42f3a17e3ee..b93331c4066 100644 --- a/test/e2e/node/runtimeclass.go +++ b/test/e2e/node/runtimeclass.go @@ -90,7 +90,7 @@ var _ = ginkgo.Describe("[sig-node] RuntimeClass", func() { Value: "bar", Effect: v1.TaintEffectNoSchedule, } - framework.AddOrUpdateTaintOnNode(f.ClientSet, nodeName, taint) + e2enode.AddOrUpdateTaintOnNode(f.ClientSet, nodeName, taint) framework.ExpectNodeHasTaint(f.ClientSet, nodeName, &taint) defer e2enode.RemoveTaintOffNode(f.ClientSet, nodeName, taint) diff --git a/test/e2e/node/taints.go b/test/e2e/node/taints.go index 0e9b810d974..46190bb7bdd 100644 --- a/test/e2e/node/taints.go +++ b/test/e2e/node/taints.go @@ -188,7 +188,7 @@ var _ = SIGDescribe("NoExecuteTaintManager Single Pod [Serial]", func() { ginkgo.By("Trying to apply a taint on the Node") testTaint := getTestTaint() - framework.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) + e2enode.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) framework.ExpectNodeHasTaint(cs, nodeName, &testTaint) defer e2enode.RemoveTaintOffNode(cs, nodeName, testTaint) @@ -220,7 +220,7 @@ var _ = SIGDescribe("NoExecuteTaintManager Single Pod [Serial]", func() { ginkgo.By("Trying to apply a taint on the Node") testTaint := getTestTaint() - framework.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) + e2enode.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) framework.ExpectNodeHasTaint(cs, nodeName, &testTaint) defer e2enode.RemoveTaintOffNode(cs, nodeName, testTaint) @@ -253,7 +253,7 @@ var _ = SIGDescribe("NoExecuteTaintManager Single Pod [Serial]", func() { ginkgo.By("Trying to apply a taint on the Node") testTaint := getTestTaint() - framework.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) + e2enode.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) framework.ExpectNodeHasTaint(cs, nodeName, &testTaint) defer e2enode.RemoveTaintOffNode(cs, nodeName, testTaint) @@ -300,7 +300,7 @@ var _ = SIGDescribe("NoExecuteTaintManager Single Pod [Serial]", func() { // 2. Taint the node running this pod with a no-execute taint ginkgo.By("Trying to apply a taint on the Node") testTaint := getTestTaint() - framework.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) + e2enode.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) framework.ExpectNodeHasTaint(cs, nodeName, &testTaint) taintRemoved := false defer func() { @@ -374,11 +374,11 @@ var _ = SIGDescribe("NoExecuteTaintManager Multiple Pods [Serial]", func() { ginkgo.By("Trying to apply a taint on the Nodes") testTaint := getTestTaint() - framework.AddOrUpdateTaintOnNode(cs, nodeName1, testTaint) + e2enode.AddOrUpdateTaintOnNode(cs, nodeName1, testTaint) framework.ExpectNodeHasTaint(cs, nodeName1, &testTaint) defer e2enode.RemoveTaintOffNode(cs, nodeName1, testTaint) if nodeName2 != nodeName1 { - framework.AddOrUpdateTaintOnNode(cs, nodeName2, testTaint) + e2enode.AddOrUpdateTaintOnNode(cs, nodeName2, testTaint) framework.ExpectNodeHasTaint(cs, nodeName2, &testTaint) defer e2enode.RemoveTaintOffNode(cs, nodeName2, testTaint) } @@ -447,7 +447,7 @@ var _ = SIGDescribe("NoExecuteTaintManager Multiple Pods [Serial]", func() { // 2. Taint the nodes running those pods with a no-execute taint ginkgo.By("Trying to apply a taint on the Node") testTaint := getTestTaint() - framework.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) + e2enode.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) framework.ExpectNodeHasTaint(cs, nodeName, &testTaint) defer e2enode.RemoveTaintOffNode(cs, nodeName, testTaint) diff --git a/test/e2e/scheduling/predicates.go b/test/e2e/scheduling/predicates.go index fa0371f7719..a9393427a47 100644 --- a/test/e2e/scheduling/predicates.go +++ b/test/e2e/scheduling/predicates.go @@ -585,7 +585,7 @@ var _ = SIGDescribe("SchedulerPredicates [Serial]", func() { Value: "testing-taint-value", Effect: v1.TaintEffectNoSchedule, } - framework.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) + e2enode.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) framework.ExpectNodeHasTaint(cs, nodeName, &testTaint) defer e2enode.RemoveTaintOffNode(cs, nodeName, testTaint) @@ -628,7 +628,7 @@ var _ = SIGDescribe("SchedulerPredicates [Serial]", func() { Value: "testing-taint-value", Effect: v1.TaintEffectNoSchedule, } - framework.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) + e2enode.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) framework.ExpectNodeHasTaint(cs, nodeName, &testTaint) defer e2enode.RemoveTaintOffNode(cs, nodeName, testTaint) diff --git a/test/e2e/scheduling/priorities.go b/test/e2e/scheduling/priorities.go index 30b46a87f63..873e6a4a91e 100644 --- a/test/e2e/scheduling/priorities.go +++ b/test/e2e/scheduling/priorities.go @@ -580,7 +580,7 @@ func addRandomTaintToNode(cs clientset.Interface, nodeName string) *v1.Taint { Value: fmt.Sprintf("testing-taint-value-%s", string(uuid.NewUUID())), Effect: v1.TaintEffectPreferNoSchedule, } - framework.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) + e2enode.AddOrUpdateTaintOnNode(cs, nodeName, testTaint) framework.ExpectNodeHasTaint(cs, nodeName, &testTaint) return &testTaint }