Commit Graph

4823 Commits

Author SHA1 Message Date
Monis Khan
6a6771b514 svm: set UID and RV on SSA patch to cause conflict on logical create
When a resource gets deleted during migration, the SVM SSA patch
calls are interpreted as a logical create request.  Since the object
from storage is nil, the merged result is just a type meta object,
which lacks a name in the body.  This fails when the API server
checks that the name from the request URL and the body are the same.
Note that a create request is something that SVM controller should
never do.

Once the UID is set on the patch, the API server will fail the
request at a slightly earlier point with an "uid mismatch" conflict
error, which the SVM controller can handle gracefully.

Setting UID by itself is not sufficient.  When a resource gets
deleted and recreated, if RV is not set but UID is set, we would get
an immutable field validation error for attempting to update the
UID.  To address this, we set the resource version on the SSA patch
as well.  This will cause that update request to also fail with a
conflict error.

Added the create verb on all resources for SVM controller RBAC as
otherwise the API server will reject the request before it fails
with a conflict error.

The change addresses a host of other issues with the SVM controller:

1. Include failure message in SVM resource
2. Do not block forever on unsynced GC monitor
3. Do not immediately fail on GC monitor being missing, allow for
   a grace period since discovery may be out of sync
4. Set higher QPS and burst to handle large migrations

Test changes:

1. Clean up CRD webhook convertor logs
2. Allow SVM tests to be run multiple times to make finding flakes easier
3. Create and delete CRs during CRD test to force out any flakes
4. Add a stress test with multiple parallel migrations
5. Enable RBAC on KAS
6. Run KCM directly to exercise wiring and RBAC
7. Better logs during CRD migration
8. Scan audit logs to confirm SVM controller never creates

Signed-off-by: Monis Khan <mok@microsoft.com>
2024-07-18 17:19:11 -04:00
Kubernetes Prow Robot
24fbb13eaf Merge pull request #126113 from googs1025/enqueueExtensions_refactor
scheduler: Add ctx param and error return to EnqueueExtensions.EventsToRegister()
2024-07-18 00:53:25 -07:00
Patrick Ohly
8d814298bb kubelet: grant permission for DeleteCollection
2e34e187c9 enabled kubelet to do List and Watch
requests with the caveat that kubelet should better use a field selector (which
it does). The same is now also needed for DeleteCollection because kubelet will
use that to clean up in one operation instead of using multiple.
2024-07-18 09:09:19 +02:00
googs1025
a3978e8315 scheduler: Add ctx param and error return to EnqueueExtensions.EventsToRegister() 2024-07-18 12:22:17 +08:00
Kubernetes Prow Robot
5d40866fae Merge pull request #125994 from carlory/fix-job-api
clean up codes after PodDisruptionConditions was promoted to GA
2024-07-17 14:37:09 -07:00
Kubernetes Prow Robot
a6460c4f3e Merge pull request #126036 from macsko/scheduler_perf_throughput_thresholds
Allow to set scheduling throughput thresholds in scheduler_perf tests
2024-07-16 21:43:13 -07:00
Cici Huang
67a171a142 Remove feature gate CustomResourceValidationExpressions. 2024-07-16 10:39:00 -07:00
Kubernetes Prow Robot
5f7cfdef11 Merge pull request #125993 from macsko/increase_server_timeout_in_scheduler_perf_tests
Increase API server timeout in scheduler_perf integration tests
2024-07-16 08:15:10 -07:00
Peter Schuurman
585971431b Remove StatefulSetStartOrdinal feature gate to target stable in 1.31 2024-07-16 08:05:09 -07:00
Kubernetes Prow Robot
be776efb00 Merge pull request #125967 from vinayakankugoyal/kep4633
KEP-4633: Add intgration tests for Anonymous Auth Configurable Endpoints
2024-07-15 18:23:09 -07:00
Vinayak Goyal
843d6f2d5d KEP-4633: Add intgration tests for Anonymous Auth Configurable Endpoints.
Signed-off-by: Vinayak Goyal <vinaygo@google.com>
2024-07-16 00:17:44 +00:00
Vinayak Goyal
bc06071495 Update AppArmor feature gates to GA stage.
Signed-off-by: Vinayak Goyal <vinaygo@google.com>
2024-07-15 23:29:37 +00:00
Maciej Skoczeń
767d2a3e5e Allow to set scheduling throughput thresholds in scheduler_perf tests 2024-07-15 08:06:21 +00:00
googs1025
027b34476f use ktesting.NewTestContext(t) ctx instead of context.TODO() for namespace integration 2024-07-14 18:46:43 +08:00
Michal Wozniak
f1233ac5e0 JobPodFailurePolicy to GA
# Conflicts:
#	pkg/controller/job/job_controller_test.go
2024-07-12 17:21:32 +02:00
Michal Wozniak
70c4965270 Add more test cases for SuccessCriteriaMet
Cleanup error messages in the new code

