Commit Graph
2382 Commits
Author SHA1 Message Date
kubernetes-prow[bot] b66b54f6c0 Merge pull request #1906 from mattburgess/fix-logging-alpha-options
Fix LoggingAlphaOptions wiring
2026-08-25 11:23:36 +00:00
kubernetes-prow[bot] 5aca81876e Merge pull request #1892 from somaz94/feat/chart-host-users
feat: add opt-in hostUsers to the Helm chart
2026-08-24 18:45:01 +00:00
kubernetes-prow[bot] ef090e93de Merge pull request #1915 from PKNaveen/code-cleanup-EvictionRequests
(Code-cleanup) removed EvictionRequests
2026-08-18 11:53:05 +00:00
somaz bdb6f3e42d feat: add opt-in hostUsers to the Helm chart 2026-08-13 10:34:58 +09:00
kubernetes-prow[bot] 4233637de9 Merge pull request #1890 from somaz94/feat/chart-scheduler-runtime-class
feat: add opt-in schedulerName and runtimeClassName to the Helm chart
2026-08-11 12:07:14 +00:00
PKNaveen 6fe697934e removed EvictionRequests 2026-08-11 11:19:34 +00:00
kubernetes-prow[bot] ad19067697 Merge pull request #1913 from a7i/centralize-kubevirt-version
refactor(e2e): centralize kubevirt version from go.mod
2026-08-10 15:46:09 +00:00
Amir Alavi 73bcc99a5e refactor(e2e): centralize kubevirt version from go.mod
Derive KUBEVIRT_VERSION in run-e2e-tests.sh from go.mod and pass it to
e2e tests via --kubevirt-version-tag so container disk images stay in sync.
2026-08-10 10:13:12 -04:00
kubernetes-prow[bot] 82b96a392e Merge pull request #1910 from PKNaveen/myfeature
Updated Kubivert to latest v1.9.0
2026-08-10 14:12:10 +00:00
Amir Alavi 5c3469c3ff Bump kubevirt dependencies to v1.9.0
Bump KubeVirt dependencies to v1.9.0 in go.mod, go.sum, and vendor/.
Disable ImageVolume in e2e KubeVirt setup on k8s 1.34 only.

Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2026-08-10 09:32:41 -04:00
kubernetes-prow[bot] 9d09c0d65f Merge pull request #1908 from sammedsingalkar09/master
security: bump grpc and cel-go to fix vulnerabilities
2026-08-09 19:40:00 +00:00
sammedsingalkar09 0b2a396ac1 fix vuln 2026-08-09 13:11:37 -04:00
kubernetes-prow[bot] e08a32dfa8 Merge pull request #1911 from a7i/fix-e2e-lownodeutilization-metrics-timeout
fix(e2e): resolve LowNodeUtilization metrics timeout, test isolation, and runner resource exhaustion
2026-08-09 17:08:00 +00:00
Amir Alavi b5a214909c Fix e2e test descheduler deployment cleanup and KubeVirt live migration wait 2026-08-09 12:35:43 -04:00
Amir Alavi ec736d7140 fix(e2e): harden test suite isolation, resource usage, and leader election timing
- Isolate TestLiveMigrationInBackground into dedicated e2e-livemigration namespace with t.Cleanup teardown.
- Switch VMI containerdisk image from fedora (1.2GB, 512MB RAM) to cirros-container-disk-demo (12MB, 128MB RAM), reducing Kind memory pressure by 75%.
- Filter pod list API calls with LabelSelector=kubevirt.io=virt-launcher to reduce API server serialization load.
- Override --descheduling-interval to 3s in startDeschedulerServer (e2e_leaderelection_test.go) so leader descheduler re-evaluates pod lifetime periodically.
- Exclude context cancellation/deadline from isClientRateLimiterError in e2e_test.go so context deadlines are not swallowed.
- Add t.Cleanup and IsAlreadyExists handling to prevent leftover resources from causing cascading failures.

Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2026-08-09 11:18:09 -04:00
Amir Alavi 51ecda87fb fix(e2e): update CPU threshold, timeout, and metrics-server readiness for LowNodeUtilization
- Wait for deployment/metrics-server to be Available before running e2e tests in run-e2e-tests.sh.
- Replace infinite context cancellation polling with a 60s timeout in e2e_lownodeutilization_test.go to prevent 40m CI hangs.
- Set Thresholds.CPU to 20% and TargetThresholds.CPU to 40% for reliable single-pass overutilization detection.
- Add IsAlreadyExists and t.Cleanup handling for descheduler policy ConfigMap lifecycle.

Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2026-08-09 11:18:09 -04:00
Matt Burgess 39a2b0c685 gen docs 2026-07-30 18:45:17 +01:00
Matt Burgess 3691abd9ac Fix LoggingAlphaOptions wiring
Using --feature-gates=LoggingAlphaOptions=true resulted in the
descheduler not starting due to the feature gate not being recognised.
2026-07-29 21:39:35 +01:00
somaz 0614367253 feat: add opt-in schedulerName and runtimeClassName to the Helm chart 2026-07-02 16:06:02 +09:00
kubernetes-prow[bot] 7d2b28bf2b Merge pull request #1885 from somaz94/feat/chart-pod-disruption-budget
feat: add opt-in PodDisruptionBudget to the Helm chart
2026-06-30 02:56:08 +00:00
kubernetes-prow[bot] cf2e95cb60 Merge pull request #1889 from sammedsingalkar09/master
deps: bump golang.org/x/net and x/crypto for security fixes
2026-06-29 09:42:09 +00:00
kubernetes-prow[bot] ea957b271b Merge pull request #1888 from yugstar/fix-1887-rbac-remove-pods-delete
Remove unnecessary pods delete permission from ClusterRole
2026-06-27 11:07:02 +00:00
sammedsingalkar09 bb14e73150 security vuln 2026-06-27 14:01:00 +05:30
Aman Raj 341aba2723 Remove unnecessary pods delete permission from ClusterRole
The descheduler ClusterRole granted both pods:delete and
pods/eviction:create. Eviction goes through the eviction subresource
(PolicyV1().Evictions().Evict, requiring pods/eviction:create), and there
are no direct pod Delete calls anywhere in the codebase, so the
pods:delete verb is unused. Drop it to follow least privilege.

