Commit Graph

708 Commits

Author SHA1 Message Date
Tim Allclair 1e36b0a9fb Don't add audit annotations directly to the audit event
Kubernetes-commit: bdebc62d49293a0fbbd7e0d95bfd94b1ce21015c
2022-03-28 11:38:38 -07:00
Wojciech Tyczyński 23c7d60c29 Deprecate apiserver_dropped_requests_total metric
Kubernetes-commit: b106b2621c454b8f38b9dc28935994c33426ee75
2022-03-25 14:58:41 +01:00
Tim Bannister 8b7169efd9 Update generated docs
Kubernetes-commit: de55f39f655816ecee9ab0b2c3842930cfe332a6
2022-03-01 23:42:36 +00:00
Abu Kashem 8b827c16cb track latency for http.ResponseWriter.Write
Kubernetes-commit: 1d1a44cf129e1904217a1ed5a09f92c0a28ce11f
2022-02-04 11:36:23 -05:00
Abu Kashem 1b651c5994 add latency tracker for storage and transform
Kubernetes-commit: eca90856940e9251ecf3fde95c5e4d2d16f5ad68
2022-02-01 18:13:03 -05:00
Wojciech Tyczyński abc4243fac Record dropped requests in apiserver_request_total metric
Kubernetes-commit: 14396349954be57abea7162d7fe091e58a80ec4b
2022-03-23 16:16:36 +01:00
Daniel Smith cbbb5800c3 find and replace
Kubernetes-commit: e405ae9ec8592bf028e351bab44de420908bac0d
2022-03-17 18:50:38 +00:00
Wojciech Tyczyński 35d7dfb633 Prepare apiserver for operating on cached objects by not modifying them
Kubernetes-commit: 7e434682e450e28d36f0ee4787e7b4672e8eb255
2022-02-21 15:05:35 +01:00
Jordan Liggitt f7f2a709d5 Update storage/handler unit tests to set / expect namespace in object
Kubernetes-commit: e731ccd65074312f3f11b42f9a7bc0636cda1a31
2022-02-17 00:13:25 -05:00
Jordan Liggitt bacaca81ed set/validate object namespace before admission
Kubernetes-commit: 92422a73053129a88ea48e62a44410103a400376
2020-09-09 01:12:31 -04:00
Lukasz Szaszkiewicz 457184ab3a update the watch server to use EncoderWithAllocator during object serialization.
It allows us to allocate a single buffer for the entire watch session and release it when a watch connection is closed.
Previously memory was allocated for every object serialization putting a lot of pressure on GC and consuming more memory than needed.

