mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +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:
		@@ -200,6 +200,15 @@ func (t *nodeSelectorTerm) match(nodeLabels labels.Set, nodeFields fields.Set) (
 | 
			
		||||
	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
 | 
			
		||||
// labels.Selector.
 | 
			
		||||
func nodeSelectorRequirementsAsSelector(nsm []v1.NodeSelectorRequirement, path *field.Path) (labels.Selector, []error) {
 | 
			
		||||
@@ -225,7 +234,7 @@ func nodeSelectorRequirementsAsSelector(nsm []v1.NodeSelectorRequirement, path *
 | 
			
		||||
		case v1.NodeSelectorOpLt:
 | 
			
		||||
			op = selection.LessThan
 | 
			
		||||
		default:
 | 
			
		||||
			errs = append(errs, field.NotSupported(p.Child("operator"), expr.Operator, nil))
 | 
			
		||||
			errs = append(errs, field.NotSupported(p.Child("operator"), expr.Operator, validSelectorOperators))
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		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"),
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			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 {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user