Signed-off-by: Aman Raj <aman.yug@gmail.com>
2026-06-27 02:26:45 +05:30
somaz 607b578980 feat: add opt-in PodDisruptionBudget to the Helm chart 2026-06-23 11:02:19 +09:00
Kubernetes Prow Robot 86183b15a2 Merge pull request #1880 from tiraboschi/fix_eviction_metric
fix: emit eviction metrics for background evictions that never get deleted
2026-06-08 15:43:47 +05:30
Simone Tiraboschi 81fb28c18c fix: emit eviction metrics for background evictions that never get deleted
Pods evicted in background may stay in Succeeded/Failed phase forever
without being garbage-collected, so the metric was silently dropped.
Similarly, entries whose background eviction timed out in cleanCache
were expired without recording an outcome.

- UpdateFunc: emit "success"/"error" metric when a pod transitions to
  PodSucceeded/PodFailed respectively, matching the label convention
  used elsewhere in the file
- cleanCache: add onAssumedTimeout callback on evictionRequestsCache,
  wired in NewPodEvictor to emit "error" for entries that exceed the
  assumed-eviction timeout
- Add TestEvictionInBackgroundMetrics_PodCompleted and
  TestEvictionInBackgroundMetrics_AssumedTimeout to cover both paths

Signed-off-by: Simone Tiraboschi <stirabos@redhat.com>
2026-06-03 19:08:15 +02:00
Kubernetes Prow Robot 3588dacd57 Merge pull request #1879 from a7i/descheduler-v0.36.0-helm
[descheduler v0.36.0] update helm chart
descheduler-helm-chart-0.36.0
2026-05-20 17:15:48 +05:30
Kubernetes Prow Robot 9cba672e8f Merge pull request #1876 from a7i/copilot-ignore-vendor-master
chore(copilot): ignore vendor directory
2026-05-20 02:53:46 +05:30
Amir Alavi 5ac9278456 [descheduler v0.36.0] update helm chart 2026-05-19 16:43:16 -04:00
Kubernetes Prow Robot 8005cdf783 Merge pull request #1874 from a7i/descheduler-v0.36.0
[v0.36.0] release prep: bump k8s/go deps, manifests, docs, and CI matrix
v0.36.0
2026-05-20 01:49:54 +05:30
Amir Alavi 745146e411 ci(e2e): bump KubeVirt to v1.9.0-alpha.0 for k8s 1.36 compatibility
KubeVirt v1.8.2 publishes VMI status checksum fields (uint32 in Go) as
format: int32 in its generated CRD schema. k8s 1.36 enables strict
numeric format validation in CRDs via
https://github.com/kubernetes/kubernetes/pull/136582, which now rejects
the legacy schema and causes virt-handler to enter an infinite VMI
status update re-enqueue loop. Live migrations never complete and the
descheduler e2e TestLiveMigrationInBackground times out.

