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
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
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
googs1025
9c7e01de67
feature: add PodsWithResourceClaims parameter in DefaultEvictorArgs PodProtections
...
Signed-off-by: googs1025 <googs1025@gmail.com >
2025-08-13 20:35:36 +08:00
googs1025
e5ea03ce75
add ValidateHighNodeUtilizationPluginConfig unit test
...
Signed-off-by: googs1025 <googs1025@gmail.com >
2025-08-13 17:15:21 +08:00
googs1025
2cce141feb
Improves the validation logic in the plugins
...
Signed-off-by: googs1025 <googs1025@gmail.com >
2025-08-07 17:21:01 +08:00
googs1025
d9697591d5
add EvictionProtection filed for DefaultEvictorArgs
...
Signed-off-by: googs1025 <googs1025@gmail.com >
2025-08-04 19:34:16 +08:00
Jan Chaloupka
7380aa6e0a
DefaultEvictor: introduce no-eviction policy
...
NoEvictionPolicy dictates whether a no-eviction policy is prefered or mandatory.
Needs to be used with caution as this will give users ability to protect their pods
from eviction. Which might work against enfored policies. E.g. plugins evicting pods
violating security policies.
2025-07-24 15:47:05 +02:00
Jan Chaloupka
6e9d8891c5
defaultevictor_test.go: replace descheduler.alpha.kubernetes.io/evict literal with evictPodAnnotationKey const
2025-07-24 12:48:00 +02:00
Jan Chaloupka
5cc9e68127
Drop assignment if default test values
2025-07-24 12:04:07 +02:00
Amir Alavi
eadfe4a546
fix: topologyspreadconstraint plugin to not add PodNodeAffinity unless the inclusion policy is honor
2025-07-10 17:42:57 -04:00
Amir Alavi
fbf11df729
fix: topologyspreadconstraint to prefer evictable before sorting domains
...
Sort pods that are above ideal avg based on the criteria that they fit on other nodes that are below avg
Signed-off-by: Amir Alavi <amiralavi7@gmail.com >
2025-07-10 17:42:12 -04:00
Ricardo Maraschini
6e714a2134
chore: stop with no-op default evictor settings
...
we have been carrying these no-op for quite a while now. we should only
set defaults when they are different from what they are being provided
by the user.
2025-07-07 15:31:49 +02:00
Jan Chaloupka
89eab59d82
logger: Align with the previous logger verbosity
2025-06-25 09:27:57 +02:00
Kubernetes Prow Robot
ace001c618
Merge pull request #1655 from googs1025/feature/contextual_logging
...
feature: use contextal logging for plugins
2025-06-25 00:16:29 -07:00
googs1025
33894afe2b
feature: use contextal logging for plugins
...
Signed-off-by: googs1025 <googs1025@gmail.com >
2025-06-13 19:45:55 +08:00