Commit Graph

4788 Commits

Author SHA1 Message Date
Abu Kashem 863c48fbc2 apf: rename WorkEstimate.Seats to InitialSeats
Kubernetes-commit: 5d67896adedbce27f01b59eb5f2054919a047f2b
2021-09-24 09:41:38 -04:00
Kubernetes Publisher e75fd4b307 Merge pull request #105078 from aramase/fix-typo-kms-config
fix typo in kms encryption config logs

Kubernetes-commit: dc2fe6d56c7b4f17ee2716e7ceaaff6eff5d3e45
2021-09-27 15:53:54 +00:00
Kubernetes Publisher 03ab05cb86 Merge pull request #105160 from MikeSpreitzer/improve-sharding-and-dispatch
Improve sharding and dispatch

Kubernetes-commit: 752c4b7f0b3630fb58f8489cb30748be79cde4f2
2021-09-22 23:49:16 +00:00
Kubernetes Publisher f10cbed68c Merge pull request #104983 from MikeSpreitzer/list-metrics-take3
Try yet again to add metrics about LIST handling

Kubernetes-commit: 5b489e2846a7fb959252dc5a04fe21ec844e9fad
2021-09-22 16:02:35 +00:00
Kubernetes Publisher 49d0d59571 Merge pull request #105085 from MikeSpreitzer/fix-queueset-tests
Update TestNoRestraint and TestWindup

Kubernetes-commit: 68d646a101005e95379d84160adf01d146bdd149
2021-09-21 11:48:56 +00:00
Mike Spreitzer 72ff8a6261 Improve queueset sharding and dispatching
New anti-windup technique: use the request arrival time as the floor
on the virtual dispatch time.  Prevent bound violations where they
might arise rather than fixing up just one queue at dispatch time,
so that the fixed up dispatch times figure into the dispatching choice.

Two tweaks to the shuffle sharding.  Take seats of executing requests
into account as well as seats of waiting requests.  Do not always
consider the generated hand in the same order.

Rename the queueset methods that do shuffle sharding and finding the
queue to dispatch from, because the old names were confusingly
similar.

Tighten up some request margins.

Name the test cases in TestNoRestraint and TestWindup.

Kubernetes-commit: 4b9cba85874158b25b5c994773a4ec04343820c2
2021-09-20 15:45:24 -04:00
Mike Spreitzer 8d3036922c More test tweaks
Canonicalize listing of test cases.

Make TestNoRestraint try both cases: competition and none.

Kubernetes-commit: 0ee1a7b4ff9012b050bd447055ad5e1e8c57c30e
2021-09-20 15:45:24 -04:00
Kubernetes Publisher 72b61b4046 Merge pull request #105106 from MikeSpreitzer/apf-migrate-clock
Migrate apiserver/pkg/util/flowcontrol to use k8s.io/utils/clock

Kubernetes-commit: 6e92ee6788dc25fbeb83d33cfa54160d4c0413de
2021-09-20 11:48:50 +00:00
Mike Spreitzer e417abf592 Migrate apiserver/pkg/util/flowcontrol to use k8s.io/utils/clock
.. instead of apimachinery/pkt/util/clock

Kubernetes-commit: 9f45c0f8c07cd0adfe38c887aa618d33b8a4ee1c
2021-09-17 15:14:42 -04:00
Kubernetes Publisher a9b32ae425 Merge pull request #105026 from wojtek-t/migrate_clock_2
Unify towards k8s.io/utils/clock - part 2

Kubernetes-commit: 9918aa1e035a00bc7c0f16a05e1b222650b3eabc
2021-09-17 12:18:56 +00:00
Kubernetes Publisher 4439e08d16 Merge pull request #105069 from p0lyn0mial/upstream-etcd-client-retry
etcd client starts retrying transient errors from the etcd cluster

Kubernetes-commit: 63e7ee43bb5394abd6dd5010be47ebcb22ec0ef8
2021-09-17 12:18:54 +00:00
Kubernetes Publisher 6b55224782 Merge pull request #104949 from Karthik-K-N/json-iterator-version-update
Updated json-iterator version to 1.1.12 from 1.1.11

