From c16f6611bb0c4a751ba00b0af21efb8c436a69f0 Mon Sep 17 00:00:00 2001 From: "Da K. Ma" Date: Sun, 11 Mar 2018 21:26:57 +0800 Subject: [PATCH] Disabled CheckNodeMemoryPressure and CheckNodeDiskPressure predicates if TaintNodesByCondition enabled. Signed-off-by: Da K. Ma --- .../nodelifecycle/node_lifecycle_controller.go | 12 ++++++------ pkg/scheduler/algorithmprovider/defaults/defaults.go | 9 +++++++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/pkg/controller/nodelifecycle/node_lifecycle_controller.go b/pkg/controller/nodelifecycle/node_lifecycle_controller.go index a48a8965e3d..f985187d545 100644 --- a/pkg/controller/nodelifecycle/node_lifecycle_controller.go +++ b/pkg/controller/nodelifecycle/node_lifecycle_controller.go @@ -22,6 +22,12 @@ limitations under the License. package nodelifecycle import ( + "fmt" + "sync" + "time" + + "github.com/golang/glog" + "k8s.io/api/core/v1" apiequality "k8s.io/apimachinery/pkg/api/equality" apierrors "k8s.io/apimachinery/pkg/api/errors" @@ -50,12 +56,6 @@ import ( "k8s.io/kubernetes/pkg/util/system" taintutils "k8s.io/kubernetes/pkg/util/taints" utilversion "k8s.io/kubernetes/pkg/util/version" - - "fmt" - "sync" - "time" - - "github.com/golang/glog" ) func init() { diff --git a/pkg/scheduler/algorithmprovider/defaults/defaults.go b/pkg/scheduler/algorithmprovider/defaults/defaults.go index 35e044254be..ff224e3f3b8 100644 --- a/pkg/scheduler/algorithmprovider/defaults/defaults.go +++ b/pkg/scheduler/algorithmprovider/defaults/defaults.go @@ -179,12 +179,17 @@ func defaultPredicates() sets.String { // ApplyFeatureGates applies algorithm by feature gates. func ApplyFeatureGates() { if utilfeature.DefaultFeatureGate.Enabled(features.TaintNodesByCondition) { - // Remove "CheckNodeCondition" predicate + // Remove "CheckNodeCondition", "CheckNodeMemoryPressure" and "CheckNodeDiskPressure" predicates factory.RemoveFitPredicate(predicates.CheckNodeConditionPred) - // Remove Key "CheckNodeCondition" From All Algorithm Provider + factory.RemoveFitPredicate(predicates.CheckNodeMemoryPressurePred) + factory.RemoveFitPredicate(predicates.CheckNodeDiskPressurePred) + // Remove key "CheckNodeCondition", "CheckNodeMemoryPressure" and "CheckNodeDiskPressure" + // from ALL algorithm provider // The key will be removed from all providers which in algorithmProviderMap[] // if you just want remove specific provider, call func RemovePredicateKeyFromAlgoProvider() factory.RemovePredicateKeyFromAlgorithmProviderMap(predicates.CheckNodeConditionPred) + factory.RemovePredicateKeyFromAlgorithmProviderMap(predicates.CheckNodeMemoryPressurePred) + factory.RemovePredicateKeyFromAlgorithmProviderMap(predicates.CheckNodeDiskPressurePred) // Fit is determined based on whether a pod can tolerate all of the node's taints factory.RegisterMandatoryFitPredicate(predicates.PodToleratesNodeTaintsPred, predicates.PodToleratesNodeTaints)