Commit Graph

4988 Commits

Author SHA1 Message Date
Jefftree 649cd36479 Add OpenAPI v3 publishing under feature gate OpenAPIV3
Kubernetes-commit: 5bf3ed7a98e1e5247fe3fc2f6f948e6ed9a23521
2021-10-26 11:11:59 -07:00
Zach Zhu e669c2bf4b upgrade github.com/evanphx/json-patch to v4.12.0
Fix partial negative indice support in json patch

Kubernetes-commit: 20cc72344e653ab90c1a851816bb206b715fd231
2021-10-26 11:20:45 +08:00
Paweł Banaszewski 78c055e084 Added requestSloLatencies metric
Kubernetes-commit: 0afa569499d480df4977568454a50790891860f5
2021-10-25 22:19:24 +00:00
Kubernetes Publisher f4eed88dd1 Merge pull request #105879 from mborsz/patch-16
Also log err in *deferredResponseWriter.Write

Kubernetes-commit: 9248f27e2368f4ca02f1fc0cc669c9fb5b16143e
2021-10-25 05:36:23 -07:00
Maciej Borsz 7bf60762ac Update writers.go
Kubernetes-commit: f0c7c9abc92e9e32b4f83281f60d76bf25eed579
2021-10-25 13:35:43 +02:00
Kubernetes Publisher eb0856a65a Merge pull request #105866 from MikeSpreitzer/clarify-phase
Clarify metrics help wrt APF execution phases

Kubernetes-commit: f3551dd94219e6cde794ab888d6a395f7b9890d4
2021-10-25 12:44:34 +00:00
Kubernetes Publisher a028d9cd71 Merge pull request #105872 from wojtek-t/fix_delete_collection
Fix delete collection error channel size

Kubernetes-commit: 05a18a34b7a4543fb65e8fae0e355507ea7a83f7
2021-10-25 01:16:23 -07:00
Mike Spreitzer 56b220f8cd Add metrics about watch counts seen by APF
Kubernetes-commit: 154bf6aab33c2486a9066f66ab3a056c1095cb9a
2021-10-25 03:31:47 -04:00
Wojciech Tyczyński 0f1abbd5e4 Fix delete collection error channel size
Kubernetes-commit: f609a8e0b525ee22b3ea1a850a3b0504627525ea
2021-10-25 08:07:21 +02:00
Mike Spreitzer 6a2631848c Add sample-and-watermark for seats occupied during all of execution
Kubernetes-commit: 945f960cfb8fc018b093c1a08e5d4cdd362b1fc6
2021-10-25 01:13:52 -04:00
Mike Spreitzer 5283383fb5 Clarify metrics help wrt APF execution phases
Kubernetes-commit: d7a3bf0d260a0c291941cda68492f10e5010ac91
2021-10-24 22:32:13 -04:00
Kubernetes Publisher c6a8965948 Merge pull request #104877 from pohly/json-kobj
component-base: test and fix JSON output for KObj

Kubernetes-commit: a5cd438b9fbf49e013453f4d6c9b2e935a78071c
2021-10-22 20:48:55 +00:00
Patrick Ohly a5aab02811 klog 2.30.0, logr 1.2.0, zapr 1.2.0
The new releases fix logging of KObj in JSON output: klog implements the new
logr.Marshaler interface and zapr uses it instead of Stringer when logging the
ObjectRef created by KObj.

Kubernetes-commit: 169e8b65a00b45ef8bbc7a14cd985df1c835953b
2021-10-22 15:13:47 +02:00
Kubernetes Publisher 95d95677f5 Merge pull request #105030 from liggitt/json-stdlib
switch from json-iterator to forked stdlib json decoder

Kubernetes-commit: cc25656b00baa33168b7a9bc574101a06788efea
2021-10-22 04:44:37 +00:00
Kubernetes Publisher 3d1bdae9f4 Merge pull request #105511 from benluddy/apf-delegated-signal
Free APF seats for watches handled by an aggregated apiserver.

Kubernetes-commit: 313b43a8cb792efb26de0ade8da7bb9abe523674
2021-10-22 00:41:35 +00:00
Kubernetes Publisher 1e65a6af45 Merge pull request #105663 from Jefftree/feature-openapiv3
Add feature flag for OpenAPI v3

