Commit Graph

117207 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
047d040ce7
Merge pull request #119012 from pohly/dra-batch-node-prepare
kubelet: support batched prepare/unprepare in v1alpha3 DRA plugin API
2023-07-12 10:57:37 -07:00
Kubernetes Prow Robot
2ec4e14bfa
Merge pull request #118812 from serathius/storage-metric
Improve apiserver storage size metric
2023-07-12 10:57:26 -07:00
Kubernetes Prow Robot
ac07b4612e
Merge pull request #117804 from jsafrane/fix-csi-attachable-reconstruction
Fix reconstruction of CSI volumes
2023-07-12 10:57:15 -07:00
Kubernetes Prow Robot
be13c6a884
Merge pull request #118508 from serathius/kep2340
Implement Alpha state for KEP #2340
2023-07-12 09:33:11 -07:00
Marek Siarkowicz
39bb8f4bb1 Implement ConsistentListFromCache feature gate
Request bookmark every 100ms when there is at least one request blocked on revision not present in watch cache.
2023-07-12 17:26:17 +02:00
Kubernetes Prow Robot
da2d500c80
Merge pull request #119252 from serathius/flakes
Fix TestConditionalProgressRequester and TestWaitUntilFreshAndListTimeout flakes
2023-07-12 07:49:26 -07:00
Kubernetes Prow Robot
be222f38f0
Merge pull request #119058 from TommyStarK/dra-state-checkpoint-unit-test
dynamic resource allocation: Improve code coverage of state checkpoint
2023-07-12 07:49:14 -07:00
Kubernetes Prow Robot
3cc729fc7f
Merge pull request #119195 from pohly/dra-reallocate-flake
dra e2e: fix "reallocation works" flake
2023-07-12 05:55:25 -07:00
Kubernetes Prow Robot
529eeb78ef
Merge pull request #119078 from pohly/dra-scheduler-queueing-hints
dra: scheduler queueing hints
2023-07-12 05:55:13 -07:00
Patrick Ohly
d743c50bb9 kubelet: support batched prepare/unprepare in v1alpha3 DRA plugin API
Combining all prepare/unprepare operations for a pod enables plugins to
optimize the execution. Plugins can continue to use the v1beta2 API for now,
but should switch. The new API is designed so that plugins which want to work
on each claim one-by-one can do so and then report errors for each claim
separately, i.e. partial success is supported.
2023-07-12 14:50:30 +02:00
Marek Siarkowicz
7a63997c8a Improve apiserver storage size metric to allow it's graduation
Change name to make it compliant with prometheus guidelines.
Calculate it on demand instead of periodic to comply with prometheus standards.
Replace "endpoint" with "server" label to make it semantically consistent with storage factory
2023-07-12 14:33:10 +02:00
Marek Siarkowicz
c1decb6763 Fix TestConditionalProgressRequester and TestWaitUntilFreshAndListTimeout flakes 2023-07-12 14:03:32 +02:00
Kubernetes Prow Robot
0da0b7a85d
Merge pull request #119251 from soltysh/issue119230
Match both old and new kubectl version for a while in e2e
2023-07-12 04:51:12 -07:00
TommyStarK
f924bf95df dynamic resource allocation: Improve code coverage of state checkpoint
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2023-07-12 13:27:18 +02:00
Maciej Szulik
ab3a0b78ea
Match both old and new kubectl version for a while in e2e 2023-07-12 12:49:33 +02:00
Kubernetes Prow Robot
745cfa35bd
Merge pull request #119147 from mengjiao-liu/contextual-logging-controller-disruption
Migrate /pkg/controller/disruption to structured and contextual logging
2023-07-12 03:35:25 -07:00
Kubernetes Prow Robot
a8093823c3
Merge pull request #119042 from sttts/sttts-restcore-split
cmd/kube-apiserver: turn core (legacy) rest storage into standard RESTStorageProvider
2023-07-12 03:35:17 -07:00
Patrick Ohly
c143a875ed dra e2e: fix "reallocation works" flake
The main problem probably was that
https://github.com/kubernetes/kubernetes/pull/118862 moved creating the first
pod before setting up the callback which blocks allocating one claim for that
pod. This is racy because allocations happen in the background.

