fix: remove ErrTopologySpreadConstraintsNotMatch
This commit is contained in:
		| @@ -19,7 +19,7 @@ package predicates | |||||||
| import ( | import ( | ||||||
| 	"fmt" | 	"fmt" | ||||||
|  |  | ||||||
| 	"k8s.io/api/core/v1" | 	v1 "k8s.io/api/core/v1" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @@ -55,8 +55,6 @@ var ( | |||||||
| 	ErrNodeUnschedulable = NewPredicateFailureError("NodeUnschedulable", "node(s) were unschedulable") | 	ErrNodeUnschedulable = NewPredicateFailureError("NodeUnschedulable", "node(s) were unschedulable") | ||||||
| 	// ErrNodeUnknownCondition is used for NodeUnknownCondition predicate error. | 	// ErrNodeUnknownCondition is used for NodeUnknownCondition predicate error. | ||||||
| 	ErrNodeUnknownCondition = NewPredicateFailureError("NodeUnknownCondition", "node(s) had unknown conditions") | 	ErrNodeUnknownCondition = NewPredicateFailureError("NodeUnknownCondition", "node(s) had unknown conditions") | ||||||
| 	// ErrTopologySpreadConstraintsNotMatch is used for EvenPodsSpread predicate error. |  | ||||||
| 	ErrTopologySpreadConstraintsNotMatch = NewPredicateFailureError("EvenPodsSpreadNotMatch", "node(s) didn't match pod topology spread constraints") |  | ||||||
| 	// ErrFakePredicate is used for test only. The fake predicates returning false also returns error | 	// ErrFakePredicate is used for test only. The fake predicates returning false also returns error | ||||||
| 	// as ErrFakePredicate. | 	// as ErrFakePredicate. | ||||||
| 	ErrFakePredicate = NewPredicateFailureError("FakePredicateError", "Nodes failed the fake predicate") | 	ErrFakePredicate = NewPredicateFailureError("FakePredicateError", "Nodes failed the fake predicate") | ||||||
|   | |||||||
| @@ -1947,9 +1947,9 @@ func TestNodesWherePreemptionMightHelp(t *testing.T) { | |||||||
| 		{ | 		{ | ||||||
| 			name: "ErrTopologySpreadConstraintsNotMatch should be tried as it indicates that the pod is unschedulable due to topology spread constraints", | 			name: "ErrTopologySpreadConstraintsNotMatch should be tried as it indicates that the pod is unschedulable due to topology spread constraints", | ||||||
| 			nodesStatuses: framework.NodeToStatusMap{ | 			nodesStatuses: framework.NodeToStatusMap{ | ||||||
| 				"machine1": framework.NewStatus(framework.Unschedulable, algorithmpredicates.ErrTopologySpreadConstraintsNotMatch.GetReason()), | 				"machine1": framework.NewStatus(framework.Unschedulable, podtopologyspread.ErrReasonConstraintsNotMatch), | ||||||
| 				"machine2": framework.NewStatus(framework.UnschedulableAndUnresolvable, algorithmpredicates.ErrPodNotMatchHostName.GetReason()), | 				"machine2": framework.NewStatus(framework.UnschedulableAndUnresolvable, algorithmpredicates.ErrPodNotMatchHostName.GetReason()), | ||||||
| 				"machine3": framework.NewStatus(framework.Unschedulable, algorithmpredicates.ErrTopologySpreadConstraintsNotMatch.GetReason()), | 				"machine3": framework.NewStatus(framework.Unschedulable, podtopologyspread.ErrReasonConstraintsNotMatch), | ||||||
| 			}, | 			}, | ||||||
| 			expected: map[string]bool{"machine1": true, "machine3": true, "machine4": true}, | 			expected: map[string]bool{"machine1": true, "machine3": true, "machine4": true}, | ||||||
| 		}, | 		}, | ||||||
| @@ -2116,9 +2116,9 @@ func TestPreempt(t *testing.T) { | |||||||
| 				}, | 				}, | ||||||
| 			}, | 			}, | ||||||
| 			failedNodeToStatusMap: framework.NodeToStatusMap{ | 			failedNodeToStatusMap: framework.NodeToStatusMap{ | ||||||
| 				"node-a": framework.NewStatus(framework.Unschedulable, algorithmpredicates.ErrTopologySpreadConstraintsNotMatch.GetReason()), | 				"node-a": framework.NewStatus(framework.Unschedulable, podtopologyspread.ErrReasonConstraintsNotMatch), | ||||||
| 				"node-b": framework.NewStatus(framework.Unschedulable, algorithmpredicates.ErrTopologySpreadConstraintsNotMatch.GetReason()), | 				"node-b": framework.NewStatus(framework.Unschedulable, podtopologyspread.ErrReasonConstraintsNotMatch), | ||||||
| 				"node-x": framework.NewStatus(framework.Unschedulable, algorithmpredicates.ErrTopologySpreadConstraintsNotMatch.GetReason()), | 				"node-x": framework.NewStatus(framework.Unschedulable, podtopologyspread.ErrReasonConstraintsNotMatch), | ||||||
| 			}, | 			}, | ||||||
| 			nodeNames: []string{"node-a/zone1", "node-b/zone1", "node-x/zone2"}, | 			nodeNames: []string{"node-a/zone1", "node-b/zone1", "node-x/zone2"}, | ||||||
| 			registerPlugin: st.RegisterPluginAsExtensions( | 			registerPlugin: st.RegisterPluginAsExtensions( | ||||||
|   | |||||||
| @@ -11,9 +11,7 @@ go_library( | |||||||
|     importpath = "k8s.io/kubernetes/pkg/scheduler/framework/plugins/podtopologyspread", |     importpath = "k8s.io/kubernetes/pkg/scheduler/framework/plugins/podtopologyspread", | ||||||
|     visibility = ["//visibility:public"], |     visibility = ["//visibility:public"], | ||||||
|     deps = [ |     deps = [ | ||||||
|         "//pkg/scheduler/algorithm/predicates:go_default_library", |  | ||||||
|         "//pkg/scheduler/framework/plugins/helper:go_default_library", |         "//pkg/scheduler/framework/plugins/helper:go_default_library", | ||||||
|         "//pkg/scheduler/framework/plugins/migration:go_default_library", |  | ||||||
|         "//pkg/scheduler/framework/v1alpha1:go_default_library", |         "//pkg/scheduler/framework/v1alpha1:go_default_library", | ||||||
|         "//pkg/scheduler/listers:go_default_library", |         "//pkg/scheduler/listers:go_default_library", | ||||||
|         "//pkg/scheduler/nodeinfo:go_default_library", |         "//pkg/scheduler/nodeinfo:go_default_library", | ||||||
|   | |||||||
| @@ -26,9 +26,7 @@ import ( | |||||||
| 	"k8s.io/apimachinery/pkg/labels" | 	"k8s.io/apimachinery/pkg/labels" | ||||||
| 	"k8s.io/client-go/util/workqueue" | 	"k8s.io/client-go/util/workqueue" | ||||||
| 	"k8s.io/klog" | 	"k8s.io/klog" | ||||||
| 	"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates" |  | ||||||
| 	pluginhelper "k8s.io/kubernetes/pkg/scheduler/framework/plugins/helper" | 	pluginhelper "k8s.io/kubernetes/pkg/scheduler/framework/plugins/helper" | ||||||
| 	"k8s.io/kubernetes/pkg/scheduler/framework/plugins/migration" |  | ||||||
| 	framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1" | 	framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1" | ||||||
| 	"k8s.io/kubernetes/pkg/scheduler/nodeinfo" | 	"k8s.io/kubernetes/pkg/scheduler/nodeinfo" | ||||||
| 	schedulernodeinfo "k8s.io/kubernetes/pkg/scheduler/nodeinfo" | 	schedulernodeinfo "k8s.io/kubernetes/pkg/scheduler/nodeinfo" | ||||||
| @@ -310,7 +308,7 @@ func (pl *PodTopologySpread) Filter(ctx context.Context, cycleState *framework.C | |||||||
| 		tpVal, ok := node.Labels[c.topologyKey] | 		tpVal, ok := node.Labels[c.topologyKey] | ||||||
| 		if !ok { | 		if !ok { | ||||||
| 			klog.V(5).Infof("node '%s' doesn't have required label '%s'", node.Name, tpKey) | 			klog.V(5).Infof("node '%s' doesn't have required label '%s'", node.Name, tpKey) | ||||||
| 			return migration.PredicateResultToFrameworkStatus([]predicates.PredicateFailureReason{predicates.ErrTopologySpreadConstraintsNotMatch}, nil) | 			return framework.NewStatus(framework.Unschedulable, ErrReasonConstraintsNotMatch) | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		selfMatchNum := int32(0) | 		selfMatchNum := int32(0) | ||||||
| @@ -332,7 +330,7 @@ func (pl *PodTopologySpread) Filter(ctx context.Context, cycleState *framework.C | |||||||
| 		skew := matchNum + selfMatchNum - minMatchNum | 		skew := matchNum + selfMatchNum - minMatchNum | ||||||
| 		if skew > c.maxSkew { | 		if skew > c.maxSkew { | ||||||
| 			klog.V(5).Infof("node '%s' failed spreadConstraint[%s]: matchNum(%d) + selfMatchNum(%d) - minMatchNum(%d) > maxSkew(%d)", node.Name, tpKey, matchNum, selfMatchNum, minMatchNum, c.maxSkew) | 			klog.V(5).Infof("node '%s' failed spreadConstraint[%s]: matchNum(%d) + selfMatchNum(%d) - minMatchNum(%d) > maxSkew(%d)", node.Name, tpKey, matchNum, selfMatchNum, minMatchNum, c.maxSkew) | ||||||
| 			return migration.PredicateResultToFrameworkStatus([]predicates.PredicateFailureReason{predicates.ErrTopologySpreadConstraintsNotMatch}, nil) | 			return framework.NewStatus(framework.Unschedulable, ErrReasonConstraintsNotMatch) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -24,6 +24,11 @@ import ( | |||||||
| 	schedulerlisters "k8s.io/kubernetes/pkg/scheduler/listers" | 	schedulerlisters "k8s.io/kubernetes/pkg/scheduler/listers" | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | const ( | ||||||
|  | 	// ErrReasonConstraintsNotMatch is used for PodTopologySpread filter error. | ||||||
|  | 	ErrReasonConstraintsNotMatch = "node(s) didn't match pod topology spread constraints" | ||||||
|  | ) | ||||||
|  |  | ||||||
| // PodTopologySpread is a plugin that ensures pod's topologySpreadConstraints is satisfied. | // PodTopologySpread is a plugin that ensures pod's topologySpreadConstraints is satisfied. | ||||||
| type PodTopologySpread struct { | type PodTopologySpread struct { | ||||||
| 	sharedLister schedulerlisters.SharedLister | 	sharedLister schedulerlisters.SharedLister | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 draveness
					draveness