Commit Graph

25656 Commits

Author SHA1 Message Date
carlory
deb9fc97d3 vac add e2e test 2024-07-21 00:48:51 +08:00
Kubernetes Prow Robot
892acaa6a7 Merge pull request #126107 from enj/enj/i/svm_not_found_err
svm: set UID and RV on SSA patch to cause conflict on logical create
2024-07-20 08:18:01 -07:00
Kubernetes Prow Robot
f2f7708375 Merge pull request #126244 from googs1025/informer
chore(servicecidr): use WaitForCacheSync after sharedInformerFactory Start in integration test
2024-07-20 03:11:39 -07:00
googs1025
bc514ff68b chore: remove t.Fatal typo 2024-07-20 16:19:47 +08:00
googs1025
a6ee8599f1 chore: use WaitForCacheSync method after sharedInformerFactory Start 2024-07-20 16:17:57 +08:00
Kubernetes Prow Robot
8f265b6305 Merge pull request #126136 from cici37/removeFG
Remove feature gate CustomResourceValidationExpressions
2024-07-20 00:08:52 -07:00
cici37
1e5062c5d4 Auto update 2024-07-19 22:26:40 +00:00
Jordan Liggitt
5f22dd7c1a Add integration test exercising webhook selector authz 2024-07-19 15:06:52 -04:00
Jordan Liggitt
83bd512861 Adjust CEL cost calculation and versioning for authorization library 2024-07-19 15:06:49 -04:00
Gunju Kim
45a243e102 Add node serial e2e tests that simulate the kubelet restart
This adds node e2e tests to make sure a completed init container is not
restarted due to the kubelet restart.
2024-07-19 21:18:34 +09:00
cpanato
9d5a7ff859 Bump images, dependencies and versions to go 1.23rc2
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-07-19 11:33:28 +02:00
cpanato
5c269fecf8 Bump images, dependencies and versions to go 1.23rc1
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-07-19 11:33:24 +02:00
Kubernetes Prow Robot
f2428d66cc Merge pull request #125163 from pohly/dra-kubelet-api-version-independent-no-rest-proxy
DRA: make kubelet independent of the resource.k8s.io API version
2024-07-18 17:47:48 -07:00
Patrick Ohly
7701a48bd6 dra kubelet: bump gRPC API to v1alpha4
The previous changes are an API break, therefore we need a new version.
2024-07-18 23:30:09 +02:00
Patrick Ohly
ee3205804b dra e2e: demonstrate how to use RBAC + VAP for a kubelet plugin
In reality, the kubelet plugin of a DRA driver is meant to be deployed as a
daemonset with a service account that limits its
permissions. https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/#additional-metadata-in-pod-bound-tokens
ensures that the node name is bound to the pod, which then can be used
in a validating admission policy (VAP) to ensure that the operations are
limited to the node.

In E2E testing, we emulate that via impersonation. This ensures that the plugin
does not accidentally depend on additional permissions.
2024-07-18 23:30:09 +02:00
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
f82030111f Merge pull request #126198 from aojea/flaku_lb
e2e: fix flake on loadbalancer tests
2024-07-18 13:41:45 -07:00
Kubernetes Prow Robot
c4bd05df1c Merge pull request #126181 from bitoku/refactor-kubeletseparatediskgc
[sig-testing] refactor KubeletSeparateDiskGC nodefeature
2024-07-18 10:39:25 -07:00
Kubernetes Prow Robot
601eb7e9cf Merge pull request #122922 from marosset/windows-memory-eviction
Add support for Windows memory-pressure eviction
2024-07-18 10:39:06 -07:00
Kubernetes Prow Robot
3adafc6a50 Merge pull request #126194 from mimowo/job-e2e-tests-cleanup
Format helper scripts in Job e2e tests as multiline for readability
2024-07-18 09:33:39 -07:00
Kubernetes Prow Robot
dda657b598 Merge pull request #126191 from p0lyn0mial/upstream-revert-promote-watch-list-to-beta
Revert "Promote WatchList feature to Beta"
2024-07-18 07:39:28 -07:00
Daman Arora
6adac3bce1 Revert "dump not network information on e2e failures"
This reverts commit 9239e44950.
2024-07-18 19:56:05 +05:30
Daman Arora
4ea7be8fa6 Revert "e2e/network: dump iptables and conntrack flows for debugging"
This reverts commit 3f2deb51ad.
2024-07-18 19:53:41 +05:30
Daman Arora
f6676a2c0e Revert "agnhost/netexec: log hostname"
This reverts commit 90561cb9d9.
2024-07-18 19:52:14 +05:30
Antonio Ojea
fdbe6912d2 e2e: fix flake on loadbalancer tests
validating that one endpoint is reachable from one part of the cluster
is not enough condition to consider it will be reachable from any node,
as different Services proxies on different nodes will have different
propagation delays for the EndpointSlices and Services information.
2024-07-18 12:54:54 +00:00
Kubernetes Prow Robot
a491ea7af4 Merge pull request #126092 from pacoxu/fix-node-lease
fix node lease e2e flakes
2024-07-18 02:44:43 -07:00
Michal Wozniak
2d680054c1 Format helper scripts in Job e2e tests as multiline for readability 2024-07-18 11:05:36 +02:00
Ayato Tokubi
662ed5a42d refactor nodefeature
Signed-off-by: Ayato Tokubi <atokubi@redhat.com>
2024-07-18 08:45:52 +00: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
Lukasz Szaszkiewicz
367401cd85 Revert "e2e/apimachinery/watchlist: always run WatchList e2e tests"
This reverts commit be00cded2d.
2024-07-18 09:29:46 +02:00
Patrick Ohly
348f94ab55 DRA: read ResourceClaim in DRA drivers
This is the second and final step towards making kubelet independent of the
resource.k8s.io API versioning because it now doesn't need to copy structs
defined by that API from the driver to the API server.
2024-07-18 09:09:20 +02:00
Patrick Ohly
616a014347 DRA: move ResourceSlice publishing into DRA drivers
This is a first step towards making kubelet independent of the resource.k8s.io
API versioning because it now doesn't need to copy structs defined by that API
from the driver to the API server. The next step is removing the other
direction (reading ResourceClaim status and passing the resource handle to
drivers).

