kubernetes/pkg
Kubernetes Submit Queue 2faf7ff2bc Merge pull request #36238 from resouer/eclass-2-dev
Automatic merge from submit-queue (batch tested with PRs 48043, 48200, 49139, 36238, 49130)

Implement equivalence cache by caching and re-using predicate result

The last part of #30844, I opened a new PR instead of overwrite the old one because we changed some basic assumption by allowing invalidating equivalence cache item by individual predicate.

The idea of this PR is based on discussion in https://github.com/kubernetes/kubernetes/issues/32024

- [x]  Pods belong to same controllerRef considered to be equivalent
- [x] ` podFitsOnNode` will use cached predicate result if it's available
- [x] Equivalence cache will be updated when if a fresh new predicate is done
- [x] `factory.go` will invalid specific predicate cache(s) based on the object change
- [x] Since `schedule` and `bind` are async, we need to optimistically invalid affected cache(s) before `bind`
- [x] Fully unit test of affected files
- [x] e2e test to verify cache update/invalid workflow
- [x] performance test results

- [x] Some nits fixes related but expected to result in `needs-rebase` so they are split to: #36060 #35968 #37512

cc @wojtek-t @davidopp
2017-07-19 01:57:32 -07:00
..
api Merge pull request #48256 from xiangpengzhao/move-pkg-util 2017-07-18 18:19:19 -07:00
apimachinery/tests Move pkg/apimachinery/test to apimachinery 2017-07-08 08:48:38 +08:00
apis Merge pull request #48232 from caesarxuchao/move-admission-v1alph1 2017-07-18 20:06:21 -07:00
auth Only do string trim when it's necessary 2017-06-15 17:32:31 +08:00
bootstrap/api run hack/update-all 2017-06-22 11:31:03 -07:00
capabilities Fix comment for method SetForTests 2017-02-14 17:16:49 +08:00
client Merge pull request #45440 from verb/nit-too-much-m 2017-07-17 16:26:53 -07:00
cloudprovider Merge pull request #48702 from FengyunPan/cloudprovider-rackspace 2017-07-18 20:06:14 -07:00
controller Merge pull request #49109 from MaciekPytel/update_hpa_owners 2017-07-18 18:19:53 -07:00
conversion Revert "Remove conversion package" 2017-01-22 15:41:06 -08:00
credentialprovider Merge pull request #48308 from yguo0905/docker-api 2017-07-14 15:30:59 -07:00
features Update factory.go informers to update equivalence cache 2017-07-18 23:55:01 +08:00
fieldpath Add Pod UID (metadata.uid) to downward API env var 2017-06-27 16:54:35 +08:00
fields move pkg/fields to apimachinery 2017-01-19 09:50:16 -05:00
generated generated 2017-07-18 15:20:05 -07:00
hyperkube Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
kubeapiserver Merge pull request #48576 from caesarxuchao/fix-ExternalAdmissionHookConfigurationManager 2017-07-18 00:35:43 -07:00
kubectl Merge pull request #48950 from alexandercampbell/kubectl-deduplicate-deployment-generators 2017-07-19 00:06:29 -07:00
kubelet Merge pull request #48974 from supereagle/cleanup-objectreference-conversion 2017-07-18 20:06:19 -07:00
kubemark Refactor: pkg/util into sub-pkgs 2017-07-18 14:34:08 +08:00
labels add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
master Refactor: pkg/util into sub-pkgs 2017-07-18 14:34:08 +08:00
printers Merge pull request #48256 from xiangpengzhao/move-pkg-util 2017-07-18 18:19:19 -07:00
probe Set default User-Agent on http probe 2017-06-21 10:50:33 -04:00
proxy remove some people from OWNERS so they don't get reviews anymore 2017-07-13 10:02:21 -07:00
quota Scripted migration from clientset_generated to client-go. 2017-07-17 15:05:37 -07:00
registry Merge pull request #49128 from deads2k/server-29-mising-shortname 2017-07-18 21:54:20 -07:00
routes Merge pull request #45490 from deads2k/owners-01-extensions 2017-05-10 12:51:51 -07:00
runtime add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
security Refactor: pkg/util into sub-pkgs 2017-07-18 14:34:08 +08:00
securitycontext run hack/update-all 2017-06-22 11:31:03 -07:00
serviceaccount Scripted migration from clientset_generated to client-go. 2017-07-17 15:05:37 -07:00
ssh autogenerated 2017-04-14 10:40:57 -07:00
types add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
util Refactor: pkg/util into sub-pkgs 2017-07-18 14:34:08 +08:00
version Convert go_binary linkstamp to x_defs 2017-06-08 14:59:55 -07:00
volume Merge pull request #48256 from xiangpengzhao/move-pkg-util 2017-07-18 18:19:19 -07:00
watch autogenerated 2017-04-14 10:40:57 -07:00
BUILD Merge pull request #48598 from gmarek/metrics 2017-07-12 03:02:19 -07:00
OWNERS Updated top level owners file to match new format 2017-01-19 11:29:16 -08:00