The test also was unnecessarily complex and hard to read:
- The intended effect can be achieved with three instead of four claims.
- It wasn't clear which claim has "external-claim-other" as name.
  Using the claim variable avoids that.
2023-07-12 11:20:47 +02:00
Patrick Ohly
6f1a29520f scheduler/dra: reduce pod scheduling latency
This is a combination of two related enhancements:
- By implementing a PreEnqueue check, the initial pod scheduling
  attempt for a pod with a claim template gets avoided when the claim
  does not exist yet.
- By implementing cluster event checks, only those pods get
  scheduled for which something changed, and they get scheduled
  immediately without delay.
2023-07-12 11:17:04 +02:00
Kubernetes Prow Robot
a8b90c9008
Merge pull request #119247 from saschagrunert/setcap
setcap: update to debian bookworm v1.0.0
2023-07-12 02:11:12 -07:00
Patrick Ohly
e01db32573 scheduler util: handle cache.DeletedFinalStateUnknown in As
Informer callbacks must be prepared to get cache.DeletedFinalStateUnknown as
the deleted object. They can use that as hint that some information may have
been missed, but typically they just retrieve the stored object inside it.
2023-07-12 11:07:59 +02:00
Patrick Ohly
ef48efc736 scheduler dynamicresources: minor logging improvements
This makes some complex values a bit more readable.
2023-07-12 11:07:59 +02:00
Sascha Grunert
363874e9b5
setcap: update to debian bookworm v1.0.0
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-07-12 09:29:55 +02:00
Kubernetes Prow Robot
95e915c428
Merge pull request #119229 from HirazawaUi/fix-convert-slice
Fix the converts an empty string to nil.
2023-07-11 23:39:11 -07:00
Kubernetes Prow Robot
5130dad2cf
Merge pull request #118408 from danwinship/local-detector
kube-proxy local traffic detector single-vs-dual-stack cleanup
2023-07-11 21:19:11 -07:00
Mengjiao Liu
19869478c1 Migrate /pkg/controller/disruption to structured and contextual logging 2023-07-12 11:30:45 +08:00
Kubernetes Prow Robot
98e7c2a751
Merge pull request #119237 from jpbetz/jpbetz-apiserver-integration-owner
Add jpbetz as approver of apiserver integration tests
2023-07-11 20:03:18 -07:00
Kubernetes Prow Robot
2d9c951abe
Merge pull request #117011 from fabi200123/Add-Node-Log-Query-Tests-
Add e2e tests for feature NodeLogQuery
2023-07-11 20:03:11 -07:00
Kubernetes Prow Robot
d45b6ba676
Merge pull request #119225 from iholder101/bump-cadvisor/v0.47.3
Bump cadvisor version to v0.47.3
2023-07-11 16:19:11 -07:00
Kubernetes Prow Robot
da8974157f
Merge pull request #119209 from jiahuif-forks/feature/validating-admission-policy/typechecking-expension
ValidatingAdmissionPolicy: expended type checking to messageExpression
2023-07-11 14:19:12 -07:00
Kubernetes Prow Robot
4954c7bac4
Merge pull request #118540 from jiahuif-forks/feature/validating-admission-policy/authorizer-typechecking-support
add support for authorizer to type checking.
2023-07-11 12:41:22 -07:00
Kubernetes Prow Robot
6ffca50136
Merge pull request #116443 from benluddy/secondary-authz-decision-caching
Cache authz decisions within the scope of validating policy admission.
2023-07-11 12:41:11 -07:00
Joe Betz
6d6595d0f6 Add jpbetz as approver of apiserver integration tests 2023-07-11 14:36:45 -04:00
Kubernetes Prow Robot
a6890b361d
Merge pull request #119193 from mimowo/sync-job-context
Introduce syncJobContext to limit the number of function parameters
2023-07-11 10:33:30 -07:00
Kubernetes Prow Robot
da61644869
Merge pull request #119179 from gjkim42/add-prestop-e2e-test
node-e2e: Add container lifecycle e2e tests for preStop hook
2023-07-11 10:33:23 -07:00
Kubernetes Prow Robot
e0dafe57a3
Merge pull request #117351 from pohly/dra-generated-resource-claim-names
DRA: generated resource claim names
2023-07-11 10:33:11 -07:00
HirazawaUi
9759fc3c23 Fix the converts an empty string to nil. 2023-07-12 00:02:13 +08:00
Dr. Stefan Schimanski
a34e06e74c
kube-apiserver/corerest: structure Config 2023-07-11 17:27:20 +02:00
Dr. Stefan Schimanski
75e3576523
kube-apiserver: rewire service controllers: kubernetesservice + IP repair 2023-07-11 17:27:20 +02:00
Itamar Holder
f22aa42aa8 bump go.mod cadvisor to v0.47.3
Signed-off-by: Itamar Holder <iholder@redhat.com>
2023-07-11 17:22:33 +03:00
Kubernetes Prow Robot
e1fbd0c113
Merge pull request #119207 from serathius/progress-notify
Implement conditionalProgressRequester that allows requesting watch progress notification if watch cache is not fresh
2023-07-11 06:05:19 -07:00
Arda Güçlü
3267dd9d52
kubectl delete: Introduce new interactive flag for interactive deletion (#114530) 2023-07-11 06:05:11 -07:00
Patrick Ohly
fec25785ee dra: store generated ResourceClaims in cache
This addresses the following bad sequence of events:
- controller creates ResourceClaim
- updating pod status fails
- pod gets retried before the informer receives
  the created ResourceClaim
- another ResourceClaim gets created

Storing the generated ResourceClaim in a MutationCache ensures that the
controller knows about it during the retry.

A positive side effect is that ResourceClaims now get index by pod owner and
thus iterating over existing ones becomes a bit more efficient.
2023-07-11 14:23:49 +02:00
Patrick Ohly
ba810871ad dra e2e: check that not generating a ResourceClaim works
This is not something that normally happens, but the API supports it because it
might be needed at some point, so we have to test it.
2023-07-11 14:23:49 +02:00
Patrick Ohly
0fc62d5ded dra: generated files 2023-07-11 14:23:48 +02:00
Patrick Ohly
444d23bd2f dra: generated name for ResourceClaim from template
Generating the name avoids all potential name collisions. It's not clear how
much of a problem that was because users can avoid them and the deterministic
names for generic ephemeral volumes have not led to reports from users. But
using generated names is not too hard either.

What makes it relatively easy is that the new pod.status.resourceClaimStatus
map stores the generated name for kubelet and node authorizer, i.e. the
information in the pod is sufficient to determine the name of the
ResourceClaim.

The resource claim controller becomes a bit more complex and now needs
permission to modify the pod status. The new failure scenario of "ResourceClaim
created, updating pod status fails" is handled with the help of a new special
"resource.kubernetes.io/pod-claim-name" annotation that together with the owner
reference identifies exactly for what a ResourceClaim was generated, so
updating the pod status can be retried for existing ResourceClaims.

The transition from deterministic names is handled with a special case for that
recovery code path: a ResourceClaim with no annotation and a name that follows
the Kubernetes <= 1.27 naming pattern is assumed to be generated for that pod
claim and gets added to the pod status.

There's no immediate need for it, but just in case that it may become relevant,
the name of the generated ResourceClaim may also be left unset to record that
no claim was needed. Components processing such a pod can skip whatever they
normally would do for the claim. To ensure that they do and also cover other
cases properly ("no known field is set", "must check ownership"),
resourceclaim.Name gets extended.
2023-07-11 14:23:48 +02:00
Kubernetes Prow Robot
86038ae590
Merge pull request #116846 from moshe010/e2e--node-pod-resources
kubelet pod-resources: add e2e for KubeletPodResourcesGet feature
2023-07-11 04:53:24 -07:00
Kubernetes Prow Robot
bc01306c98
Merge pull request #116738 from AxeZhan/TopologyManagerPolicy
When TopologyManagerPolicy is None, skip checks in NewManager.
2023-07-11 04:53:13 -07:00
Marek Siarkowicz
98461be8ff Implement conditionalProgressRequester that allows requesting watch progress notification if watch cache is not fresh 2023-07-11 13:03:13 +02:00
Kubernetes Prow Robot
50782ce5ab
Merge pull request #119198 from jadhaj/fix-115385
Document address family of listening INET sockets
2023-07-11 03:19:23 -07:00