The schema fix landed upstream in
https://github.com/kubevirt/kubevirt/pull/17469 (merged to main on
2026-04-18, included in v1.9.0-alpha.0 tagged 2026-05-11) but was not
backported to release-1.8, so no v1.8.x release contains it. Bump the
default KUBEVIRT_VERSION to v1.9.0-alpha.0 so the e2e suite consumes a
release whose generated CRDs are compatible with k8s 1.36's stricter
validator.

Tracked in https://github.com/kubevirt/kubevirt/issues/17858.
2026-05-19 15:06:11 -04:00
Amir Alavi 2119baee3d revert: ensureVMIsLiveMigratable retry helper
Reverts b767b9c0f. The helper was added to work around what looked like
the virt-handler containerdisk-socket race on k8s 1.36, but the actual
root cause is unrelated: k8s 1.36's stricter CRD numeric format
validation (kubernetes/kubernetes#136582) rejects VMI status updates
with the pre-fix uint32 Checksum schema. See
https://github.com/kubevirt/kubevirt/issues/17858 for the upstream
context and kubevirt/kubevirt#17469 for the upstream fix (merged to
main, included in v1.9.0-alpha.0, not in v1.8.x).

The follow-up commit bumps KUBEVIRT_VERSION so the test consumes a
KubeVirt release that contains the fix, which removes the need for any
test-side retry.
2026-05-19 15:05:04 -04:00
Amir Alavi b767b9c0f7 test(e2e): wait for VMIs to be LiveMigratable, recreate on race
Adds ensureVMIsLiveMigratable in TestLiveMigrationInBackground. After
the existing wait for virt-launcher pods to reach Running, poll each
VMI for the LiveMigratable=True condition. If a VMI fails to become
migratable within 120s, delete and recreate it (up to 3 attempts).

This works around an upstream KubeVirt race where virt-handler computes
the containerdisk checksum before the disk socket is ready, fails, and
never retries. The recreated VMI lands on a node that has already
cached the containerdisk image, so the socket comes up before
virt-handler's first attempt.

The race surfaces consistently with the kind v1.36.1 node image,
causing TestLiveMigrationInBackground to fail with "Expected at least
3 finished live migrations, got less: 0".
2026-05-19 09:16:51 -04:00
Amir Alavi 03f7dc5889 Bump KubeVirt dependencies to v1.8.2 and migrate to new client package
- Update kubevirt.io/api from v1.3.0 to v1.8.2
- Update kubevirt.io/client-go from v1.3.0 to v1.8.2
- Update kubevirt.io/containerized-data-importer-api from v1.57.0-alpha1 to v1.64.0
- Migrate e2e test from deprecated generated clientset path
  (kubevirt.io/client-go/generated/kubevirt/clientset/versioned)
  to new kubevirt.io/client-go/kubevirt client package
