services fielse selector for type
Change-Id: I57e934c520713713d4b0616a52519ec51c49e0fc
This commit is contained in:
		| @@ -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{ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Antonio Ojea
					Antonio Ojea