mirror of
https://github.com/kubernetes-sigs/descheduler.git
synced 2026-01-28 14:41:10 +01:00
RemovePodsViolatingNodeAffinity defaulting + moving arguments to its corresponding plugin
This commit is contained in:
@@ -40,20 +40,6 @@ func ValidateRemovePodsViolatingNodeTaintsArgs(args *componentconfig.RemovePodsV
|
||||
)
|
||||
}
|
||||
|
||||
// ValidateRemovePodsViolatingNodeAffinityArgs validates RemovePodsViolatingNodeAffinity arguments
|
||||
func ValidateRemovePodsViolatingNodeAffinityArgs(args *componentconfig.RemovePodsViolatingNodeAffinityArgs) error {
|
||||
var err error
|
||||
if args == nil || len(args.NodeAffinityType) == 0 {
|
||||
err = fmt.Errorf("nodeAffinityType needs to be set")
|
||||
}
|
||||
|
||||
return errorsAggregate(
|
||||
err,
|
||||
validateNamespaceArgs(args.Namespaces),
|
||||
validateLabelSelectorArgs(args.LabelSelector),
|
||||
)
|
||||
}
|
||||
|
||||
// ValidateRemovePodsViolatingTopologySpreadConstraintArgs validates RemovePodsViolatingTopologySpreadConstraint arguments
|
||||
func ValidateRemovePodsViolatingTopologySpreadConstraintArgs(args *componentconfig.RemovePodsViolatingTopologySpreadConstraintArgs) error {
|
||||
return errorsAggregate(
|
||||
|
||||
@@ -84,44 +84,3 @@ func TestValidateRemovePodsViolatingNodeTaintsArgs(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateRemovePodsViolatingNodeAffinityArgs(t *testing.T) {
|
||||
testCases := []struct {
|
||||
description string
|
||||
args *componentconfig.RemovePodsViolatingNodeAffinityArgs
|
||||
expectError bool
|
||||
}{
|
||||
{
|
||||
description: "nil NodeAffinityType args, expects errors",
|
||||
args: &componentconfig.RemovePodsViolatingNodeAffinityArgs{
|
||||
NodeAffinityType: nil,
|
||||
},
|
||||
expectError: true,
|
||||
},
|
||||
{
|
||||
description: "empty NodeAffinityType args, expects errors",
|
||||
args: &componentconfig.RemovePodsViolatingNodeAffinityArgs{
|
||||
NodeAffinityType: []string{},
|
||||
},
|
||||
expectError: true,
|
||||
},
|
||||
{
|
||||
description: "valid NodeAffinityType args, no errors",
|
||||
args: &componentconfig.RemovePodsViolatingNodeAffinityArgs{
|
||||
NodeAffinityType: []string{"requiredDuringSchedulingIgnoredDuringExecution"},
|
||||
},
|
||||
expectError: false,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.description, func(t *testing.T) {
|
||||
err := ValidateRemovePodsViolatingNodeAffinityArgs(tc.args)
|
||||
|
||||
hasError := err != nil
|
||||
if tc.expectError != hasError {
|
||||
t.Error("unexpected arg validation behavior")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user