mirror of https://github.com/k3s-io/k3s
Merge pull request #50582 from dixudx/support_fieldSelector_spec.schedulerName
Automatic merge from submit-queue (batch tested with PRs 50889, 51347, 50582, 51297, 51264) support fieldSelector spec.schedulerName **What this PR does / why we need it**: **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #49190 **Special notes for your reviewer**: /assign @davidopp @bsalamat /cc @lavalamp **Release note**: ```release-note add fieldSelector spec.schedulerName ```pull/6/head
commit
6650bbe0dd
|
@ -166,6 +166,7 @@ func addConversionFuncs(scheme *runtime.Scheme) error {
|
|||
"spec.nodeName",
|
||||
"spec.restartPolicy",
|
||||
"spec.serviceAccountName",
|
||||
"spec.schedulerName",
|
||||
"status.phase",
|
||||
"status.hostIP",
|
||||
"status.podIP":
|
||||
|
|
|
@ -196,9 +196,10 @@ func PodToSelectableFields(pod *api.Pod) fields.Set {
|
|||
// amount of allocations needed to create the fields.Set. If you add any
|
||||
// field here or the number of object-meta related fields changes, this should
|
||||
// be adjusted.
|
||||
podSpecificFieldsSet := make(fields.Set, 6)
|
||||
podSpecificFieldsSet := make(fields.Set, 7)
|
||||
podSpecificFieldsSet["spec.nodeName"] = pod.Spec.NodeName
|
||||
podSpecificFieldsSet["spec.restartPolicy"] = string(pod.Spec.RestartPolicy)
|
||||
podSpecificFieldsSet["spec.schedulerName"] = string(pod.Spec.SchedulerName)
|
||||
podSpecificFieldsSet["status.phase"] = string(pod.Status.Phase)
|
||||
podSpecificFieldsSet["status.podIP"] = string(pod.Status.PodIP)
|
||||
return generic.AddObjectMetaFieldsSet(podSpecificFieldsSet, &pod.ObjectMeta, true)
|
||||
|
|
|
@ -71,6 +71,20 @@ func TestMatchPod(t *testing.T) {
|
|||
fieldSelector: fields.ParseSelectorOrDie("spec.restartPolicy=Never"),
|
||||
expectMatch: false,
|
||||
},
|
||||
{
|
||||
in: &api.Pod{
|
||||
Spec: api.PodSpec{SchedulerName: "scheduler1"},
|
||||
},
|
||||
fieldSelector: fields.ParseSelectorOrDie("spec.schedulerName=scheduler1"),
|
||||
expectMatch: true,
|
||||
},
|
||||
{
|
||||
in: &api.Pod{
|
||||
Spec: api.PodSpec{SchedulerName: "scheduler1"},
|
||||
},
|
||||
fieldSelector: fields.ParseSelectorOrDie("spec.schedulerName=scheduler2"),
|
||||
expectMatch: false,
|
||||
},
|
||||
{
|
||||
in: &api.Pod{
|
||||
Status: api.PodStatus{Phase: api.PodRunning},
|
||||
|
|
Loading…
Reference in New Issue