Kubernetes-commit: 6a49ed41eab79d745c53723ce7f134222279545e
2021-09-17 12:18:53 +00:00
Mike Spreitzer c505aa64af Update TestNoRestraint and TestWindup
Make TestNoRestraint verify that fairness is NOT achieved
when there is real competition.

Make TestWindup run two cases, to show that 0.1 is too narrow
a margin and 0.26 is wide enough.

Kubernetes-commit: c4945fdf0c14ba2032a5c8edf192678d9fe00374
2021-09-17 01:40:16 -04:00
Anish Ramasekar 1e3c9bfcdb fix typo in kms encryption config logs
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: 63295a126e316fb7b8630dbc57e98041e747cbed
2021-09-16 18:18:59 +00:00
Paco Xu d1458891b4 remove deprecated validEgressSelectorNames 'master' (#102242)
* remove deprecated validEgressSelectorNames 'master'

Signed-off-by: pacoxu <paco.xu@daocloud.io>

* update gce configure: replace deprecated egress name 'master' with 'controlplane'

Signed-off-by: pacoxu <paco.xu@daocloud.io>

* add dup error for EgressSelection & fix converting alpha/beta to v1 name

Kubernetes-commit: a48a2efbd45ad77901dd09f2665d8cc1e1d8dbf6
2021-09-16 22:09:46 +08:00
Kubernetes Publisher fcf8cc21a2 Merge pull request #105055 from MikeSpreitzer/its-flow-distinguisher
Rename httplog entry from "apf_d" to "apf_fd"

Kubernetes-commit: b0f347350b94fc58e00ce5d6af261823e7c1aa22
2021-09-17 12:18:48 +00:00
Kubernetes Publisher d250e68a8d Merge pull request #105054 from jiahuif-forks/feature/feature-gate/kep-2887
add feature gate for OpenAPIEnums.

Kubernetes-commit: 47cf49cc37ca6dccc50d75f8031c1eba981c9845
2021-09-17 12:18:47 +00:00
Mike Spreitzer fa81877012 Rename httplog entry from "apf_d" to "apf_fd"
Because it is for the "Flow Distinguisher".

Kubernetes-commit: be717abb8317ed309a9d2139856a8e87fad76a16
2021-09-15 17:10:11 -04:00
Jiahui Feng 578621b17f add feature gate OpenAPIEnums.
KEP-2887 OpenAPI Enum Types

Kubernetes-commit: 2ddcf13e916c68030ccedd9d32d155258817aa2e
2021-09-15 13:58:44 -07:00
Lukasz Szaszkiewicz 8fa48ed99b etcd-client starts retrying transient errors from the etcd cluster
This PR enables unaryClientInterceptor in conjunction with Prometheus interceptor.
Previously it was simply overwritten by the Prometheus interceptor.
As a result etcd client didn't attempt to retry certain errors.

The unaryClientInterceptor is important because it knows how to retry all sorts of errors from the etcd cluster. It will make the API server more resilient to failures -  end users won't see certain errors.
The full list of retriable (codes.Unavailable) errors can be found at https://github.com/etcd-io/etcd/blob/main/api/v3rpc/rpctypes/error.go#L72

Kubernetes-commit: 83171562b0954b2e19eb69943f01a44779cc7a8f
2021-09-15 16:40:44 +02:00
wojtekt b898581360 Migrate to k8s.io/utils/clock in apiserver
Kubernetes-commit: 859a98c0358610e2c127cd2fba1be601ca975188
2021-09-14 20:36:07 +02:00
Kubernetes Publisher 74b1d4fd0c Merge pull request #104979 from MikeSpreitzer/fix-fake-self
Track recent reorg in testing clockery

Kubernetes-commit: ef7bc9f809f130c6973217f5a1aa410fd9bd4abe
2021-09-14 15:48:05 +00:00
Kubernetes Publisher fb7ec730d3 Merge pull request #104981 from MikeSpreitzer/plumb-group-resource-to-etcd3
Plumb the schema.GroupResource into etcd3 Store struct

Kubernetes-commit: 623f9f36e00675bdf59207290f25f29cc1d24f30
2021-09-14 07:41:42 +00:00
Kubernetes Publisher 80817993b9 Merge pull request #104399 from tkashem/apf-v1beta2
apf: introduce v1beta2

Kubernetes-commit: cdcf2a239e211c66c84efaedea1a4eb5eb4c409d
2021-09-14 03:46:26 +00:00
Mike Spreitzer 31ec50ec43 Plumb the schema.GroupResource into etcd3 Store struct
Kubernetes-commit: 6f8019aae95db85552381f7e7066a52fef61be7a
2021-09-13 16:54:34 -04:00
Mike Spreitzer f17b9e7b4b Track recent reorg in testing clockery
Kubernetes-commit: 20ccd735f6a55fdd9ecbe8cddb889310f0bc033b
2021-09-13 16:15:28 -04:00
Karthik K N efb3e7cbd5 Updated vendor files and pinned versions
Kubernetes-commit: c5b4e05834d8edceac94ab1a91c3153581534393
2021-09-13 15:42:42 +05:30
Kubernetes Publisher 7a66b0c4ad Merge pull request #104881 from MikeSpreitzer/relax-queueset-tests
Widen margins of TestDifferentWidths and TestTooWide

Kubernetes-commit: 51ff4bb814a394aa5753b559e87fcdf3fc775d9f
2021-09-10 03:39:54 +00:00
Kubernetes Publisher e166d0daa0 Merge pull request #104103 from pohly/logr-1.0
klog 2.20.0, logr v1.1.0, zapr v1.1.0

Kubernetes-commit: 5b49d125b76b4d92d5f782630b75b911fee75aaa
2021-09-09 23:43:28 +00:00
Mike Spreitzer de042674ed Widen margins of TestDifferentWidths and TestTooWide
These behavioral unit tests of queueset were failing because the
evaluation criteria were too strict.

Kubernetes-commit: 59d319ec06bb33289a87036418b4a61ed3bb215f
2021-09-09 17:07:58 -04:00
Kubernetes Publisher 40e3125ca9 Merge pull request #103023 from tiloso/staticcheck-apiserver-clientgo
Fix staticcheck in k8s.io/{apiserver/pkg/storage,client-go/rest/watch}

Kubernetes-commit: 95390e6476fca15b0f55cde2c142ec18ca57aee0
2021-09-09 03:42:38 +00:00
Kubernetes Publisher a59bf4b9c7 Merge pull request #104806 from MikeSpreitzer/set-g-to-3ms
Change execution duration guess from 1 minute to 3 milliseconds

Kubernetes-commit: 559808670ad8959008293d62cec6d252d4072616
2021-09-08 19:38:27 +00:00
Kubernetes Publisher 16aebe79b8 Merge pull request #104833 from MikeSpreitzer/fix104811
Refine locking in API Priority and Fairness config controller

Kubernetes-commit: 9f6a31916a619df6486f926d61111ca858f016eb
2021-09-08 11:39:11 +00:00
Mike Spreitzer 1efcc1c03a Refine locking in API Priority and Fairness config controller
Instead of a plain `Mutex`, use an `RWMutex` so that the common
operations can proceed in parallel.

Kubernetes-commit: 58927c1abede11ce7a8a74104328cf823df1b39e
2021-09-08 00:34:52 -04:00
Kubernetes Publisher 022c32e6d4 Merge pull request #104823 from justinsb/less_cmp_3
Avoid expensive go-cmp/cmp comparison

Kubernetes-commit: ebb9fafac620dac6e632b7b2607d575cc1df926f
2021-09-08 03:38:27 +00:00
Kubernetes Publisher 3db239988e Merge pull request #104699 from vincepri/generate-name-error
Object creation with generateName should return AlreadyExists instead of a Timeout

Kubernetes-commit: 85b11ad24e996e2db4aa00a99e16f066544b22b0
2021-09-08 03:38:25 +00:00
Kubernetes Publisher 552db9ed90 Merge pull request #104790 from sttts/sttts-ssa-should-not-happen-name
server-side-apply: print object name in SHOULD NOT HAPPEN message

Kubernetes-commit: 0ec2aaee473ef6256361bfa1aa044909dd0132fe
2021-09-08 03:38:23 +00:00
Kubernetes Publisher 58d7996350 Merge pull request #104444 from cheftako/anp-v23
Enable http2 health checking with go 1.16.5 on KAS egress.

Kubernetes-commit: 34fb61beba52d9e1ab3f044a7be8b9f49d99534e
2021-09-07 19:38:44 +00:00
Justin SB d5beafeb68 Avoid expensive go-cmp/cmp comparison
The cmp comparison is relatively expensive (#104821).  If we're not
going to log it, we shouldn't make the comparison.

Kubernetes-commit: f9f556dc7061df1dfc8c1628db983eeb97149317
2021-09-07 13:36:50 -04:00
Mike Spreitzer de227d1d37 Change execution duration guess from 1 minute to 3 milliseconds
So that the width estimate has some effect but not a grossly excessive
one.

Added the fifo::Peek method to simplify the fifo client code.

Also renamed the queueSet::estimatedServiceTime field to
estimatedServiceSeconds to make the units clear.

Kubernetes-commit: a0c161f2f6908ee424ea888ff40f75ff071bd20a
2021-09-07 00:46:50 -04:00
Dr. Stefan Schimanski 5210be757e server-side-apply: print object name in SHOULD NOT HAPPEN message
Kubernetes-commit: dc6f471e2cceb7aebb62fe2e4bd7c9ce53df6ff0
2021-09-06 08:35:47 +02:00
Kubernetes Publisher 43a99f2369 Merge pull request #104697 from MikeSpreitzer/fix-104692
X race condition from TestApfExecuteWatchRequestsWithInitializationSignal

Kubernetes-commit: a1d089f3724fa2e1cd5b5e599994c3ecdc90f8bd
2021-09-03 16:13:48 +00:00
Kubernetes Publisher 8f7ef4252b Merge pull request #104599 from MikeSpreitzer/proper-limit
Adjust LIST work estimator to match current code

Kubernetes-commit: 7997805f339923451d069ba12470bbc79059cf36
2021-09-03 16:13:46 +00:00
Kubernetes Publisher 3cfbc37f50 Merge pull request #104652 from MikeSpreitzer/add-resourcde-config
Introduce storagebackend.ConfigForResource

Kubernetes-commit: 2a88664eccdf02cd01777b48171873a028117737
2021-09-02 12:14:27 +00:00
Mike Spreitzer 889106eff7 Add metrics about handling LIST requests
Add metrics that illuminate the costs of handling LIST requests.

Kubernetes-commit: bf424292db185546c474b27b963fd27bdbafc72f
2021-09-01 18:18:23 -04:00
Vince Prignano 2b1166c385 Object creation with generateName should return a proper error
Signed-off-by: Vince Prignano <vincepri@vmware.com>

Kubernetes-commit: 8a9d61278f6c2177309f58bf2655f2269e8f6afd
2021-08-31 18:04:59 -07:00
Mike Spreitzer 06debee006 Remove race condition from TestApfExecuteWatchRequestsWithInitializationSignal
Kubernetes-commit: b78baaad5ff4bcaf12e5de9e7e35f8fadba1c25b
2021-08-31 17:40:03 -04:00
Kubernetes Publisher b68468b778 Merge pull request #104688 from tkashem/revert-startup-429
apiserver: Revert startup-send-retry-after-until-ready server option

Kubernetes-commit: d093ee7359eb55198a50cab351ff64b26745e4a3
2021-08-31 20:13:35 +00:00
Abu Kashem 033ff70436 Revert "Merge pull request #104281 from tkashem/not-ready-429"
This reverts commit fc5863b8b276e0789f717859e8cce58d7d060181, reversing
changes made to 027fe2554fd18343b8be39eddc8ff6570a6c390f.

Kubernetes-commit: f9f08725907b7db2104ee5fe9f82ab0752726533
2021-08-31 10:10:46 -04:00
Abu Kashem a687b3b7a9 Revert "Merge pull request #104630 from tkashem/remove-option"
This reverts commit edb0a72cff0e43bab72a02cada8486d562ee1cd5, reversing
changes made to 80feff6f407be9f0898c449ba3f9d4d013f05ec9.

Kubernetes-commit: 8844d3092a46a40915b4df6e3b9944d5081f8268
2021-08-31 10:06:12 -04:00