Commit Graph

25435 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
d40676c227 Merge pull request #122047 from aojea/treeless
KEP-1880 Multiple Service CIDRs: Graduate to Beta (1/2)
2024-06-28 01:00:20 -07:00
Kubernetes Prow Robot
991e7a8c15 Merge pull request #125646 from HirazawaUi/apply-null
Prune explicit nulls from client-side apply create
2024-06-27 10:40:14 -07:00
Patrick Ohly
bde9b64cdf DRA: remove "source" indirection from v1 Pod API
This makes the API nicer:

    resourceClaims:
    - name: with-template
      resourceClaimTemplateName: test-inline-claim-template
    - name: with-claim
      resourceClaimName: test-shared-claim

Previously, this was:

    resourceClaims:
    - name: with-template
      source:
        resourceClaimTemplateName: test-inline-claim-template
    - name: with-claim
      source:
        resourceClaimName: test-shared-claim

A more long-term benefit is that other, future alternatives
might not make sense under the "source" umbrella.

This is a breaking change. It's justified because DRA is still
alpha and will have several other API breaks in 1.31.
2024-06-27 17:53:24 +02:00
Antonio Ojea
194609bd6a fix comment on integration test 2024-06-27 11:45:37 +00:00
Antonio Ojea
9b1bad431b implement dual write on Service ClusterIP allocator
MultiCIDRServiceAllocator implements a new ClusterIP allocator based on
IPAddress object to solve the problems and limitations caused by
existing bitmap allocators.

However, during the rollout of new versions, deployments need to support
a skew of one version between kube-apiservers. To avoid the possible
problem where there are multiple Services requests on the skewed
apiservers and that both allocate the same IP to different Services,
the new allocator will implement a dual-write strategy under the
feature gate DisableAllocatorDualWrite.

After the MultiCIDRServiceAllocator is GA, the DisableAllocatorDualWrite
can be enabled safely as all apiservers will run with the new
allocators. The graduation of DisableAllocatorDualWrite can also
be used to clean up the opaque API object that contains the old bitmaps.

If MultiCIDRServiceAllocator is enabled and DisableAllocatorDualWrite is disable
and is a new environment, there is no bitmap object created, hence, the
apiserver will initialize it to be able to write on it.
2024-06-27 11:33:36 +00:00
Antonio Ojea
8490273979 performance test to compare allocators
The current results with 100 works and 15k services on a (n2-standard-48) vCPU: 48 RAM: 192 GB are:
Old allocator:

perf_test.go:139: [RESULT] Duration 1m9.646167533s: [quantile:0.5  value:0.462886801 quantile:0.9  value:0.496662838 quantile:0.99  value:0.725845905]

New allocator:
perf_test.go:139: [RESULT] Duration 2m12.900694343s: [quantile:0.5  value:0.481814448 quantile:0.9  value:1.3867615469999999 quantile:0.99  value:1.888190671]

The new allocator has higher latency but in contrast allow to use a
larger number of services, when tested with 65k Services the old
allocator etcd crashes with storage exceeded.

