I'm seeing logs like on 1.5 cluster:
E0111 09:00:06.466257 5 errors.go:63] apiserver received an error that is not an unversioned.Status: unable to parse requirement: invalid label key "<label key>": name part must be no more than 63 characters; name part must match the regex ([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9] (e.g. 'MyName' or 'my.name' or '123-abc')
I0111 09:00:06.466418 5 handlers.go:162] GET /api/v1/namespaces/jenkins/pods?labelSelector=<label>: (613.07�s) 500
We probably should return 400 (or maybe 412?), eventually 418. But certainly not 500.
cc @deads2k @lavalamp @wojtek-t @smarterclayton @kubernetes/sig-api-machinery-misc
@gmarek I tried digging this up a little bit and figured out that this is not an issue with the apiserver on the master, but instead with the heapster-apiserver (the one which negotiates request/response serialization with the heapster client on one side and is bound to the master metrics API on the other). The following seems to be the issue:
status := http.StatusInternalServerError
cc @piosz @kubernetes/sig-instrumentation-misc
hm, there should already be an equivalent of that errToAPIStatus function in the generic apiserver library somewhere.
@lavalamp - who should work on this?