Change:
return r } <del> /* // ParseSelectorParam parses the given string as a resource selector. // This is a convenience function so you don't have to first check that it's a // validly formatted selector. func (r *Request) ParseSelectorParam(paramName, item string) *Request { if r.err != nil { return r </del> <ins> const ( // A constant that clients can use to refer in a field selector to the object name field. // Will be automatically emitted as the correct name for the API version. ObjectNameField = "metadata.name" PodHost         = "spec.host" ) type clientFieldNameToAPIVersionFieldName map[string]string func (c clientFieldNameToAPIVersionFieldName) filterField(field, value string) (newField, newValue string, err error) { newFieldName, ok := c[field] if !ok { return "", "", fmt.Errorf("%v - %v - no field mapping defined", field, value) </ins> } <del> var selector string var err error switch paramName { case "labels": var lsel labels.Selector if lsel, err = labels.Parse(item); err == nil { selector = lsel.String() } case "fields": var fsel fields.Selector if fsel, err = fields.ParseSelector(item); err == nil { selector = fsel.String() } default: err = fmt.Errorf("unknown parameter name '%s'", paramName) </del> <ins> return newFieldName, value, nil } type resourceTypeToFieldMapping map[string]clientFieldNameToAPIVersionFieldName func (r resourceTypeToFieldMapping) filterField(resourceType, field, value string) (newField, newValue string, err error) { fMapping, ok := r[resourceType] if !ok { return "", "", fmt.Errorf("%v - %v - %v - no field mapping defined", resourceType, field, value) </ins> } <del> if err != nil { r.err = err return r </del> <ins> return fMapping.filterField(field, value) } type versionToResourceToFieldMapping map[string]resourceTypeToFieldMapping func (v versionToResourceToFieldMapping) filterField(apiVersion, resourceType, field, value string) (newField, newValue string, err error) { rMapping, ok := v[apiVersion] if !ok { glog.Warningf("field selector: %v - %v - %v - %v: need to check if this is versioned correctly.", apiVersion, resourceType, field, value) return field, value, nil </ins> } <del> return r.setParam(paramName, selector) }*/ </del> <ins> newField, newValue, err = rMapping.filterField(resourceType, field, value) if err != nil { // This is only a warning until we find and fix all of the client's usages. glog.Warningf("field selector: %v - %v - %v - %v: need to check if this is versioned correctly.", apiVersion, resourceType, field, value) return field, value, nil } return newField, newValue, nil } var fieldMappings = versionToResourceToFieldMapping{ "v1beta1": resourceTypeToFieldMapping{ "nodes": clientFieldNameToAPIVersionFieldName{ ObjectNameField: "name", }, "minions": clientFieldNameToAPIVersionFieldName{ ObjectNameField: "name", }, "pods": clientFieldNameToAPIVersionFieldName{ PodHost: "DesiredState.Host", }, }, "v1beta2": resourceTypeToFieldMapping{ "nodes": clientFieldNameToAPIVersionFieldName{ ObjectNameField: "name", }, "minions": clientFieldNameToAPIVersionFieldName{ ObjectNameField: "name", }, "pods": clientFieldNameToAPIVersionFieldName{ PodHost: "DesiredState.Host", }, }, "v1beta3": resourceTypeToFieldMapping{ "nodes": clientFieldNameToAPIVersionFieldName{ ObjectNameField: "metadata.name", }, "minions": clientFieldNameToAPIVersionFieldName{ ObjectNameField: "metadata.name", }, "pods": clientFieldNameToAPIVersionFieldName{ PodHost: "spec.host", }, }, } </ins> // FieldsSelectorParam adds the given selector as a query parameter with the name paramName. func (r *Request) FieldsSelectorParam(s fields.Selector) *Request {

Discussion:
My broke it for v1beta3, then fixed it for v1beta3 and broke it for v1beta1. I'm working on a fix.
Honestly I'm very surprised that more people aren't complaining-- integration test logs are full of noise because of this.
Exact text of error log is "Failed to watch *api.Node: field label not supported: "
cc