The scenario is also not realistic, as a continuous and high load on
Service creation is not expected.
2024-06-27 11:33:36 +00:00
Antonio Ojea
6639411231 add log to migration test 2024-06-27 11:33:36 +00:00
Antonio Ojea
101722249d test enable and disable ServiceCIDR feature 2024-06-27 11:33:36 +00:00
Kubernetes Prow Robot
d4c18e5454 Merge pull request #125709 from benluddy/test-fuzz-owners
Add OWNERS to test/fuzz.
2024-06-27 00:50:33 -07:00
Lukasz Szaszkiewicz
be00cded2d e2e/apimachinery/watchlist: always run WatchList e2e tests 2024-06-27 08:49:59 +02:00
Kubernetes Prow Robot
905fdda366 Merge pull request #125739 from seans3/ignore-portforward-leak
Ignore reported goroutine leak during SPDY shutdown
2024-06-26 17:57:14 -07:00
Kubernetes Prow Robot
9626cd34f4 Merge pull request #125741 from nilekhc/svm-crd-flake
[Storage Version Migrator] fix: increases timeout on CRD update check
2024-06-26 15:15:32 -07:00
Kubernetes Prow Robot
a3a4f9658b Merge pull request #125492 from Nordix/esotsal/123951
pod-resize-scheduler-tests: fix ci-kubernetes-e2e-ec2
2024-06-26 14:13:48 -07:00
Kubernetes Prow Robot
1d51766c7a Merge pull request #125698 from pohly/dra-log-output
DRA: log output
2024-06-26 12:01:03 -07:00
Kubernetes Prow Robot
25a43070ee Merge pull request #123468 from ffromani/fix-mm-metrics-test
node: memory manager: fix the metrics tests
2024-06-26 12:00:45 -07:00
Ben Luddy
2d3e6f8762 Add OWNERS to test/fuzz. 2024-06-26 14:21:16 -04:00
Sotiris Salloumis
7dbc2a9ea8 pod-resize-scheduler-tests: fix ci-kubernetes-e2e-ec2 2024-06-26 20:20:13 +02:00
Kubernetes Prow Robot
a4b8d0faa8 Merge pull request #125731 from dashpole/revert_otel
Revert "Update opentelemetry dependencies to the latest release."
2024-06-26 10:59:18 -07:00
Kubernetes Prow Robot
b29dce0757 Merge pull request #125627 from yt-huang/clean-up
drop deprecated PollWithContext and adopt PollUntilContextTimeout ins…
2024-06-26 10:58:55 -07:00
Nilekh Chaudhari
027630a0dc fix: increases timeout on CRD update check
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
2024-06-26 10:49:16 -07:00
Sean Sullivan
5ba8773126 Ignore reported goroutine leak during SPDY shutdown 2024-06-26 10:22:14 -07:00
David Ashpole
7bcb2a96f2 Revert "fix tracing integration test"
This reverts commit a3b7cb9374.
2024-06-26 14:14:26 +00:00
Kubernetes Prow Robot
084d6c4968 Merge pull request #125699 from pohly/scheduler-framework-logging
scheduler: fix klog.KObjSlice when applied to []*NodeInfo
2024-06-26 01:50:23 -07:00
Patrick Ohly
fc55fecd45 ktesting: support capturing log output
This is a feature of the underlying k8s.io/klog/v2/ktesting which is
useful also when using the Kubernetes ktesting.
2024-06-26 08:11:31 +02:00
Kubernetes Prow Robot
fb0195df11 Merge pull request #123428 from atiratree/UnhealthyPodEvictionPolicy-GA
promote PDBUnhealthyPodEvictionPolicy to GA
2024-06-25 21:56:20 -07:00
Kubernetes Prow Robot
7a6062f4c1 Merge pull request #122891 from siyuanfoundation/api-comp-ver1
apimachinery: API Emulation Versioning
2024-06-25 20:04:48 -07:00
Kubernetes Prow Robot
f848e4df7b Merge pull request #125679 from dims/add-sig/etcd-labels-for-related-directories
Add sig/etcd labels for related directories
2024-06-25 16:47:26 -07:00
Siyuan Zhang
379676c4be add DefaultComponentGlobalsRegistry flags in ServerRunOptions
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-06-25 22:12:11 +00:00
Siyuan Zhang
4352c4ad27 Add version mapping in ComponentGlobalsRegistry.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-06-25 22:12:11 +00:00
Siyuan Zhang
701e5fc374 Add composition flags for emulation version and feature gate.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-06-25 22:12:11 +00:00
Siyuan Zhang
403301bfdf apiserver: Add API emulation versioning.
Co-authored-by: Siyuan Zhang <sizhang@google.com>
Co-authored-by: Joe Betz <jpbetz@google.com>
Co-authored-by: Alex Zielenski <zielenski@google.com>

Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-06-25 22:12:11 +00:00
Kubernetes Prow Robot
2200f5ef1b Merge pull request #125446 from AkihiroSuda/rro-e2e-remove-withserial
e2e_node/mount_rro_linux_test.go: remove unneeded WithSerial
2024-06-25 14:18:12 -07:00
Kubernetes Prow Robot
0913b90809 Merge pull request #125402 from iholder101/swap/skip-e2e-test-if-no-swap
[KEP-2400]: Swap e2e tests: skip swap stress tests if swap is not provisioned
2024-06-25 14:17:58 -07:00
Kubernetes Prow Robot
34dd2007cb Merge pull request #125263 from jpbetz/fix-nop-apply
Fix check to ignore non-semantic changes to objects to handle unstructured
2024-06-25 14:17:51 -07:00
Kubernetes Prow Robot
8c478a06d8 Merge pull request #124595 from pohly/dra-scheduler-assume-cache-eventhandlers
DRA: scheduler event handlers via assume cache
2024-06-25 11:56:28 -07:00
HirazawaUi
c29a19610a add tests 2024-06-26 01:07:24 +08:00
Patrick Ohly
7f87629a3f DRA e2e: fix error reporting in test driver
Dropping the error that is returned by allocateOne hides the reason *why*
allocation failed. Including the UID is "too much information" for an error
message (usually the user doesn't care about the exact identity, just the name)
and the claim name can and will be added by the caller.

Before:

    controller.go:373: E0625 16:04:12.140953] test-driver.cdi.k8s.io/resource controller: processing failed err="claim test-dramq9jv-resource-h72pg: failed allocating claim 8551afba-3c9a-4a8a-8633-6fad6c4b9e42" key="schedulingCtx:test/test-dramq9jv"
    event.go:377: I0625 16:04:12.141031] test-driver.cdi.k8s.io/resource controller: Event(v1.ObjectReference{Kind:"PodSchedulingContext", Namespace:"test", Name:"test-dra65gfw", UID:"6be9ba57-31da-4fef-b61d-b0468d71afcf", APIVersion:"resource.k8s.io/v1alpha3", ResourceVersion:"197", FieldPath:""}): type: 'Warning' reason: 'Failed' claim test-dra65gfw-resource-zpzrj: failed allocating claim f98a32e1-ab7d-4b34-a258-6d8224aa9006