The drivers must get deployed so that they have their own connection to the API
server. Securing at least the writes via a validating admission policy should
be possible.

As before, the kubelet removes all ResourceSlices for its node at startup, then
DRA drivers recreate them if (and only if) they start up again. This ensures
that there are no orphaned ResourceSlices when a driver gets removed while the
kubelet was down.

While at it, logging gets cleaned up and updated to use structured, contextual
logging as much as possible. gRPC requests and streams now use a shared,
per-process request ID and streams also get logged.
2024-07-18 09:09:19 +02: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
Patrick Ohly
3d4bc44a2f dra e2e node: addd test case for ResourceSlice handling during kubelet startup
Any redundant object must get deleted, but not the ones of other names.
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
b68a58d372 Merge pull request #126141 from Nordix/esotsal/fix-126135
test/e2e_node:  Fix pod_resize tests in CI
2024-07-17 16:29:25 -07:00
Mark Rossetti
3683010a7c Adding e2e test to validate memory-pressure eviction on Windows
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2024-07-17 15:11:30 -07: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
ef2cb782be Merge pull request #126172 from haircommander/proc-mount-loosten-test
e2e_node: loosen proc mount test
2024-07-17 13:10:09 -07:00
Kubernetes Prow Robot
6aa300c48b Merge pull request #125482 from mimowo/failure-policy-e2e-conformance
Promote JobPodFailurePolicy and PodDisruptionConditions e2e tests to Conformance
2024-07-17 13:09:37 -07:00
Peter Hunt
3d8cb4fa89 e2e_node: loosen proc mount test
the exact number of lines/ro lines is not important, just that there are more than 0 ro lines
and more than 1 line total.

this helps accomodate different architectures that implement different kernel APIs

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2024-07-17 13:26:23 -04:00
Michal Wozniak
25d938b481 Promote JobPodFailurePolicy and PodDisruptionConditions e2e tests to Conformance 2024-07-17 18:13:08 +02:00
Hemant Kumar
68df11f4f8 Use context of polling function for API calls in e2e 2024-07-17 10:59:55 -04:00
Hemant Kumar
2115c3e7d8 Fix e2e test with new resizer 2024-07-17 10:43:36 -04:00
Maciej Szulik
ce01dfc492 Cleanup unused test functions - cont-ed
Following up the work started in 0c0bd6d this is further cleaning up the
test/utils directory getting rid of unused functions.
2024-07-17 16:22:11 +02:00
Kubernetes Prow Robot
ad72be434d Merge pull request #125417 from bitoku/splitfs
KEP-4191: Split Image Filesystem add end-to-end tests
2024-07-16 23:27:06 -07:00
Sotiris Salloumis
3a01281d2f test/e2e_node: pod_resize tests
add NodeAlphaFeature label, as the feature is in alpha to be skipped in CI
add missing Arm64 check
2024-07-17 07:55:44 +02: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
Kubernetes Prow Robot
a00c834ebf Merge pull request #123303 from haircommander/proc-mount-e2e-tests
KEP-4265: add e2e tests for ProcMountType
2024-07-16 19:37:05 -07:00
Peter Hunt
a20a8225cf e2e_node: skip proc mount tests on nodes without userns support in the runtime
Signed-off-by: Peter Hunt <pehunt@redhat.com>
Co-authored-by: Sohan Kunkerkar <sohank2602@gmail.com>
2024-07-16 17:46:23 -04:00