Commit Graph

15 Commits

Author SHA1 Message Date
Tim Allclair
4986abe0b8 Automated refactoring to use SetFeatureGatesDuringTest 2025-10-01 21:10:53 -07:00
Anish Ramasekar
dc3836c49e Remove deprecated encryption config controller metrics
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-06-11 15:31:37 -07:00
Kubernetes Prow Robot
08570c779b Merge pull request #130276 from stlaz/svm_flakes
Fix SVM test flaking because of occasional slow resource storage update
2025-03-20 03:52:31 -07:00
Patrick Ohly
56bd8d86a5 test/integration: use default API groups in test apiserver
The goal is to make the test apiserver behave as much as kube-apiserver as
possible. This ensures that tests are as realistic as possible out-of-the-box.
If a test needs a special setup, then that should be visible in the test
because it passes additional flags or options.

One historic deviation from that goal was enabling all API groups. That
change (from 7185624688) gets reverted and tests
which happened to rely on this get updated.
2025-02-24 10:20:06 +01:00
Stanislav Láznička
a0a226d158 integration: svm: wait for CR to be stored as v2 after CRD v2 switch 2025-02-19 15:50:24 +01:00
Stanislav Láznička
80966ce5c4 integration: svm: use consistent path args pattern in etcd fetch functions
Use function argument order at which the strings would appear
in the etcd path.
2025-02-19 15:22:58 +01:00
Stanislav Láznička
e1557f80a2 integration: svm: use k8s ktesting package for test ctx init 2025-02-19 15:12:51 +01:00
Stanislav Láznička
faf5b3ec76 integration:svm: refactor utils
- remove unused receiver from getETCDPathForResource()
- flatten API discovery loop
2025-02-19 15:10:52 +01: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
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
Nilekh Chaudhari
23a407ce44 fix: fixes update CRD check
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
2024-05-28 11:50:30 -07:00
Marek Siarkowicz
3ee8178768 Cleanup defer from SetFeatureGateDuringTest function call 2024-04-24 20:25:29 +02:00
Monis Khan
f338ab5f95 svm test: wait after updating CRD to avoid flakes
Signed-off-by: Monis Khan <mok@microsoft.com>
2024-04-01 16:15:29 -04:00
Anish Ramasekar
4f1c91b24a Fix for TestStorageVersionMigrationWithCRD integration test failure
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2024-03-18 23:12:50 -07:00
Nilekh Chaudhari
9161302e7f feat: implements svm controller
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
2024-03-08 19:25:10 +00:00