- Update vendor and dependencies for Kubernetes 1.36 compatibility
2026-05-18 22:39:53 -04:00
Amir Alavi dfc3166787 test(e2e): harden kind install and align lint tooling 2026-05-18 12:15:31 -04:00
Amir Alavi 0883de763b ci(manifests): build kind node image for k8s v1.36.1 2026-05-18 12:15:31 -04:00
Amir Alavi 3f8f9bb74e [v0.36.0] release prep: bump k8s/go deps, manifests, docs, and CI matrix 2026-05-18 12:15:30 -04:00
Jan Chaloupka d6720f509c Merge pull request #1878 from ingvagabund/setupTestSandbox-fix
fix(test/setupTestSandbox): wait until initial objects are propagated to informers
2026-05-18 17:18:47 +02:00
Jan Chaloupka 66918dc553 fix(test/setupTestSandbox): wait until initial objects are propagated to informers 2026-05-18 16:46:24 +02:00
Linus Fankhauser 6b5f6b450c chore(defaultevictor): add matchlabels compatibility to the namespaceselector (#1853) 2026-05-18 16:45:53 +05:30
Kubernetes Prow Robot 3ea8051e1e Merge pull request #1873 from tiraboschi/fix_background_eviction_metric_race
evictions: fix assumePod silently dropping success metric on informer race
2026-05-17 18:53:03 +05:30
Amir Alavi 5fd4c1ea00 chore(copilot): ignore vendor directory 2026-05-16 21:59:11 -04:00
Kubernetes Prow Robot 57105044ad Merge pull request #1875 from a7i/pin-github-actions-sha
ci: pin GitHub Actions to immutable SHAs
2026-05-16 18:34:32 +05:30
Amir Alavi b5a7c076f3 ci: pin GitHub Actions to commit SHAs 2026-05-15 22:24:20 -04:00
Simone Tiraboschi a7ac072c7d evictions: fix assumePod silently dropping success metric on informer race
When KubeVirt sets EvictionInProgressAnnotationKey before returning
TooManyRequests, the informer's UpdateFunc can call addPod
(evictionAssumed=false) before evictPod's assumePod call arrives.
assumePod found the entry already present and returned early, leaving
evictionAssumed=false. DeleteFunc then skipped the "success" metric.

Fix: if the existing entry has evictionAssumed=false (added by addPod),
upgrade it in place without double-counting the pod in the counters.

Adds TestEvictionInBackgroundMetrics_InformerRace to reproduce the race
deterministically.

Signed-off-by: Simone Tiraboschi <stirabos@redhat.com>
2026-05-14 17:23:18 +02:00
Kubernetes Prow Robot c00d88f9ed Merge pull request #1837 from a7i/feat/servicemonitor-apiversion-1824
chart: allow overriding ServiceMonitor apiVersion
2026-05-11 17:45:51 +05:30
Kubernetes Prow Robot 290d7f3dfb Merge pull request #1871 from Paramesh324/bump-gcb-docker-gcloud_issue_38936
cloudbuild: pin gcb-docker-gcloud image by digest
2026-05-11 14:15:48 +05:30
Parameshwaran Krishnasamy fab0f2ab70 Replace the GC'd tag v20211118-2f2d816b90 with digest pinning and a
tag comment (v20260205-38cfa9523f) so Cloud Build keeps working after
staging registry retention.
Related: kubernetes/kubernetes#138936

Signed-off-by: Parameshwaran Krishnasamy <Parameshwaran.K@ibm.com>
2026-05-10 12:25:34 +05:30
Kubernetes Prow Robot ddadd33ab2 Merge pull request #1868 from ingvagabund/pin-gh-actions-to-sha
fix(.github/workflows/manifests.yaml): pin actions to a sha
2026-05-06 20:20:26 +05:30