After:

    controller.go:373: E0625 16:02:54.248059] test-driver.cdi.k8s.io/resource controller: processing failed err="claim test-dram98ll-resource-nvsbj: device selectors are not supported" key="schedulingCtx:test/test-dram98ll"
    event.go:377: I0625 16:02:54.248163] test-driver.cdi.k8s.io/resource controller: Event(v1.ObjectReference{Kind:"PodSchedulingContext", Namespace:"test", Name:"test-dratpt77", UID:"24010402-b026-4fe4-a535-e1dab69db8c0", APIVersion:"resource.k8s.io/v1alpha3", ResourceVersion:"298", FieldPath:""}): type: 'Warning' reason: 'Failed' claim test-dratpt77-resource-vlgrv: device selectors are not supported
2024-06-25 16:04:56 +02:00
Patrick Ohly
900457c09b ktesting: improve per-test log output
format.Object adds some white space in front of the value and a type identifier
in angle brackets. Both is distracting when printing simple values and can be
avoided by picking fmt.Sprintf for those types, plus trimming the result of
format.Object.

Before:

    allocator.go:483: I0625 15:35:31.946980] Allocating one device currentClaim=    <int>: 0 totalClaims=    <int>: 1 currentRequest=    <int>: 0 totalRequestsPerClaim=    <int>: 1 currentDevice=    <int>: 0 devicesPerRequest=    <int>: 1 allDevices=    <bool>: false adminAccess=    <bool>: false

After:

    allocator.go:483: I0625 15:35:04.371441] Allocating one device currentClaim=0 totalClaims=1 currentRequest=0 totalRequestsPerClaim=1 currentDevice=0 devicesPerRequest=1 allDevices=false adminAccess=false
2024-06-25 16:00:38 +02:00
Patrick Ohly
171620765e ktesting: add Step
Step simplifies using WithStep because it creates a local scope where the same
tCtx variable is the one with the step name.
2024-06-25 14:00:22 +02:00
Lubomir I. Ivanov
636f38a9fe e2e_kubeadm: move chendave to emeritus
Technically an approver for cmd/kubeadm, so for this OWNERS
file there should be emeritus approver status.
2024-06-25 14:47:30 +03:00
Mengjiao Liu
9ae15e6022 Fixed metrics missing issue for metrics reference page 2024-06-25 17:44:47 +08:00
Francesco Romani
5b6fe2f8db e2e: node: ensure no pod leaks in the container_manager test
During the debugging of https://github.com/kubernetes/kubernetes/pull/123468
it became quite evident there are unexpected pods, leftovers from
the container_manager_test. But we need stronger isolation among test
to have good signal, so we add these safeguards (xref:
https://github.com/kubernetes/kubernetes/pull/123468#issuecomment-1977977609
)

Signed-off-by: Francesco Romani <fromani@redhat.com>
2024-06-25 07:40:41 +02:00
Kubernetes Prow Robot
535e833aef Merge pull request #125575 from dashpole/update_otel_27
Update opentelemetry dependencies to the latest release.
2024-06-24 21:01:46 -07:00
Kubernetes Prow Robot
921fb0b7c5 Merge pull request #125237 from aojea/ipmode_integration
improve loadbalancer IPMode testing
2024-06-24 19:22:43 -07:00
Kubernetes Prow Robot
d236a9127f Merge pull request #125560 from jpbetz/apply-gen-fake
Add field management support to fake client-go typed client
2024-06-24 16:48:46 -07:00
Kubernetes Prow Robot
d5dd5b13a5 Merge pull request #125317 from jpbetz/fix-nop-empty-map
Fix non-semantic apply requests to ignore empty maps
2024-06-24 16:48:39 -07:00
Antonio Ojea
e7425cf71f improve loadbalancer IPMode testing 2024-06-24 23:38:10 +00:00
Davanum Srinivas
1390ac0e25 Add sig/etcd labels for related directories
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-06-24 17:03:34 -04:00
Joe Betz
572b0d9fbf Add integration test 2024-06-24 15:58:51 -04:00
David Ashpole
a3b7cb9374 fix tracing integration test 2024-06-23 15:56:57 +00:00