Kubernetes-commit: c767c9d993a7fd6877198808391b5a443e01f090
2021-10-21 20:41:51 +00:00
Kubernetes Publisher 372475ee95 Merge pull request #105606 from sxllwx/fix/goroutine-leak
fix goroutine leak in the DeleteCollection

Kubernetes-commit: 2dede1d4d453413da6fd852e00fc7d4c8784d2a8
2021-10-21 16:41:37 +00:00
Kubernetes Publisher dcb9f8f87a Merge pull request #105729 from MikeSpreitzer/do-not-assume-decision
Remove presumptions about what decision has been made

Kubernetes-commit: c269494ebc43378b686dafa277feb1c42acee531
2021-10-21 00:44:57 +00: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
Abu Kashem 3f529d0551 apf: call metrics.AddReject for decisionCancel
Kubernetes-commit: f6dcf17a10dfd2cb5ce0ea7923723547c92c2e55
2021-10-18 13:08:56 -04:00
Marcel Zięba 35731724b9 Fix race condition in logging when request times out
Kubernetes-commit: 269431c9c894d70a4412bb79d96822d842725cb0
2021-10-18 14:48:47 +00:00
Mike Spreitzer 5ab6f3fe6b Remove presumptions about what decision has been made
Kubernetes-commit: e70999becd98aa00fd00bc622ffdca0476ec7340
2021-10-18 02:10:21 -06:00
Kubernetes Publisher 5842a16b01 Merge pull request #105738 from tkashem/apf-remove-func
apf: return nil for a request that has been removed from queue

Kubernetes-commit: 5cdc3407eefeb86b2a69e292748d4a4477233b37
2021-10-19 06:30:39 -07:00
Abu Kashem b40e786ba3 apf: return nil for a request that has been removed from queue
Kubernetes-commit: cd06ba502cf85603242008cc9f61234790ede6de
2021-10-18 12:46:54 -04:00
Kubernetes Publisher f2e79e7e23 Merge pull request #105757 from MikeSpreitzer/catch-up
Fix nits noticed in recent code review

Kubernetes-commit: edeab47b36a62e26f3cb456d19894ed749fd667f
2021-10-19 08:41:27 +00:00
Mike Spreitzer c5a0365136 Fix nits noticed in recent code review
Kubernetes-commit: 1844a052776bce33322ce20c11b2902403655ef8
2021-10-18 23:51:48 -05:00
Kubernetes Publisher 53ec746131 Merge pull request #105674 from tkashem/apf-debug
apf: include seat information in per request debug dump

Kubernetes-commit: 0cef26182cf83091317c17ebb28918391ecf3583
2021-10-16 08:42:00 +00:00
Lukasz Szaszkiewicz 5c13ee7dbf genericapiserver: indroduce muxCompleteSignals for holding signals that indicate all known HTTP paths have been registered
the new field exists primarily to avoid returning a 404 response when a resource actually exists but we haven't installed the path to a handler.
it is exposed for easier composition of the individual servers.
the primary users of this field are the WithMuxCompleteProtection filter and the NotFoundHandler.

Kubernetes-commit: ddfbb5d2bb57ee44b3e10f0b58f9cc7001f55802
2021-10-15 18:14:20 +02:00
Abu Kashem fb57181f8d apf: include seat information in request dump
Kubernetes-commit: 8e33a3b2cc97813724b64be36fe977290db3053a
2021-10-14 09:27:54 -04: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
Lukasz Szaszkiewicz 1fc498576a apiserver: indroduces NotFoundHanlder
The new handler is meant to be executed at the end of the delegation chain.
It simply checks if the request have been made before the server has installed all known HTTP paths.
In that case it returns a 503 response otherwise it returns a 404.

We don't want to add additional checks to the readyz path as it might prevent fixing bricked clusters.
This specific handler is meant to "protect" requests that arrive before the paths and handlers are fully initialized.

Kubernetes-commit: 53867975e72c7a2d2dd94aac6bd2869411f92094
2021-10-15 17:37:16 +02:00
Jefftree f03b3720c2 Feature flag openapi v3
Kubernetes-commit: 8cb2b798c69e0b6c9cef2f06da14fad157e018ba
2021-10-13 09:35:53 -07:00
Kubernetes Publisher 2e373512bd Merge pull request #105660 from tkashem/apf-debug
apf: update queue debug to include queue sum stats and next dispatch R in seat-seconds

