Change:
See Jenkins job kubernetes-upgrade-1.0-1.1-gke-step3-e2e-old's last few runs. The relevant line is . Note that this is running e2e tests off of the branch. It's possible that this is also caused by , but it's not clear to me.
This is also failing on kubernetes-upgrade-1.0-1.1-gke-step5-e2e-old, where we're running tests against a cluster that's been fully upgraded, (master and nodes,) from 1.0 to 1.1.
Status update: this may be caused by , so that issue should be prioritized, but it's not totally clear if that will fix this problem.
said he would take a look and update the issue with any findings. It may be a bit premature to look into it before is resolved, but at least we can try to figure out how to manually repro this now, so that we will know whether fixes this issue.
I'm unable to find logs from failed runs, which makes everything slightly harder. I'll try to reproduce the problem on GCE cluster, but it may not work. FYI: most of was caused by waiting for skydns to come back up (which doesn't happen: ). I see that there's a difference in number of system pods between version 1.1 and 1.0 - there's only 5 of them in 1.1 and 8 of them in 1.0. I'm wondering if this may cause problems in 'old' version of test which we're running there. I'm going to try reproduce it on GCE (as this is the setup I understand better) and if I'll fail I'll try again on GKE.
AFAICT there's a problem with the test, not the upgrade itself. The test from 1.1 branch fails on 1.0 cluster.
It's caused by . Can we please stop renaming things? AFAICT the problem is with test only, everything should be working 'on production'. In v1.0 scheduler Events reasons start with a small letter (e.g. failedScheduling) and v1.0 test is looking for those kind of events to occur. In v1.1 we changed Event reasons to start with a capital letter (e.g. FailedScheduling) and modified test accordingly. Effects are obvious. We can: revert patch it to v1.0 merge and patch a test fix which adds handling both versions () I'm for the last option, but whatever we do (except reverting) will break backward compatibility for everyone depending/counting/filtering/whatnot on scheduler Event reasons
thanks for your work on this. From on : Furthermore, in my (rookie) opinion, seems like it should be considered a bug fix rather than an API change. Thus I think makes good sense.
Thanks a lot for debugging this, and I agree we should go with your PR. I talked to Brian and he said we don't consider changes to values of fields in events to be breaking API changes. Unfortunately people do seem to depend on these in various places. One solution is what I proposed in so the compiler could prevent these incompatibilities (at least for components and tests that are compiled together).
+1 to creating a file containing constants for the event reasons that are currently in use.
I'll prepare a cherry pick.
Reopening until cherry pick is merged.
Cherry pick is .
The test mentioned in the first entry in this thread is still failing but not due to the error message related to this issue. Since the cherrypick has been merged, can we close this issue, and followup with additional debugging in ?
Works for me. Thanks to again for your work on this.
I actually still see failures of the same kind in (master 1.1, nodes 1.0) and (master 1.1, nodes 1.1). I assume this is because we haven't cherrypicked test fix into . So this is now a duplicate of .

Discussion:
"reason":                   "FailedScheduling", }.AsSelector()) expectNoError(err) <ins> // If we failed to find event with a capitalized first letter of reason // try looking for one starting with a small one for backward compatibility. // If we don't do it we end up in #15806. // TODO: remove this block when we don't care about supporting v1.0 too much. if len(schedEvents.Items) == 0 { schedEvents, err = c.Events(ns).List( labels.Everything(), fields.Set{ "involvedObject.kind":      "Pod", "involvedObject.name":      podName, "involvedObject.namespace": ns, "source":                   "scheduler", "reason":                   "failedScheduling", }.AsSelector()) expectNoError(err) } </ins> printed := false printOnce := func(msg string) string {