mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 10:43:56 +00:00
services fielse selector for type
Change-Id: I57e934c520713713d4b0616a52519ec51c49e0fc
This commit is contained in:
parent
7d78fb791d
commit
8f306d8046
@ -497,7 +497,8 @@ func AddFieldLabelConversionsForService(scheme *runtime.Scheme) error {
|
||||
switch label {
|
||||
case "metadata.namespace",
|
||||
"metadata.name",
|
||||
"spec.clusterIP":
|
||||
"spec.clusterIP",
|
||||
"spec.type":
|
||||
return label, value, nil
|
||||
default:
|
||||
return "", "", fmt.Errorf("field label not supported: %s", label)
|
||||
|
@ -194,6 +194,7 @@ func SelectableFields(service *api.Service) fields.Set {
|
||||
objectMetaFieldsSet := generic.ObjectMetaFieldsSet(&service.ObjectMeta, true)
|
||||
serviceSpecificFieldsSet := fields.Set{
|
||||
"spec.clusterIP": service.Spec.ClusterIP,
|
||||
"spec.type": string(service.Spec.Type),
|
||||
}
|
||||
return generic.MergeFieldsSets(objectMetaFieldsSet, serviceSpecificFieldsSet)
|
||||
}
|
||||
|
@ -844,6 +844,22 @@ func TestMatchService(t *testing.T) {
|
||||
fieldSelector: fields.ParseSelectorOrDie("metadata.namespace=nomatch"),
|
||||
expectMatch: false,
|
||||
},
|
||||
{
|
||||
name: "match on loadbalancer type service",
|
||||
in: &api.Service{
|
||||
Spec: api.ServiceSpec{Type: api.ServiceTypeLoadBalancer},
|
||||
},
|
||||
fieldSelector: fields.ParseSelectorOrDie("spec.type=LoadBalancer"),
|
||||
expectMatch: true,
|
||||
},
|
||||
{
|
||||
name: "no match on nodeport type service",
|
||||
in: &api.Service{
|
||||
Spec: api.ServiceSpec{Type: api.ServiceTypeNodePort},
|
||||
},
|
||||
fieldSelector: fields.ParseSelectorOrDie("spec.type=LoadBalancer"),
|
||||
expectMatch: false,
|
||||
},
|
||||
{
|
||||
name: "match on headless service",
|
||||
in: &api.Service{
|
||||
|
Loading…
Reference in New Issue
Block a user