Releases: kubernetes-sigs/descheduler
descheduler-helm-chart-0.35.1
Descheduler for Kubernetes is used to rebalance clusters by evicting pods that can potentially be scheduled on better nodes. In the current implementation, descheduler does not schedule replacement of evicted pods but relies on the default scheduler for that.
Descheduler v0.35.1
What's Changed
- fix(ci): pin helm-unittest plugin version and bump chart-testing-action by @a7i in #1834
- [v0.35.0] update helm chart by @a7i in #1835
- Automated cherry pick of #1836: Synchronize helm clusterrole RBAC with base yaml
#1826: Add init containers support to Helm chart
#1838: Change icon URL in Chart.yaml
#1842: fix: resolve detected data races
#1847: fix(ci): upgrade codeql-action to v4 and clean up security
#1848: update go dependencies
#1844: Extend PodLifeTime with condition, exit code, owner kind, by @a7i in #1850
Full Changelog: v0.35.0...v0.35.1
Descheduler v0.35.0
What's Changed
- feat: enable pod protection based on storage classes by @ricardomaraschini in #1752
- fix: pod resource calculation to consider native sidecars by @a7i in #1771
- docs: fix incorrect gracePeriodSeconds default in README.md by @petersalas in #1773
- docs: fix README.md link to kubernetes bot commands by @Sycrosity in #1772
- Fix "Current requires cgo or $USER set in environment" error by @abelfodil in #1764
- refactor(TestPodLifeTime): remove ineffective owner references assignments by @ingvagabund in #1781
- refactor(TestPodLifeTime): have a pod fully created through BuildTestPod without any edits by @ingvagabund in #1782
- refactor(TestPodLifeTime): consolidations, simplifications and node instance for each unit test by @ingvagabund in #1783
- refactor(TestPodLifeTime): inline pod creation in each unit test to avoid accidental pod spec updates by @ingvagabund in #1784
- refactor(TestPodLifeTime): update unit test names and simplify pod creation by @ingvagabund in #1785
- feat(TestPodLifeTime): check only expected pods are evicted by @ingvagabund in #1787
- feat(PodLifeTime): document the plugin with details that can be used for reasoning during reviews and design discussions by @ingvagabund in #1789
- refactor(TestPodLifeTime): split the unit tests into smaller semantically close groups by @ingvagabund in #1790
- refactor(TestFindDuplicatePods): have a pod fully created through BuildTestPod without any edits by @ingvagabund in #1791
- refactor(TestFindDuplicatePods): reduce duplicates and inline by @ingvagabund in #1792
- refactor(TestRemoveDuplicates): reduce test code duplication by @ingvagabund in #1793
- refactor(TestRemovePodsHavingTooManyRestarts): inline object creation by @ingvagabund in #1794
- refactor(TestPodAntiAffinity): inline object creation by @ingvagabund in #1795
- refactor(TestRemovePodsViolatingNodeAffinity): inline object creation by @ingvagabund in #1796
- refactor(TestDeletePodsViolatingNodeTaints): inline object creation by @ingvagabund in #1797
- doc: introduce contributing guidelines specific to the project by @ingvagabund in #1798
- refactor(TestDefaultEvictor): de-dup code and use helpers by @ingvagabund in #1803
- refactor(plugins): simplify the way pods are created by @ingvagabund in #1804
- fix(TestReadyNodesWithNodeSelector): make sure nodeLister.List always returns a non-empty list so the lister is always tested by @ingvagabund in #1800
- refactor(pkg/framework/profile): dedup unit test code by @ingvagabund in #1806
- doc(Design Decisions FAQ): Why doesn't the framework provide helpers for registering and retrieving indexers for plugins by @ingvagabund in #1807
- feat(profile): inject a plugin instance ID to each built plugin by @ingvagabund in #1808
- feat: register a node indexer for the global node selector instead of listing nodes with the selector by @ingvagabund in #1802
- chore(pkg/descheduler): make TestPodEvictorReset table driven by @ingvagabund in #1810
- refactor(pkg/operator): replace informerResource with a kubeClientSandbox by @ingvagabund in #1811
- refactor(pkg/descheduler): more handlers and dropping unused code by @ingvagabund in #1813
- refactor(pkg/descheduler): create fake shared informer factory only once by @ingvagabund in #1812
- fix(kubeClientSandbox): do not wait for pods in the fake indexers if they are already deleted by @ingvagabund in #1814
- test(pkg/descheduler): test a prometheus client update propagates to a plugin profile handle by @ingvagabund in #1816
- Add namespace label selector by @W1seKappa in #1786
- tests: Prom client testing by @ingvagabund in #1818
- Deduplicate descheduler initialization code so unit tests test more of the production code by @ingvagabund in #1819
- test(token reconciling): have tests initialize the prom client reconciling through the descheduler's bootstraping entry too by @ingvagabund in #1820
- refactor(promClientController): split it into two prom client controllers by @ingvagabund in #1821
- feat(pkg/descheduler): create profiles outside the descheduling cycle by @ingvagabund in #1815
- refactor: move prometheus client controller related code under a seperate file by @ingvagabund in #1823
- Update go dependecies to fix vulnerabilities by @sammedsingalkar09 in #1822
- chore: extend the list of supported Go versions by @ingvagabund in #1828
- bump(golangci-lint): update and migrate by @ingvagabund in #1829
- [v0.35.0] bump to kubernetes 1.35 deps by @a7i in #1827
- chore: upgrade github.com/gomarkdown/markdown to latest version by @a7i in #1831
- [v0.35.0] update docs and manifests by @a7i in #1832
- Change annotations condition to deploymentAnnotations for Deployment object annotations by @davidandreoletti in #1830
New Contributors
- @petersalas made their first contribution in #1773
- @Sycrosity made their first contribution in #1772
- @abelfodil made their first contribution in #1764
- @W1seKappa made their first contribution in #1786
- @sammedsingalkar09 made their first contribution in #1822
- @davidandreoletti made their first contribution in #1830
Full Changelog: v0.34.0...v0.35.0
descheduler-helm-chart-0.35.0
Descheduler for Kubernetes is used to rebalance clusters by evicting pods that can potentially be scheduled on better nodes. In the current implementation, descheduler does not schedule replacement of evicted pods but relies on the default scheduler for that.
Descheduler v0.34.0
What's Changed
- Remove reference to obsolete deschedulerPolicy fields in chart values by @meroupatate in #1674
- v0.33.0: bump helm chart by @a7i in #1680
- optimize: NodeFit function by reordering checks for performance by @googs1025 in #1681
- feature: sort pods by restarts count in RemovePodsHavingTooManyRestarts plugin by @googs1025 in #1686
- chore: move namespaces filtering logic to New() by @googs1025 in #1684
- RemovePodsViolatingNodeTaints: list only pods that are not failed/suceeded by @ingvagabund in #1688
- fix(example): list only active pod by @googs1025 in #1691
- refactor: separate eviction constraints to constraints.go by @googs1025 in #1693
- Extend plugin's New with a context.Context by @ingvagabund in #1694
- *1677 Allow Succeeded and Failed states in PodLifeTime by @doctapp in #1696
- metrics name refact by @lowang-bh in #1232
- feat(prometheus): allow different url schemes by @ricardomaraschini in #1705
- feature: use contextal logging for plugins by @googs1025 in #1655
- logger: Align with the previous logger verbosity by @ingvagabund in #1708
- add activeDeadlineSeconds field for cronjob by @googs1025 in #1709
- chore: stop with no-op default evictor settings by @ricardomaraschini in #1717
- fix: removepodsviolatingtopologyspreadconstraint to favor evictable pods when balancing domains by @a7i in #1719
- fix: Fix panic in descheduler when using
--secure-port=0by @dongjiang1989 in #1647 - feat(helm): run descedulerPolicy thru tpl func for more chart control by @schahal in #1660
- Test code refactorings by @ingvagabund in #1722
- Default evictor no eviction policy by @ingvagabund in #1723
- add PodProtections for DefaultEvictorArgs by @googs1025 in #1665
- add ValidateHighNodeUtilizationPluginConfig unit test by @googs1025 in #1733
- feature: add PodsWithResourceClaims parameter in DefaultEvictorArgs PodProtections by @googs1025 in #1603
- update readme for PodProtections by @googs1025 in #1728
- Improves the validation logic in the plugins by @googs1025 in #1729
- feat(token): automountServiceAccountToken set hard to true on deployment by @jmederer in #1641
- standardize protectionEnabled param across eviction constraints by @googs1025 in #1725
- [1732] chore: add cronjob/job labels and annotations to helm chart by @n2h9 in #1736
- chore: add pull request template by @ricardomaraschini in #1742
- feat(test/e2e): introduce new flags to override RunAsUser and RunAsGroup security context setting by @ingvagabund in #1743
- helm chart - Allow to add custom annotations for deployment by @anthosz in #1741
- chore: give tracing.Shutdown() its own context by @ricardomaraschini in #1747
- fix: correct comment for HaveNoEvictionAnnotation by @eminaktas in #1746
- descheduler: handle single-node clusters gracefully by @tsj-30 in #1755
- feat(eviction): add annotations to eviction requests for observability by @tiraboschi in #1753
- test: run by default with kind 0.30.0 and kubevirt v1.6.2 by @tiraboschi in #1762
- [v0.34.0] bump to kubernetes 1.34 deps by @a7i in #1744
- chore: update approvers by @ricardomaraschini in #1759
- helm: Fix liveness probe timeout for descheduler chart by @rstribrn in #1751
- docs: use podProtections args in helm chart by @googs1025 in #1765
- [v0.34.0] update docs and manifests by @a7i in #1768
New Contributors
- @meroupatate made their first contribution in #1674
- @doctapp made their first contribution in #1696
- @lowang-bh made their first contribution in #1232
- @schahal made their first contribution in #1660
- @jmederer made their first contribution in #1641
- @n2h9 made their first contribution in #1736
- @anthosz made their first contribution in #1741
- @tsj-30 made their first contribution in #1755
- @tiraboschi made their first contribution in #1753
- @rstribrn made their first contribution in #1751
Full Changelog: v0.33.0...v0.34.0
descheduler-helm-chart-0.34.0
Descheduler for Kubernetes is used to rebalance clusters by evicting pods that can potentially be scheduled on better nodes. In the current implementation, descheduler does not schedule replacement of evicted pods but relies on the default scheduler for that.
descheduler-helm-chart-0.33.0
Descheduler for Kubernetes is used to rebalance clusters by evicting pods that can potentially be scheduled on better nodes. In the current implementation, descheduler does not schedule replacement of evicted pods but relies on the default scheduler for that.
Descheduler v0.33.0
What's Changed
- update license to year 2025 by @a7i in #1593
- [release v0.32.0] bump chart and images by @a7i in #1592
- bump x/net and x/crypto deps for CVE-2024-45337 and CVE-2024-45338 by @a7i in #1591
- chore: update README.md for DeschedulerPolicy by @googs1025 in #1578
- chore: add ignorePvcPods param in default evictor filter unit test by @googs1025 in #1602
- feature(descheduler): add grace_period_seconds for DeschedulerPolicy by @googs1025 in #1538
- charts: add missing permission for policy by @linuxmaniac in #1596
- flake: rollback gracePeriod for evict pod in e2e test by @googs1025 in #1606
- charts: add needed perms if metricsCollector is enabled by @linuxmaniac in #1599
- tracing: test for and address semconv/SDK version conflicts by @LukeCarrier in #1612
- PodMatchNodeSelector: Replaced PodMatchNodeSelector implementation wi⦠by @jandai in #1632
- chore: add descheduler plugin example by @ricardomaraschini in #1636
- chore: add setDefaultEvictor return an error by @googs1025 in #1637
- ReferencedResourceList: alias for map[v1.ResourceName]*resource.Quantity to avoid the type definition duplication by @ingvagabund in #1640
- lownodeutilization: evictionLimits to limit the evictions per plugin by @ingvagabund in #1642
- nodeutilization: invoke ValidateLowNodeUtilizationArgs instead of validateLowNodeUtilizationThresholds to make the test more generic by @ingvagabund in #1644
- nodeutilization: make the node classification more generic by @ingvagabund in #1645
- [nodeutilization]: allow to set a metrics source as a string so it can be later extended for exclusive configuration by @ingvagabund in #1614
- [lownodeutilization]: Actual utilization: integration with Prometheus by @ingvagabund in #1533
- [nodeutilization]: produce node utilization of resources that are listed in the list of resources by @ingvagabund in #1652
- feat: refactoring thresholds and usage assessment by @ricardomaraschini in #1649
- feat: move classifier to its own package by @ricardomaraschini in #1653
- [nodeutilization]: skip nodes without extended resource when computing the average utilization by @ingvagabund in #1650
- Mention cmdOptions.dry-run in the helm chart readme by @tspearconquest in #1580
- nominate googs1025 for descheduler reviewers by @googs1025 in #1654
- chore: log average and assessed thresholds by @ricardomaraschini in #1657
- fix removepodsviolatingtopologyspreadconstraint plugin sort logic by @googs1025 in #1629
- TestLowNodeUtilizationKubernetesMetrics: set the right -cpu value for the cpu stressor by @ingvagabund in #1661
- docs: add histogram metric README.md by @freedomchurl in #1651
- feat: introduce strict eviction policy by @ricardomaraschini in #1663
- Move values.yaml comment about defining your own configmap to a NOTES.txt output instead by @tspearconquest in #1582
- chore: update owners to add me as reviewer by @ricardomaraschini in #1667
- chore: Bump to official kubernetes v0.33.0 deps by @dongjiang1989 in #1675
- fix: update the mailing list address by @sanposhiho in #1676
- add miss evictDaemonSetPods param in README.md by @googs1025 in #1672
- chore(deps): bump github.com/golang/glog from 1.2.2 to 1.2.4 by @dependabot in #1679
- [v0.33.0] update docs and manifests by @a7i in #1678
New Contributors
- @linuxmaniac made their first contribution in #1596
- @LukeCarrier made their first contribution in #1612
- @jandai made their first contribution in #1632
- @ricardomaraschini made their first contribution in #1636
- @tspearconquest made their first contribution in #1580
- @freedomchurl made their first contribution in #1651
- @dependabot made their first contribution in #1679
Full Changelog: v0.32.0...v0.33.0
descheduler-helm-chart-0.32.2
Descheduler for Kubernetes is used to rebalance clusters by evicting pods that can potentially be scheduled on better nodes. In the current implementation, descheduler does not schedule replacement of evicted pods but relies on the default scheduler for that.
Descheduler v0.32.2
What's Changed
- [v0.32.1] patch release for CVE-2024-45337 and CVE-2024-45338 by @a7i in #1601
- Automated cherry pick of #1596: charts: add missing permission for policy at ClusterRole by @googs1025 in #1621
- Automated cherry pick of #1599: charts: add needed perms if metricsCollector is enabled by @googs1025 in #1620
Full Changelog: v0.32.1...v0.32.2