Commit Graph
728 Commits
Author SHA1 Message Date
Jan Chaloupka 07dc0c61c5 refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 16:33:28 +01:00
Jan Chaloupka cab310e55c refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 16:32:54 +01:00
Jan Chaloupka 822a1d4c40 refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 16:32:30 +01:00
Jan Chaloupka 1d7368b58d refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 16:32:05 +01:00
Jan Chaloupka 70a71f54bc refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 16:31:31 +01:00
Jan Chaloupka 3ea0eadcb3 refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 16:31:25 +01:00
Jan Chaloupka 41a0a9c994 refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 16:30:30 +01:00
Jan Chaloupka c707f53cec refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 16:28:20 +01:00
Jan Chaloupka 9be42e50cc refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 15:55:12 +01:00
Jan Chaloupka bed39d70f0 refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 15:54:04 +01:00
Jan Chaloupka 8a0fd10315 refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 15:53:19 +01:00
Jan Chaloupka 5e6cd6057b refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 15:52:24 +01:00
Jan Chaloupka b857869371 refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 15:47:08 +01:00
Jan Chaloupka 3e764eb564 refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 15:45:53 +01:00
Jan Chaloupka 2648749eb8 refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 15:45:10 +01:00
Jan Chaloupka ff43002060 refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates 2025-12-10 15:43:07 +01:00
Jan Chaloupka 4f42a7ae9b refactor(TestPodLifeTime): consolidate defaults when building a test pod with RS owner reference 2025-12-10 15:34:48 +01:00
Jan Chaloupka 7d84b68556 refactor(TestPodLifeTime): consolidate defaults when building a test pod 2025-12-10 15:29:12 +01:00
Jan Chaloupka 5b4719634c refactor(TestPodLifeTime): the default pod namespace will work the same way as the 'dev' one 2025-12-10 15:29:03 +01:00
Jan Chaloupka 94a0fbdcbb refactor(TestPodLifeTime): inline node creation in each unit test to avoid accidental node spec updates 2025-12-10 15:28:57 +01:00
Jan Chaloupka bbc3eef1c9 refactor(TestPodLifeTime): replace test.GetReplicaSetOwnerRefList with test.SetRSOwnerRef
To make the assigment shorter and unified
2025-12-10 15:28:51 +01:00
Jan Chaloupka 3a3e72e9c2 refactor(TestPodLifeTime): consolidate all owner references
test.GetReplicaSetOwnerRefList produces the same value everything it's
invoked.
2025-12-10 15:28:45 +01:00
Jan Chaloupka 16b9311e9e refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:13:23 +01:00
Jan Chaloupka 1a61470e81 refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:13:14 +01:00
Jan Chaloupka c02779b6a5 refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:13:09 +01:00
Jan Chaloupka ff6363692c refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:13:04 +01:00
Jan Chaloupka 34540c3c95 refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:13:00 +01:00
Jan Chaloupka ee40f7ff30 refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:12:55 +01:00
Jan Chaloupka cece2ee3cc refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:12:50 +01:00
Jan Chaloupka fbdf86fdfd refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:12:39 +01:00
Jan Chaloupka 7bfd4088ce refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:12:05 +01:00
Jan Chaloupka 18f61b5e64 refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:11:12 +01:00
Jan Chaloupka 769b4fe34a refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:11:07 +01:00
Jan Chaloupka 6ffc7e3975 refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:11:03 +01:00
Jan Chaloupka 31af0d8223 refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:10:59 +01:00
Jan Chaloupka 0c80f3689d refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:10:53 +01:00
Jan Chaloupka 9722018847 refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits 2025-12-10 14:10:48 +01:00
Jan Chaloupka 47cfdf7057 refactor(TestPodLifeTime): remove ineffective owner references assignments
Pods p5 and p6 already have an owner assigned. Also,
test.GetReplicaSetOwnerRefList() produces the same list of owner references.
2025-12-10 14:08:06 +01:00
Kubernetes Prow Robot db6d460677 Merge pull request #1764 from abelfodil/master
Fix "Current requires cgo or $USER set in environment" error
2025-11-15 00:25:38 -08:00
Anes Belfodil 237d9c1a7b fix: provide USER env var to correctly initialize tracing
This is done to prevent "Current requires cgo or $USER set in environment" error during
tracing initialization.
2025-11-15 01:40:08 -05:00
Amir Alavi 06cab8e2aa fix: pod resource calculation to consider native sidecars
previously, descheduler code had copied an old version of PodRequestsAndLimits which does not consider native sidecars
it will now rely on resourcehelper libs, which will continue to get upstream updates

Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2025-11-01 10:48:00 -04:00
Ricardo Maraschini d9d6ca64e9 feat: enable pod protection based on storage classes
this commit introduces a new customization on the existing PodsWithPVC
protection. this new customization allow users to make pods that refer
to a given storage class unevictable.

for example, to protect pods referring to `storage-class-0` and
`storage-class-1` this configuration can be used:

```yaml
apiVersion: "descheduler/v1alpha2"
kind: "DeschedulerPolicy"
profiles:
- name: ProfileName
  pluginConfig:
  - name: "DefaultEvictor"
    args:
      podProtections:
        extraEnabled:
        - PodsWithPVC
        config:
          PodsWithPVC:
            protectedStorageClasses:
            - name: storage-class-0
            - name: storage-class-1
```

changes introduced by this pr:

1. the descheduler starts to observe persistent volume claims.
1. a new api field was introduced to allow per pod protection config.
1. rbac had to be adjusted (+persistentvolumeclaims).
2025-10-29 11:21:10 +01:00
Amir Alavi 1db6b615d1 [v0.34.0] bump to kubernetes 1.34 deps
Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2025-10-21 09:14:13 -04:00
Simone Tiraboschi 3a608a590a feat(eviction): add annotations to eviction requests for observability
Although eviction requests (policy/v1) are not persisted long term,
their API still implements the full metav1.ObjectMeta struct. While
name and namespace refer to the pod being evicted, eviction requests
can still carry annotations.

This change adds annotations to descheduler-initiated evictions,
including the requester, reason, and the strategy or plugin that
triggered them.

While these details are already logged by the descheduler, exposing them
as annotations allows external webhooks or controllers to provide
clearer context about each eviction request, both for tracking and
prioritization purposes.

Signed-off-by: Simone Tiraboschi <stirabos@redhat.com>
2025-10-13 12:49:03 +02:00
S J Tharun 7d6f6fedec fix gofmt error 2025-10-13 08:29:27 +05:30
S J Tharun 3033aec6a0 descheduler: handle single-node clusters gracefully 2025-10-11 07:53:41 +05:30
Emin Aktas d47e077897 fix: correct comment for HaveNoEvictionAnnotation 2025-09-20 12:53:56 +03:00
googs1025 257bd55909 standardize protectionEnabled param 2025-08-19 17:52:54 +08:00
Kubernetes Prow Robot 63ecaec0ef Merge pull request #1729 from googs1025/validate/improve
Improves the validation logic in the plugins
2025-08-15 03:31:07 -07:00
Kubernetes Prow Robot e5c57a759b Merge pull request #1603 from googs1025/feature/add_dra_arg
feature: add PodsWithResourceClaims parameter in DefaultEvictorArgs PodProtections
2025-08-13 06:57:10 -07:00