Add validation for the Job controller fields
2024-07-12 11:22:26 +02:00
Michal Wozniak
fb7704ba03 Delay setting terminal Job conditions until all pods are terminal
Fix the integration test typecheck

Fix after rebase

# Conflicts:
#	pkg/controller/job/job_controller_test.go
2024-07-11 20:54:09 +02:00
Kubernetes Prow Robot
cdcaea687c Merge pull request #125751 from ahg-g/elastic-job
Graduate ElasticIndexedJob to GA
2024-07-11 11:08:24 -07:00
carlory
850bc09e9b clean up codes after PodDisruptionConditions was promoted to GA and locked to default 2024-07-11 10:40:21 +08:00
Maciej Skoczeń
ad59b4026e Increase API server timeout in scheduler_perf tests 2024-07-10 07:34:59 +00:00
Kubernetes Prow Robot
20b216738a Merge pull request #125971 from googs1025/integration_test
chore: use testCtx instead of context.TODO() for scheduler integration
2024-07-09 18:57:06 -07:00
Kubernetes Prow Robot
4a214f6ad9 Merge pull request #125461 from mimowo/pod-disruption-conditions-ga
Graduate PodDisruptionConditions to stable
2024-07-09 11:08:13 -07:00
googs1025
15cc77603e chore: use testCtx instead of context.TODO() 2024-07-09 16:20:03 +08:00
Kubernetes Prow Robot
cf33bef284 Merge pull request #125908 from aojea/race_pforward
fix race on integration test for portforward
2024-07-08 17:25:10 -07:00
Kubernetes Prow Robot
4a48562a81 Merge pull request #125557 from MikeSpreitzer/apf-int-test-tolerate-more-noise
Increase noise margin for TestConcurrencyIsolation
2024-07-08 16:21:34 -07:00
Kubernetes Prow Robot
e48d42d81d Merge pull request #122627 from sanposhiho/remove-AssignedPodUpdated
take PodTopologySpread into consideration when requeueing Pods based on Pod related events
2024-07-08 16:21:11 -07:00
Kubernetes Prow Robot
07cc20a750 Merge pull request #125922 from dims/update_otel_27
Update opentelemetry dependencies to the latest release (Take 2)
2024-07-06 17:31:14 -07:00
Kensei Nakada
533140f065 take PodTopologySpread into consideration when requeueing Pods based on Pod related events 2024-07-06 13:17:14 +00:00
David Ashpole
2180ec8e8f fix tracing integration test
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-07-05 21:23:57 -04:00
Kubernetes Prow Robot
bd1f86a154 Merge pull request #125914 from mimowo/cleanup-job-tests
Cleanup Job tests: align error messages, no TODO ctx, no unused params
2024-07-05 15:13:46 -07:00
Kubernetes Prow Robot
82429a9dda Merge pull request #125873 from benluddy/nonjson-rawextension-writes-test
Add integration test for rejecting non-JSON RawExtensions.
2024-07-05 09:56:49 -07:00
Ben Luddy
d4e146c861 Add integration test for rejecting non-JSON RawExtensions.
The content of a RawExtension isn't constrained on its own, but there is a de facto requirement that
the object in a request body can be converted to unstructured. Currently, a RawExtension can only be
converted to unstructured if its Raw field is nil or if it contains valid JSON.
2024-07-05 11:54:14 -04:00
Michal Wozniak
4250d444f8 Cleanup Job controller tests 2024-07-05 14:59:03 +02:00
Kubernetes Prow Robot
b6899c5e08 Merge pull request #122251 from olderTaoist/unschedulable-plugin
register unschedulable plugin  for those plugins that PreFilter's PreFilterResult filter out some nodes
2024-07-05 05:44:26 -07:00
Antonio Ojea
fa62529e6d fix race on integration test for portforward 2024-07-05 09:06:18 +00:00
Kubernetes Prow Robot
0a59545f4d Merge pull request #125838 from gauravkghildiyal/kep-4444-beta
Promote ServiceTrafficDistribution feature-gate to beta and enable by default. Also add missing integration tests.
2024-07-04 17:20:08 -07:00
Joe Betz
0be8f9ff63 Stop using binaryVersion=0.0 in tests and delete fixtures for kinds no longer served. 2024-07-03 13:52:18 -04:00
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
Gaurav Ghildiyal
386ca0ff4f Add integration test for verifying the enablement and disablement of
feature-gate.
2024-07-01 23:51:59 -07:00
olderTaoist
b478621596 register unscheduable plugin when prefileter with NodeNames 2024-07-02 13:02:45 +08: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