Kubernetes-commit: 92f67c6347c6ed5c5d2846bc5d26e49fe3217b37
2021-10-13 08:53:50 -07:00
Abu Kashem 20ef863037 apf: include seats in use in queue dump
Kubernetes-commit: edf657a33a70ff942d9a0695f602bed13e5e9628
2021-10-13 10:39:37 -04:00
Abu Kashem 88992ba87a apf: change QueueDump to use SeatSeconds
Kubernetes-commit: 3ef5752edf5b3f7076041368b1c1b5396ee534d7
2021-10-13 10:22:41 -04:00
Abu Kashem e4ae91b4a2 apf: include queue sum stats in debug
Kubernetes-commit: 87c7401eb853678da804ff503e266daeef5ad126
2021-10-13 10:14:30 -04:00
Kubernetes Publisher 2bf6f3434e Merge pull request #105647 from wojtek-t/disable_pf_for_watches
Disable P&F for watch requests

Kubernetes-commit: f0e80a6f10825142865a4069b6ec9a27c0eaa6c5
2021-10-13 02:53:50 -07:00
wojtekt f578e7708d Disable P&F for watch requests
Kubernetes-commit: 763e6d1dbb6371c66b62e4ea4c1fcbee1c113bda
2021-10-13 07:43:05 +02:00
Kubernetes Publisher a5bd3b4739 Merge pull request #105592 from MikeSpreitzer/test-final-seats
Update queueset_test.go for FinalSeats

Kubernetes-commit: cf5eced48049310dcf591537958fceeb78298d82
2021-10-13 00:43:38 +00:00
Kubernetes Publisher 518b315d81 Merge pull request #103539 from wojtek-t/pf_estimate_watch_width
Estimate width of the request based on watchers count in P&F

Kubernetes-commit: af2ed2569d56a9f223b82ecee82d9fc91448890a
2021-10-12 16:42:43 +00:00
Kubernetes Publisher be4fe9cf7c Merge pull request #105615 from MikeSpreitzer/correct-linger-logging
Unconfuse logging wrt additional latency

Kubernetes-commit: d9896a23bcec2cdadd398bff0bb967a17ad7893d
2021-10-12 08:42:29 +00:00
Mike Spreitzer 56c6fd034b Unconfused logging wrt additional latency
Fixed confusion in queueSet logging wrt seats and additional latency.

Kubernetes-commit: 42f698daad73d9c010027bb60fff9728168c71da
2021-10-11 13:21:46 -07:00
Kubernetes Publisher 5b4ea887d3 Merge pull request #105605 from sttts/sttts-watch-cache-multiple-blockers
apiserver/watchcache: doc watch event fan-out to blocked watchers better

Kubernetes-commit: 194a3dea5de35dc819a49ccac4c0c34d35e39c39
2021-10-11 20:45:07 +00:00
Kubernetes Publisher 09b2241faf Merge pull request #105469 from MikeSpreitzer/advance-epoch
Advance epoch

Kubernetes-commit: 9253fefb8f2a76cb301fa7cb4ccfe86555856ae9
2021-10-11 12:44:57 +00:00
scott 5d7782c370 fix goroutine leak in the DeleteCollection
Kubernetes-commit: 53df1caeef608dd82d6c0d2433646f538dcd2b5a
2021-10-11 20:21:27 +08:00
Kubernetes Publisher 8f2e61dd8f Merge pull request #105593 from MikeSpreitzer/fix-finishing-logs
Update log messages in queueSet::finishRequestLocked

Kubernetes-commit: 025ac2d57a99457070e5c53028c293e056b2ad4d
2021-10-11 08:45:29 +00:00
Mike Spreitzer 487fea8e61 Update log messages in finishRequestLocked
Make them clearer and consistent.

Kubernetes-commit: 3906e187a685cebddef85226950fc36f65e8ddb4
2021-10-09 23:48:41 -07:00
Mike Spreitzer d69d77c659 Update queueset_test.go for FinalSeats
Track the introduction of FinalSeats.

Give up on calculating expected results for tests with added latency,
because I did not find an easy and obvious way to do it.

Kubernetes-commit: 0fc595e03360ba7fc4c3e251d4b41f39172aca72
2021-10-08 22:27:39 -07:00
Kubernetes Publisher 733ad59e08 Merge pull request #105475 from aojea/egress-aggregator-upgrade
apiserver aggregator upgrade unit test

Kubernetes-commit: 76cac9dcfec1370b49b0ab2a1afe82cc2cefc0f8
2021-10-08 20:42:34 +00:00