mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-09 12:07:47 +00:00
Merge pull request #118015 from tenzen-y/list-supprted-operators
Scheduler: Pass the supported nodeSelectorOperators to the field.NotSupported
This commit is contained in:
commit
23ea6996d2
@ -200,6 +200,15 @@ func (t *nodeSelectorTerm) match(nodeLabels labels.Set, nodeFields fields.Set) (
|
|||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var validSelectorOperators = []string{
|
||||||
|
string(v1.NodeSelectorOpIn),
|
||||||
|
string(v1.NodeSelectorOpNotIn),
|
||||||
|
string(v1.NodeSelectorOpExists),
|
||||||
|
string(v1.NodeSelectorOpDoesNotExist),
|
||||||
|
string(v1.NodeSelectorOpGt),
|
||||||
|
string(v1.NodeSelectorOpLt),
|
||||||
|
}
|
||||||
|
|
||||||
// nodeSelectorRequirementsAsSelector converts the []NodeSelectorRequirement api type into a struct that implements
|
// nodeSelectorRequirementsAsSelector converts the []NodeSelectorRequirement api type into a struct that implements
|
||||||
// labels.Selector.
|
// labels.Selector.
|
||||||
func nodeSelectorRequirementsAsSelector(nsm []v1.NodeSelectorRequirement, path *field.Path) (labels.Selector, []error) {
|
func nodeSelectorRequirementsAsSelector(nsm []v1.NodeSelectorRequirement, path *field.Path) (labels.Selector, []error) {
|
||||||
@ -225,7 +234,7 @@ func nodeSelectorRequirementsAsSelector(nsm []v1.NodeSelectorRequirement, path *
|
|||||||
case v1.NodeSelectorOpLt:
|
case v1.NodeSelectorOpLt:
|
||||||
op = selection.LessThan
|
op = selection.LessThan
|
||||||
default:
|
default:
|
||||||
errs = append(errs, field.NotSupported(p.Child("operator"), expr.Operator, nil))
|
errs = append(errs, field.NotSupported(p.Child("operator"), expr.Operator, validSelectorOperators))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
r, err := labels.NewRequirement(expr.Key, op, expr.Values, field.WithPath(p))
|
r, err := labels.NewRequirement(expr.Key, op, expr.Values, field.WithPath(p))
|
||||||
|
@ -346,6 +346,16 @@ func TestNodeSelectorRequirementsAsSelector(t *testing.T) {
|
|||||||
}},
|
}},
|
||||||
out: mustParse("bar<7"),
|
out: mustParse("bar<7"),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
in: []v1.NodeSelectorRequirement{{
|
||||||
|
Key: "baz",
|
||||||
|
Operator: "invalid",
|
||||||
|
Values: []string{"5"},
|
||||||
|
}},
|
||||||
|
wantErr: []error{
|
||||||
|
field.NotSupported(field.NewPath("root").Index(0).Child("operator"), v1.NodeSelectorOperator("invalid"), validSelectorOperators),
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, tc := range tc {
|
for i, tc := range tc {
|
||||||
|
Loading…
Reference in New Issue
Block a user