Kubernetes-commit: eda1b0c68ec166ee52c50e4a6ab682ce7227b6a5
2022-02-17 16:04:50 +01:00
Kevin Delgado 0d701a6123 FieldValidation tests for endpoints apiserver and benchmarks for integration tests (#107848)
* wip, working post-strict-yaml

* wip, merge-patch and json-patch tests added

* added SMP tests

* cleanup

* add benchmarks

* more detailed test failure message

* start adding field validation integration benchmarks

* use valid input for benchmarking

* fix remaining integration benchmarks

* benchmarking feedback

* fix endpoints benchmarking

* remove unused vars

Kubernetes-commit: df2768123d8d4d3854ec06bb67e352dcb1b4bd08
2022-02-17 06:11:24 +00:00
Wojciech Tyczyński e6794552b0 Remove Selflink from convertors
Kubernetes-commit: 2169997dfea0a2f7ccf6911a745fc295793f70b4
2022-01-19 13:54:18 +01:00
Wojciech Tyczyński 2d144f4c39 Ensure non-nil items in lists
Kubernetes-commit: 8c1e8355f8efb322ad6e53229f0cbb14999a8fc2
2022-01-14 10:14:17 +01:00
Wojciech Tyczyński 8268596b30 Remove unused selflink parameters from ContextBasedNaming
Kubernetes-commit: 1e0b9c6e20a07f706e7ace39f417ea746fa05a3b
2022-01-14 10:00:04 +01:00
Wojciech Tyczyński 5e8e1ff118 Relax to using namer instead of selflinker in API groupversion
Kubernetes-commit: 0ad588b27b6845d9ece955bfdde0e2863b8e1394
2022-01-13 16:34:56 +01:00
Wojciech Tyczyński b4d0749d39 Fix apiserver selflink tests
Kubernetes-commit: 0aaef27e59839bf60e06aa1421ecbb877207652c
2022-01-13 16:01:35 +01:00
Wojciech Tyczyński 38d7003d33 Remove selflink setting from apiserver
Kubernetes-commit: 0a674d3ed92ce6384e2e8018ca63cf2925474146
2022-01-13 15:29:21 +01:00
Abu Kashem 72aa2c42fc refactor: rename webhook duration tracker
Kubernetes-commit: 4a9b9028153c6984b9cf69067cc0a1aa12a00e73
2022-02-01 15:44:59 -05:00
Wojciech Tyczyński 9c968f178e Fix logging resource-scoped watch requests as GET requests.
Kubernetes-commit: 43e924a5b613850f43c02ac5a74d3e81c1292f3d
2021-11-25 08:55:45 +01:00
Iceber Gu 7c3ebaea3a set RemainingItemCount to ParitalObjectMetadataList
Kubernetes-commit: 45f52321e52c5e5705a1c7ad3c17e52de262f469
2021-12-22 13:48:12 +08:00
Davanum Srinivas b840d63feb Cleanup OWNERS files (No Activity in the last year)
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 497e9c1971c9e7d0193bc6d11503ec4ad527f1d5
2021-12-10 15:18:50 -05:00
Jeffrey Ying 324a627831 Remove bazel condition in openapi_test
Kubernetes-commit: fcd567208cf74e4be83a2ae8fdadf02b933b0ec6
2021-12-09 11:47:18 -05:00
Davanum Srinivas 56a3a30ae1 Check in OWNERS modified by update-yamlfmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 9405e9b55ebcd461f161859a698b949ea3bde31d
2021-12-09 21:31:26 -05:00
Abu Kashem 8949a1cdfc add trace step for transformResponseObject
Kubernetes-commit: 41cef06f66dd4d7e87ff852dc228ab69587be9de
2021-11-22 13:18:02 -05:00
Jordan Liggitt f0c214506c Return BadRequest for invalid large patch
Kubernetes-commit: 2d307f47bd43902ee8f15751130dcbf4a4f775bf
2021-11-21 09:13:37 -05:00
Kevin Delgado 59227ac996 Server Side Field Validation
Implements server side field validation behind the
`ServerSideFieldValidation` feature gate. With the
feature enabled, any create/update/patch request
with the `fieldValidation` query param set to
"Strict" will error if the object in the request
body have unknown fields. A value of "Warn"
(also the default when the feautre is enabled)
will succeed the request with a warning.

When the feature is disabled (or the query param
has a value of "Ignore"), the request will succeed
as it previously had with no indications of any
unknown or duplicate fields.

Kubernetes-commit: e50e2bbc889eb274ad1463a54188a2805767bfde
2021-08-18 02:25:36 +00:00
Antonio Ojea e0e98bc233 fix inefassign linter declaring variable
Kubernetes-commit: 4352768240037a7473b96c84bc432f52ce6e0dc8
2021-11-16 19:00:02 +01:00
Antonio Ojea bcfc46c982 nolint:staticcheck,ineffassign Convert function
Kubernetes-commit: 4bf93f318ac2cbf2f2d24da1991a5e5a4ded6143
2021-11-16 18:59:09 +01:00
Antonio Ojea 4662dacdd3 migrate nolint coments to golangci-lint
Kubernetes-commit: d126b1483840b5ea7c0891d3e7a693bd50fae7f8
2021-11-16 16:57:58 +01:00
Paweł Banaszewski 78c055e084 Added requestSloLatencies metric
Kubernetes-commit: 0afa569499d480df4977568454a50790891860f5
2021-10-25 22:19:24 +00:00
Alexander Zielenski 01b1d339b3 verify liveObj not returned by manager pipeline
addresses feedback by adding a test to make sure that the manager pipeline will not return the same instance used as input, and that the output does not input managedFields

Kubernetes-commit: 68e175ef68eff1351917ac206fb29abe42128062
2021-11-10 14:41:14 -08:00
Alexander Zielenski e2b596449a remove mutation of liveObj in fieldManager.Apply
also document manager interface

Kubernetes-commit: 0963704178200365897390d1834615b30fac9b01
2021-11-09 11:40:20 -08:00
Alexander Zielenski 13e927c892 guard against modification of test inputs in TestNoOpChanges
Kubernetes-commit: 14b67bece4a9bb33adc23dcbbddd76a5cfe0c152
2021-11-09 11:39:46 -08:00
Paweł Banaszewski 0df77d8de7 Changed buckets for apiserver_request_duration_seconds metric
Kubernetes-commit: a8bd20a5af1174ce9f9a185b6d49f025a1045b03
2021-10-29 15:37:27 +00:00
Reza Karimi 193bf2c49a making some apiserver metrics stable
Kubernetes-commit: 894e31f41aed5e6db4275bf8cf89fdd62fe25b1e
2021-11-02 17:53:53 +00:00
kkkkun 6bb07771dd Fix bug: Specical GET should be transformed to WATCH
Kubernetes-commit: 5f98d8f79855af648a610b21d71583a6540a58cd
2021-11-04 21:33:30 +08:00
Abu Kashem fea88b8efd drop managed fields from audit entries
drop the managed fields of the objects from the audit entries when we
are logging request and response bodies.

Kubernetes-commit: bbc59348318c29199e23b27981fb56436ac68705
2020-10-12 13:18:59 -04:00
Lukasz Szaszkiewicz 3af709f483 aggregator: pass apiServiceRegistrationControllerInitiated signal directly to apiserviceRegistration controller
Kubernetes-commit: 5116a508a7bf84844f4987ab2db14af88bfd296f
2021-10-20 11:06:27 +02:00
Lukasz Szaszkiewicz 67be998d0f rename to muxAndDiscoveryComplete
Kubernetes-commit: 9e2bdfee02a6851fbb13ffe28611e9d2b6242785
2021-10-19 12:24:00 +02:00
Lukasz Szaszkiewicz ab8ebf841f apiserver: adds WithMuxCompleteProtection filter
It puts the muxCompleteProtectionKey in the context if a request has been made before muxCompleteSignal has been ready.
Putting the key protect us from returning a 404 response instead of a 503.
It is especially important for controllers like GC and NS since they act on 404s.

The presence of the key is checked in the NotFoundHandler (staging/src/k8s.io/apiserver/pkg/util/notfoundhandler/not_found_handler.go)

The race may happen when a request reaches the NotFoundHandler because not all paths have been registered in the mux
but when the registered checks are examined in the handler they indicate that the paths have been actually installed.
In that case, the presence of the key will make the handler return 503 instead of 404.

Kubernetes-commit: b71fa61b79598b723c3ee23217e0b44564d90b52
2021-10-14 14:25:54 +02:00
Maciej Borsz 7bf60762ac Update writers.go
Kubernetes-commit: f0c7c9abc92e9e32b4f83281f60d76bf25eed579
2021-10-25 13:35:43 +02:00
Abu Kashem 6013da2b94 apiserver: wrap ResponseWriter using abstraction
Kubernetes-commit: 0d50c969c587c8a6c16e0962118305ac652c5a6b
2021-09-20 11:21:56 -04:00
Abu Kashem 02a51f0c60 apiserver: introduce abstraction for wrapping ResponseWriter
Kubernetes-commit: 96e8fd69e392cc2acf12930a76edc66b801b3c93
2021-09-20 11:21:02 -04:00
Abu Kashem 0e3e7334bb apiserver: refactor PolicyRuleEvaluator to return a struct
Kubernetes-commit: a748fdc6775c63b52a1a963e2332ac774890d2a9
2021-09-20 17:44:11 -04:00
Abu Kashem d53acfe201 apiserver: store (event, evaluated policy) pair in request context
Kubernetes-commit: 8be823b0b0270e1b979b3d4c6e683e1daa0f2e01
2021-09-20 17:43:16 -04:00
CKchen0726 5c4bb8bb6a remove invalid nil check
Kubernetes-commit: 3f1675312042cd855a39200c4bff8020cc0922de
2021-09-13 21:04:31 +08:00
wojtekt b898581360 Migrate to k8s.io/utils/clock in apiserver
Kubernetes-commit: 859a98c0358610e2c127cd2fba1be601ca975188
2021-09-14 20:36:07 +02: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
Stephen Augustus 771ffe6475 generated: Run hack/update-gofmt.sh
Signed-off-by: Stephen Augustus <foo@auggie.dev>

Kubernetes-commit: 481cf6fbe753b9eb2a47ced179211206b0a99540
2021-08-12 17:13:11 -04:00