Commit Graph

4730 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
11c689b945 Merge pull request #125675 from tnqn/fix-rapid-endpoints-update
Fix endpoints status out-of-sync when the pod state changes rapidly
2024-07-02 23:48:42 -07:00
Quan Tian
3bd975862a Fix endpoints status out-of-sync when the pod state changes rapidly
When Pod state changes rapidly, endpoints controller may use outdated
informer cache to sync Service. If the outdated endpoints appear to be
expected by the controller, it skips updating it.

The commit fixes it by checking if endpoints informer cache is outdated
when processing a service. If the endpoints is stale, it returns an
error and retries later.

Signed-off-by: Quan Tian <quan.tian@broadcom.com>
2024-07-01 21:56:36 +08:00
Kubernetes Prow Robot
a2a5b67442 Merge pull request #125822 from kerthcet/fix/schedule_perf-failure
Log the error margin to avoid failures in schedule_perf
2024-07-01 05:07:27 -07:00
kerthcet
e106b3a31f Log the error margin to avoid failures in schedule_perf
Signed-off-by: kerthcet <kerthcet@gmail.com>
2024-07-01 18:22:31 +08:00
Kubernetes Prow Robot
db9419c01d Merge pull request #125803 from mmorel-35/len+empty/test
fix: enable and fixes rules from testifylint on test package
2024-06-30 12:59:21 -07:00
Kubernetes Prow Robot
93d56511e6 Merge pull request #125021 from aojea/servicecidrbeta
KEP-1880 Multiple Service CIDRs: Graduate to Beta (2/2)
2024-06-30 08:53:25 -07:00
Antonio Ojea
ed597316d6 modify tests to use the networking v1beta1 API 2024-06-30 09:48:46 +00:00
Matthieu MOREL
7bccbaf996 fix: enable and fixes rules from testifylint on test package
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-30 05:44:47 +00:00
Kubernetes Prow Robot
fa75b4371d Merge pull request #125550 from sanposhiho/scheduler_perf-gated
add a test case with gated pod-affinity pods to scheduler_perf
2024-06-29 07:06:42 -07:00
Kensei Nakada
d6d55196ae add a test case with PodAffinity gated pods to scheduler_perf 2024-06-29 03:35:10 +00:00
Kubernetes Prow Robot
ac9aec9f9b Merge pull request #125116 from pohly/dra-one-of-source
DRA: remove "source" indirection from v1 Pod API
2024-06-28 12:46:45 -07:00
Matthieu MOREL
0cde5f1e28 fix: enable bool-compare rule from testifylint linter (#125135)
* fix: enable bool-compare rule from testifylint linter

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>

* Update hack/golangci.yaml.in

Co-authored-by: Patrick Ohly <patrick.ohly@intel.com>

* Update golangci.yaml.in

* Update golangci-strict.yaml

* Update golangci.yaml.in

* Update golangci.yaml.in

* Update golangci.yaml.in

* Update golangci.yaml.in

* Update golangci.yaml

* Update golangci-hints.yaml

* Update golangci-strict.yaml

* Update golangci.yaml.in

* Update golangci.yaml

* Update mux_test.go

---------

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Co-authored-by: Patrick Ohly <patrick.ohly@intel.com>
2024-06-28 10:58:05 -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
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
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
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
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
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
Kubernetes Prow Robot
8c508c5480 Merge pull request #125527 from sanposhiho/gated-pods-filter-out-bug
fix: skip isPodWorthRequeuing only when SchedulingGates gates the pod
2024-06-21 12:22:55 -07:00
Kubernetes Prow Robot
bdbd87be2b Merge pull request #125596 from skitt/stretchr-testify-mock
Switch to stretchr/testify / mockery for mocks
2024-06-21 09:23:02 -07:00
Filip Křepinský
68d34580e0 promote PDBUnhealthyPodEvictionPolicy to GA 2024-06-21 16:13:53 +02:00
Kensei Nakada
afed31193b update a test name and comment 2024-06-20 23:46:17 +00:00
Stephen Kitt
3f36c83c68 Switch to stretchr/testify / mockery for mocks
testify is used throughout the codebase; this switches mocks from
gomock to testify with the help of mockery for code generation.

Handlers and mocks in test/utils/oidc are moved to a new package:
mockery operates package by package, and requires packages to build
correctly; test/utils/oidc/testserver.go relies on the mocks and fails
to build when they are removed. Moving the interface and mocks to a
different package allows mockery to process that package without
having to build testserver.go.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2024-06-20 19:42:53 +02:00
Marek Siarkowicz
038bbacb41 Fix tracing test for list nodes 2024-06-20 10:56:51 +02:00
Kubernetes Prow Robot
fc786fc6e8 Merge pull request #125552 from liggitt/fix-timeout-wiring
KEP-3221: Fix structured authorization webhook timeout wiring and detection
2024-06-19 19:00:16 -07:00
Jordan Liggitt
c50f68d6ee Fix structured authorization webhook timeout wiring 2024-06-19 15:36:36 -04:00
Maciej Skoczeń
7532e74117 Don't fail on churn delete in scheduler_perf tests when context canceled 2024-06-19 08:08:13 +00:00
Kubernetes Prow Robot
7dc30dce15 Merge pull request #125504 from macsko/scheduler_perf_gated_pods_test
scheduler_perf: Measure performance of scheduling when many gated pods
2024-06-18 12:40:02 -07:00
Kubernetes Prow Robot
3f9b79fc11 Merge pull request #125145 from xyz-li/fix_watch_namespace
apiserver: fix watch namespace
2024-06-18 10:39:44 -07:00