diff --git a/pkg/api/v1/conversion.go b/pkg/api/v1/conversion.go index 4a169644711..9463edc4421 100644 --- a/pkg/api/v1/conversion.go +++ b/pkg/api/v1/conversion.go @@ -42,7 +42,7 @@ func addConversionFuncs() { case "metadata.name", "metadata.namespace", "status.phase", - "spec.host": + "spec.nodeName": return label, value, nil default: return "", "", fmt.Errorf("field label not supported: %s", label) diff --git a/pkg/api/v1beta3/conversion.go b/pkg/api/v1beta3/conversion.go index 7bf02e8b44d..13ecd4411f2 100644 --- a/pkg/api/v1beta3/conversion.go +++ b/pkg/api/v1beta3/conversion.go @@ -53,9 +53,10 @@ func addConversionFuncs() { switch label { case "metadata.name", "metadata.namespace", - "status.phase", - "spec.host": + "status.phase": return label, value, nil + case "spec.host": + return "spec.nodeName", value, nil default: return "", "", fmt.Errorf("field label not supported: %s", label) } diff --git a/pkg/client/request.go b/pkg/client/request.go index b7f82263df9..ab577167f9c 100644 --- a/pkg/client/request.go +++ b/pkg/client/request.go @@ -260,8 +260,18 @@ const ( // Will be automatically emitted as the correct name for the API version. NodeUnschedulable = "spec.unschedulable" ObjectNameField = "metadata.name" - PodHost = "spec.host" + PodHost = "spec.nodeName" SecretType = "type" + + EventReason = "reason" + EventSource = "source" + EventInvolvedKind = "involvedObject.kind" + EventInvolvedNamespace = "involvedObject.namespace" + EventInvolvedName = "involvedObject.name" + EventInvolvedUID = "involvedObject.uid" + EventInvolvedAPIVersion = "involvedObject.apiVersion" + EventInvolvedResourceVersion = "involvedObject.resourceVersion" + EventInvolvedFieldPath = "involvedObject.fieldPath" ) type clientFieldNameToAPIVersionFieldName map[string]string @@ -302,44 +312,6 @@ func (v versionToResourceToFieldMapping) filterField(apiVersion, resourceType, f } var fieldMappings = versionToResourceToFieldMapping{ - "v1beta1": resourceTypeToFieldMapping{ - "nodes": clientFieldNameToAPIVersionFieldName{ - ObjectNameField: "name", - NodeUnschedulable: "unschedulable", - }, - "minions": clientFieldNameToAPIVersionFieldName{ - ObjectNameField: "name", - NodeUnschedulable: "unschedulable", - }, - "pods": clientFieldNameToAPIVersionFieldName{ - PodHost: "DesiredState.Host", - }, - "secrets": clientFieldNameToAPIVersionFieldName{ - SecretType: "type", - }, - "serviceAccounts": clientFieldNameToAPIVersionFieldName{ - ObjectNameField: "name", - }, - }, - "v1beta2": resourceTypeToFieldMapping{ - "nodes": clientFieldNameToAPIVersionFieldName{ - ObjectNameField: "name", - NodeUnschedulable: "unschedulable", - }, - "minions": clientFieldNameToAPIVersionFieldName{ - ObjectNameField: "name", - NodeUnschedulable: "unschedulable", - }, - "pods": clientFieldNameToAPIVersionFieldName{ - PodHost: "DesiredState.Host", - }, - "secrets": clientFieldNameToAPIVersionFieldName{ - SecretType: "type", - }, - "serviceAccounts": clientFieldNameToAPIVersionFieldName{ - ObjectNameField: "name", - }, - }, "v1beta3": resourceTypeToFieldMapping{ "nodes": clientFieldNameToAPIVersionFieldName{ ObjectNameField: "metadata.name", @@ -358,6 +330,51 @@ var fieldMappings = versionToResourceToFieldMapping{ "serviceAccounts": clientFieldNameToAPIVersionFieldName{ ObjectNameField: "metadata.name", }, + "endpoints": clientFieldNameToAPIVersionFieldName{ + ObjectNameField: "metadata.name", + }, + "events": clientFieldNameToAPIVersionFieldName{ + ObjectNameField: "metadata.name", + EventReason: "reason", + EventSource: "source", + EventInvolvedKind: "involvedObject.kind", + EventInvolvedNamespace: "involvedObject.namespace", + EventInvolvedName: "involvedObject.name", + EventInvolvedUID: "involvedObject.uid", + EventInvolvedAPIVersion: "involvedObject.apiVersion", + EventInvolvedResourceVersion: "involvedObject.resourceVersion", + EventInvolvedFieldPath: "involvedObject.fieldPath", + }, + }, + "v1": resourceTypeToFieldMapping{ + "nodes": clientFieldNameToAPIVersionFieldName{ + ObjectNameField: "metadata.name", + NodeUnschedulable: "spec.unschedulable", + }, + "pods": clientFieldNameToAPIVersionFieldName{ + PodHost: "spec.nodeName", + }, + "secrets": clientFieldNameToAPIVersionFieldName{ + SecretType: "type", + }, + "serviceAccounts": clientFieldNameToAPIVersionFieldName{ + ObjectNameField: "metadata.name", + }, + "endpoints": clientFieldNameToAPIVersionFieldName{ + ObjectNameField: "metadata.name", + }, + "events": clientFieldNameToAPIVersionFieldName{ + ObjectNameField: "metadata.name", + EventReason: "reason", + EventSource: "source", + EventInvolvedKind: "involvedObject.kind", + EventInvolvedNamespace: "involvedObject.namespace", + EventInvolvedName: "involvedObject.name", + EventInvolvedUID: "involvedObject.uid", + EventInvolvedAPIVersion: "involvedObject.apiVersion", + EventInvolvedResourceVersion: "involvedObject.resourceVersion", + EventInvolvedFieldPath: "involvedObject.fieldPath", + }, }, } diff --git a/pkg/registry/pod/etcd/etcd_test.go b/pkg/registry/pod/etcd/etcd_test.go index 9d1e00f9264..028188643cf 100644 --- a/pkg/registry/pod/etcd/etcd_test.go +++ b/pkg/registry/pod/etcd/etcd_test.go @@ -323,13 +323,13 @@ func TestListPodListSelection(t *testing.T) { field: "status.phase=Failed", expectedIDs: util.NewStringSet("baz"), }, { - field: "spec.host=barhost", + field: "spec.nodeName=barhost", expectedIDs: util.NewStringSet("bar"), }, { - field: "spec.host=", + field: "spec.nodeName=", expectedIDs: util.NewStringSet("foo", "baz", "qux", "zot"), }, { - field: "spec.host!=", + field: "spec.nodeName!=", expectedIDs: util.NewStringSet("bar"), }, } diff --git a/pkg/registry/pod/rest.go b/pkg/registry/pod/rest.go index 7c1ed33e3bc..46d608061d6 100644 --- a/pkg/registry/pod/rest.go +++ b/pkg/registry/pod/rest.go @@ -123,7 +123,7 @@ func MatchPod(label labels.Selector, field fields.Selector) generic.Matcher { func PodToSelectableFields(pod *api.Pod) fields.Set { return fields.Set{ "metadata.name": pod.Name, - "spec.host": pod.Spec.NodeName, + "spec.nodeName": pod.Spec.NodeName, "status.phase": string(pod.Status.Phase), } }