Commit Graph

4977 Commits

Author SHA1 Message Date
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
Kubernetes Publisher 3138aff0d7 Merge pull request #105573 from sttts/sttts-etcd-storage-free-kv-early
apiserver/storage: free etcd kv early in list decoding loop

Kubernetes-commit: f6facec054611fa88cdac421704c1915523095e6
2021-10-08 20:42:33 +00:00
Dr. Stefan Schimanski c0ff3feb85 apiserver/watchcache: doc watch event fan-out to blocked watchers better
Kubernetes-commit: 94b2bb1d3dcfe7973329cc56024f449adde4086c
2021-10-08 17:05:27 +02:00
Dr. Stefan Schimanski 2f0da0d2ea apiserver/storage: free etcd kv early in list decoding loop
Kubernetes-commit: dbf98e42664c8a3a104fe06e0e362497fca2902d
2021-10-08 14:05:26 +02:00
Kubernetes Publisher 53f4bdcc6f Merge pull request #105556 from MikeSpreitzer/relax-test-different-widths
Relax TestDifferentWidths

Kubernetes-commit: 8d0acaa3ffdff8986e39051c0015278dd4fcab0f
2021-10-08 12:43:28 +00:00
wojtekt c3ef02ad27 Adjust final seats if they don't fit the limit
Kubernetes-commit: c5a77d8a761b0651b53864f9e396d6f23efd01d2
2021-10-08 11:14:11 +02:00
Kubernetes Publisher 72d4855673 Merge pull request #105559 from MikeSpreitzer/refactor-work
Calculate the work in each request just once

Kubernetes-commit: 0e260a027bb1c58b8764a69a437fc08e27c9e8c0
2021-10-08 08:48:42 +00:00
Mike Spreitzer a5192405d9 Calculate the work in each request just once
Kubernetes-commit: f2c46c8f9d0b360cf913e22c222d9954b4ff9a76
2021-10-07 17:20:56 -07:00
Mike Spreitzer 1b1389676f Relax TestDifferentWidths
Make the margin a little wider because flakiness was reported.

Kubernetes-commit: 10326282f9d1abcd4a45b737628286d40971efea
2021-10-07 16:09:53 -07:00
Kubernetes Publisher ebff4efdaf Merge pull request #105243 from tkashem/apf-seats
apf: introduce final seats

Kubernetes-commit: ee2ac08907575ac47a342ebac584cf59b7f71fdb
2021-10-07 20:42:48 +00:00
Kubernetes Publisher 4491b7a6a3 Merge pull request #105403 from tkashem/add-watch-init-latency
apf: print watch initialization latency in httplog

Kubernetes-commit: 5c3a789ad421413b982cf098dd8baaebcbe62e5c
2021-10-06 17:42:41 -07:00
Ben Luddy 7324607749 Free APF seats for watches handled by an aggregated apiserver.
Kubernetes-commit: 1873915be6be40df20fe35a8e0c7e8e0a620111a
2021-10-06 10:16:46 -04:00