Commit Graph
153 Commits
Author SHA1 Message Date
Emin Aktas f8e128d862 refactor: replace k8s.io/utils/pointer with k8s.io/utils/ptr
Signed-off-by: Emin Aktas <eminaktas34@gmail.com>
2024-07-11 11:36:34 +03:00
Amir Alavi e26f6429a2 feat: pod evictor options 2024-07-05 21:40:55 -04:00
Jan Chaloupka 287d1b1573 test: generate uid when building a pod
UID is an integral part of every pod.
Even though we don't test for UID in any of the existing test cases,
future test cases might rely on it.
2024-07-02 14:30:42 +02:00
Jan Chaloupka 0901cb18bf NewPodEvictor: drop nodes parameter 2024-06-22 15:08:00 +02:00
googs1025 9fea59821f refactor e2e test 2024-06-18 22:48:53 +08:00
Amir Alavi fca4a0970f [release 1.30] upgrade kubernetes version and docs
Signed-off-by: Amir Alavi <amir.alavi@zendesk.com>
2024-05-14 14:17:34 -04:00
Gabriel TiossiandGitHub 82559025b1 Allow eviction of DaemonSet pods (#1342)
* feat: evictDaemonSetPods flag for evictors

* test: evictDaemonSetPods unit and e2e

* docs: evictDaemonSetPods
2024-04-09 07:47:34 -07:00
Amir AlaviandAmir Alavi 37df42df7c skip eviction when replica count is below evictor minReplicas threshold setting
Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2024-03-13 09:29:27 -04:00
Niki ManoledakiandGitHub 749e81c51c Check whether pod matches the inter-pod anti-affinity of another Pod in a given Node in NodeFit() (#1356)
* Check if Pod matches inter-pod anti-affinity of other pod on node as part of NodeFit()

* Add unit tests for checking inter-pod anti-affinity match in NodeFit()
* Export setPodAntiAffinity() helper func to test utils

* Add docs for inter-pod anti-affinity in README

* Refactor logic for inter-pod anti-affinity to use in multiple pkgs
* Move logic for finding match between pods with antiaffinity out of framework to reuse in other pkgs
* Move interpod antiaffinity funcs to pkg/utils/predicates.go

* Add unit tests for inter-pod anti-affinity check
* Test logic in GroupByNodeName
* Test NodeFit() case where pods matches inter-pod anti-affinity
* Test for inter-pod anti-affinity pods  match terms, have label selector

* NodeFit inter-pod anti-affinity check returns early if affinity spec not set
2024-03-12 19:50:03 -07:00
Amir Alavi e5e931d333 kubernetes 1.29: update deps and go-version
Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2023-12-20 23:15:07 -05:00
Amir Alavi bf2bd73f64 topologyspreadconstraint: refactor to match scheduler's struct and initialization
Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2023-10-30 09:16:14 -04:00
Amir Alavi 704a82bcf4 topologyspreadconstraint: support matchLabelKeys
Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2023-10-30 09:16:14 -04:00
99246cd254 topologySpreadConstraints: handle nodeTaintsPolicy and nodeAffinityPolicy constraints (#1218)
* Add handling for node eligibility

* Make tests buildable

* Update topologyspreadconstraint.go

* Updated test cases failing

* squashed changes for test case addition

corrected function name

refactored duplicate TopoContraint check logic

Added more test cases for testing node eligibility scenario

Added 5 test cases for testing scenarios related to node eligibility

* topologySpreadConstraints e2e: `nodeTaintsPolicy` and `nodeAffinityPolicy` constraints

---------

Co-authored-by: Marc Power <marcpow@microsoft.com>
Co-authored-by: nitindagar0 <81955199+nitindagar0@users.noreply.github.com>
2023-08-24 08:32:21 -07:00
Amir AlaviandGitHub 78c9ae851c upgrade kind to v0.20.0 2023-08-21 10:04:31 -04:00
JaneLiuL 81aa897c48 Bump Kubernetes dependencies to v1.28.0 2023-08-17 15:59:15 +08:00
Amir Alavi 7f2f6f2b16 removepodsviolatingtopologyspreadconstraint: implement explicit constraints 2023-06-16 08:20:26 -04:00
Amir Alavi 6271d51125 update pause image from 'kubernetes/pause' to 'registry.k8s.io/pause' 2023-06-07 23:32:31 -04:00
Ratnopam Chakrabarti 2c525afc76 Use dl.k8s.io instead of kubernetes-release bucket 2023-05-11 15:30:26 +00:00
Mike Dame d9316d1872 Add json tags to internal fields and basic config test 2023-04-24 12:54:43 +00:00
Amir AlaviandGitHub ac2b727fe3 bump to k8s 1.27 (#1115)
* bump to k8s 1.27

Signed-off-by: Amir Alavi <amiralavi7@gmail.com>

* bump go version to 1.20.3

* bump k8s version and kine for e2e

---------

Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2023-04-12 07:08:32 -07:00
Jan Chaloupka 757661110a Move framework types under framework/types 2023-03-23 19:00:55 +01:00
Amir Alavi 46e43a07bf support client connection configuration to provide QPS and burst 2023-01-05 22:00:33 -05:00
Amir Alavi 4d04018c93 update version references in docs and readme 2022-12-12 20:51:16 -05:00
Lucas Severo AlvesandGitHub da8b145980 use plugin registry and prepare for conversion (#1003)
* use plugin registry and prepare for conersion

* Register plugins explicitly to a registry

* check interface impl instead of struc var

* setup plugins at top level

* treat plugin type combinations

* pass registry as arg of V1alpha1ToInternal

* move registry yet another level up

* check interface type separately
2022-12-01 06:05:54 -08:00
Furkan 99868a41de run: gofumpt -w -extra .
Enable gofumpt in golangci

Signed-off-by: Furkan <furkan.turkal@trendyol.com>
2022-11-07 09:11:27 +03:00
Muhammad Adeel 76a0014707 add restricted security policy to e2e test pods
add RunAsUser and RunAsGroup to PSC

Signed-off-by: Muhammad Adeel <muhammad.adeel@ibm.com>
2022-10-18 15:01:12 +02:00
Kubernetes Prow RobotandGitHub 9e2c323aa9 Merge pull request #954 from spike-liu/master
Plugin arguments defaulting + moving plugin arguments to each corresponding plugin #925
2022-09-27 03:21:51 -07:00
vlc刘诚 9eb4c350d8 e2e_test fixing 2022-09-23 11:32:38 +08:00
vlc刘诚 78c3260692 RemoveDuplicates defaulting + moving arguments to its corresponding plugin 2022-09-23 11:32:38 +08:00
vlc刘诚 8d471baf3e RemoveFailedPods defaulting + moving arguments to its corresponding plugin 2022-09-23 11:32:38 +08:00
sunxiaofei c10e6d6c12 fix sharedInformerFactory register 2022-09-22 16:02:13 +08:00
Kubernetes Prow RobotandGitHub 72bf50fde6 Merge pull request #929 from knelasevero/ev-filter-plugin
Add new DefaultEvictor plugin with args
2022-09-12 09:21:24 -07:00
Lucas Severo Alves f47c2c4407 add new preevectionfilter plugin with args 2022-09-12 16:56:21 +02:00
Amir Alavi 1265b4c325 remove dependency on kubectl
Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2022-09-06 10:47:22 -04:00
Amir Alavi e8fae9a3b7 remove pod security policy; additional policy/v1beta1 cleanup; use informers for descheduler unit tests
update go to 1.19 and helm kubernetes cluster to 1.25
bump -rc.0 to 1.25 GA
bump k8s utils library
bump golang-ci
use go 1.19 for helm github action
upgrade kubectl from 0.20 to 0.25

Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
2022-09-04 10:30:40 -04:00
JaneLiuL 680e650706 bring lownodeutilization and highnodeutilization to plugin 2022-08-17 17:30:46 +08:00
Julian Lawrence 674bf4655d migrate plugin - pods violating topologyspread
updated to remove older params
2022-08-15 08:23:04 -07:00
Kubernetes Prow RobotandGitHub 6d4abe88ca Merge pull request #913 from a7i/migrate-PodLifeTime-to-plugin
Migrate PodLifeTime to plugin
2022-08-15 07:14:14 -07:00
Amir Alavi d4ff3aef61 Migrate PodLifeTime to plugin 2022-08-15 08:54:42 -04:00
Jan Chaloupka d1a9190c50 CONTAINER_ENGINE to override the default docker engine 2022-08-11 16:09:46 +02:00
Kubernetes Prow RobotandGitHub a1d4770634 Merge pull request #911 from knelasevero/local-ct-install
introduce ct for local helm install test
2022-08-11 06:10:58 -07:00
Lucas Severo Alves ba85e794b2 introduce ct for local helm install test 2022-08-10 18:01:42 +02:00
JaneLiuL 3474725176 bring removeduplicates to plugin 2022-08-10 15:02:28 +08:00
BinacsLee d798e7d204 Migrate RemovePodsHavingTooManyRestarts to plugin 2022-08-09 22:05:36 +08:00
Lucas Severo Alves e9c23fe42f add helm ct install. First step, see https://github.com/kubernetes-sigs/descheduler/pull/895#issuecomment-1203608848 2022-08-08 21:11:20 +02:00
Amir Alavi 330def2e56 Migrate RemoveFailedPods to plugin 2022-08-02 23:30:49 -04:00
Lucas Severo AlvesandLucas Severo Alves 0aa233415e use new events implementation and take recorder out of EvictPod 2022-07-28 15:18:21 +02:00
Jan Chaloupka d2130747d8 Split pod evictor and evictor filter 2022-06-13 18:48:05 +02:00
Amir Alavi 871a10344e e2e: use kubernetes utils pointer library 2022-06-06 22:05:32 -04:00
Amir Alavi 311d75223f PodLifeTime: sort pods by creation timestamp 2022-06-06 21:49:24 -04:00