v1.2.0
What's Changed
- koordlet:encapsulating reused logics(updatePodCFSQuota,updateContainerCFSQuota) by @lucming in #726
- koord-scheduler: retrieve reservationInfo from cache first in preFilter hook by @KunWuLuan in #906
- koordlet: fix cpi collector return value sequence by @songtao98 in #909
- koordlet: Reduce update NodeResourceTopology frequency by @Re-Grh in #893
- koord-scheduler: check if reservation port match the pod by @KunWuLuan in #908
- Koordlet: Feat add more metrics for cpu burst and suppress by @LeoLiuYan in #905
- koord-scheduler: fix reservation doesn't match pod when hostport is not set by @KunWuLuan in #916
- chore: update descheduler rbac by @eahydra in #915
- docs: fix community-membership url in README-zh_CN.md by @chengweiv5 in #910
- koord-manager: fix the validating and mutating logic of Pod resources by @hormes in #921
- docs: fix ci badge in README.md by @jasonliu747 in #926
- docs: fix ci badge in README-zh_CN.md by @jasonliu747 in #927
- koord-manager: Fix log print fmt and add an example for slo-controller-config by @LeoLiuYan in #925
- koordlet: add more cli flags for audit log and ensure the audit log directory exist by @LeoLiuYan in #912
- koordlet: support cpu eviction in cpuset supress mode with cpu static policy by @wangxiaoq in #914
- koordlet: add metrics for batch resources by @saintube in #913
- koordlet: fix cgroup validators by @saintube in #930
- koord-scheduler: ElasticQuota Plugin need DecoratePod OnPodDelete by @xulinfei1996 in #931
- koor-descheduler: fix LowNodeLoad unsupported configuration and pod sorter by @eahydra in #928
- koord-scheduler: add new method GetPodIsAssigned to QuotaInfo by @kingeasternsun in #936
- koord-descheduler: add evict event/metric for Pod during migration by @eahydra in #932
- koord-descheduler: refactor descheduler pod sorter by @eahydra in #937
- koord-scheduler: protect reserve pod from being preempted by @KunWuLuan in #920
- koord-descheduler: support pod deletion cost and eviction cost by @eahydra in #939
- koordlet: check key exist first before comparing node topo annotations by @zwzhang0107 in #944
- feat(deps): bump github.com/fsnotify/fsnotify from 1.5.4 to 1.6.0 by @dependabot in #849
- koord-scheduler: remove allocated in filter hook by @KunWuLuan in #918
- koord-scheduler: additionally check parent's Quota if configured by @xulinfei1996 in #945
- ci: use buildx to replace gorelaser to release image by @jasonliu747 in #919
- adopters: update iqyi adopter to stable status by @wangxiaoq in #947
- koordlet: add batch resource utils by @saintube in #948
- koord-descheduler: optimize the migration defense strategies by @eahydra in #933
- koord-scheduler: fix Coscheduling resource deadlock with groups by @KunWuLuan in #873
- koord-manager: mv slo-controller config to api by @zwzhang0107 in #949
- koord-scheduler: optimize ElasticQuota QuotaInfo present methods by @kingeasternsun in #951
- koordlet: fix batch resource plugin for empty label pods by @saintube in #952
- apis: add extension plugin framework for PodMetric by @jasonliu747 in #955
- koord-descheduler: limits frequently migrated workloads by @eahydra in #950
- koord-manager: revise slo-controllers, fix for deleted node by @saintube in #961
- koordlet: BECPUEvict supports cgroups-v2 by @Re-Grh in #929
- koordlet: support NodeResourceTopology informer by @Re-Grh in #942
- koord-scheduler: rename ElasticQuota QuotaInfo GetPodIsAssigned to CheckPodIsAssigned by @kingeasternsun in #958
- koordlet: clean up log format by @wangxiaoq in #962
- koordlet: fix not support cpu without L3 cache by @shelwinnn in #960
- runtimeproxy: fix env lost by @lucming in #957
- koord-descheduler: remove duplicated validation by @LeoLiuYan in #963
- feat(deps): bump github.com/prometheus/client_golang from 1.13.0 to 1.14.0 by @dependabot in #850
- koord-scheduler: DeviceShare plugin allocates devices in ascending order of Minor by @eahydra in #967
- koord-scheduler: DeviceShare plugin supports custom allocator by @eahydra in #965
- koord-scheduler: optimize DeviceShare plugins pod event handler by @eahydra in #966
- clean: resolve vet error by @eahydra in #970
- chore(deps): bump docker/build-push-action from 3 to 4 by @dependabot in #973
- koord-scheduler: Reservation resolves ReadWriteOncePodAccessMode volume conflict by @KunWuLuan in #969
- koord-descheduler: fix LowNodeLoad when configuring nodeSelector by @eahydra in #975
- koord-descheduler: set default values for evictQPS/evictBurst by @eahydra in #976
- koord-descheduler: use DefaultInsecureDeschedulerPort(10251) as healthz/metrics default port by @eahydra in #981
- koordlet:fix a bug in topologyinformer when start-up by @Re-Grh in #980
- runtimeproxy: fix trap of nil interface{} by @yuexian1234 in #974
- koordlet: remove deprecated executor package by @novahe in #986
- koord-scheduler: fix a bug in spec.scheduleTimeoutSeconds nil pointer dereference by @Syulin7 in #985
- koord-scheduler: LoadAware supports custom estimator by @eahydra in #989
- docs: proposals for collect cpu schedule latency by eBPF by @songtao98 in #859
- koord-descheduler: LowNodeLoad supports anomaly detector by @eahydra in #987
- koordlet: runtime hook support failpolicy by @huiwq1990 in #773
- koordlet: support reporting extension resource in statesInformer by @jasonliu747 in #993
- koord-scheduler: set Reservation indexer before informer start to avoid error by @tzzcfrank in #996
- style: correct import alias in states_nodemetric by @jasonliu747 in #999
- koordlet: optimize if-else logics in cgroup reconcile by @lucming in #992
- koordlet: skip fillExtensionMap if podMetric is nil by @jasonliu747 in #1000
- koord-scheduler: compatible with lightweight-coscheduling by @eahydra in #1007
- koordlet: fix log typo by @wangxiaoq in #1008
- koordlet: support system config like minFreeKbytes,waterMarkScaleFactor by @chzhj in #1006
- Improve project presentation based on chatgpt's suggestion by @hormes in #1009
- apis: add extension field in DeviceAllocation by @eahydra in #1012
- koordlet: PerformanceCollector supports cgroups-v2 by @Re-Grh in #984
- koord-scheduler: fix GroupQuotaManager.updateMinQuotaNoLock by @xulinfei1996 in #1015
- add name to slo-controller-config cfg->NodeStrategies as selector alias by @chzhj in #1020
- comment out the display of star history by @hormes in #1029
- e2e: add an e2e case BatchResource by @saintube in #1027
- docs: introduce the CPU Co-location plug-in of CentOS by @Dengerwei in #1023
- apis: deprecated device resource names with prefix kuberenetes.io by @eahydra in #1025
- koordlet: refactor metrics advisor as framework by @zwzhang0107 in #1019
- koord-descheduler: check pod ready when migrating by @lucming in #1026
- ADOPTERS: add meiyapico as sample user by @complone in #1045
- Add stale config file by @FillZpp in #1048
- koordlet: add some logs for cpi and psi metric cache by @zwzhang0107 in #1050
- koordlet: use libcontainer check cgroupfsv2 by @huiwq1990 in #1021
- apis: move qos utils for extensions by @saintube in #1054
- apis: correct LabelGPUModel & LabelGPUDriverVersion by @jasonliu747 in #1058
- koord-descheduler: adapt k8s descheduler plugins by @eahydra in #1044
- feat(deps): bump github.com/k8stopologyawareschedwg/noderesourcetopology-api from 0.0.12 to 0.1.1 by @dependabot in #1061
- feat(deps): bump github.com/onsi/ginkgo from 1.16.4 to 1.16.5 by @dependabot in #848
- e2e: fix e2e BatchResource for custom namespace by @saintube in #1069
- e2e: fix e2e BatchResource for custom namespace by @saintube in #1070
- Fix stale comment by @FillZpp in #1071
- koordlet: fix kubelet policy nil by @huiwq1990 in #1073
- koordlet: ensure report nodetopo after nodecpuinfo have already collected by @lucming in #1047
- feat(deps): bump golang.org/x/net from 0.3.1-0.20221206200815-1e63c2f08a10 to 0.8.0 by @dependabot in #1082
- koord-scheduler: improve the readability of the PreFilter error message of the DeviceShare plugin by @jasonliu747 in #1077
- koord-scheduler: clarify framework extender by @eahydra in #1066
- koord-manager: allow plugins configured by configmap then updated in NodeSLO by @AlbeeSo in #1075
- koord-descheduler: allow annotated migrationJob pass filter by @ZiMengSheng in #1085
- koordlet: cgroup file read and write is privatized and consolidated into the resource executor package. by @Re-Grh in #1024
- koordlet: require gc started for cacheable update by @saintube in #1078
- koordlet: merge extensions in nodeslo and add general util methods by @AlbeeSo in #1086
- koord-manager: refactor noderesource and add resource calculation extenders by @saintube in #1065
- koord-descheduler: LowNodeLoad eliminates abnormal states based on consecutiveNormalities by @eahydra in #1053
- koord-manager: remove duplicate registration in noderesource controller by @jasonliu747 in #1097
- koord-descheduler: update PodRef after Reservation Bound during migration by @ZiMengSheng in #1096
- ci: add commit id as tag when releasing docker images by @jasonliu747 in #1098
- koord-descheduler: support to configure eviction filter separately by @eahydra in #1068
- koord-descheduler: refactor GetExpectedScaleForPod by @ZiMengSheng in #1095
- ci: fix invalid image tag by @jasonliu747 in #1105
- koord-manager: fix not compatible with ElasticQuota associated by namespace by @eahydra in #1104
- koordlet:move audit log to resource executor after resource update by @Re-Grh in #1055
- koord-scheduler: rename built-in ElasticQuota name by @eahydra in #1109
- koord-scheduler: refresh runtime quota before check by @eahydra in #1107
- koord-scheduler: PodGroups are no longer created if pods use Gang annotations by @eahydra in #1106
- koord-scheduler: allow Reservation to reserve a subset of resources requested by Pod by @eahydra in #1112
- koord-descheduler: enhanced support for Deployment by @ZiMengSheng in #1119
- chore(deps): bump actions/setup-go from 3 to 4 by @dependabot in #1122
- runtime-proxy: add dockerfile for runtimeproxy by @lucming in #1123
- koordlet: cleanup cgroup path utils by @saintube in #1120
- koordlet: Memcg reaper by @chzhj in #1118
- koord-manager: revise node resource framework by @saintube in #1101
- apis: Reservation enables AllocateOnce by default by @eahydra in #1121
- apis: update some comment by @lucming in #1124
- koord-scheduler: ElasticQuota skips reserve pod in PostFilter phase by @eahydra in #1125
- proposal: Node Resource Reservation by @lucming in #922
- koord-scheduler: enhanced frameworkext to support Reservation by @eahydra in #1126
- koordlet: use cgroup parent path straightforward by @saintube in #1129
- ci: disable cache when running actions/setup-go by @jasonliu747 in #1143
- koord-scheduler: fix ElasticQuota PreFilterExtension error with missing Pod by @eahydra in #1132
- koordlet: fix update Device object error by @eahydra in #1148
- koord-manager: fix repeated accumulation of node GPU resources by @eahydra in #1149
- feat(deps): bump gorm.io/driver/sqlite from 1.3.6 to 1.4.4 by @dependabot in #917
- feat(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 by @dependabot in #1074
- koord-descheduler: improve compatibility with policy/v1beta1 eviction api by @eahydra in #1151
- docs: fix double-subtract node.anno.reserved by @lucming in #1137
- support node resource reservation by @lucming in #998
- koord-scheduler: DeviceShare supports preempting devices by @eahydra in #1146
- koordlet: pod eviction policy compatibility by @huiwq1990 in #1083
- runtime-proxy: Add mutex lock to resolve concurrent lru cache access is not safe by @xigang in #1158
- koord-descheduler: fix externally created MigrationJob not using default mode by @eahydra in #1152
- koord-scheduler: DeviceShare skips unhealthy device instances by @eahydra in #1159
- apis: adjust unsuitable constant definitions by @eahydra in #1164
- koord-descheduler: support soft eviction takeover eviction behavior by @leason00 in #1128
- koordlet: fix node aggregate policy config by @saintube in #1161
- koordlet: replace int64 with time.Duration in metricsadvisor module by @jasonliu747 in #1153
- koordlet: fix cpu evict test by @huiwq1990 in #1163
- koord-scheduler: DeviceShare ensure NodeName is not empty when handling new Pod by @jasonliu747 in #1168
- koordlet: support resctrl on AMD by @zwzhang0107 in #1162
- koordlet: revise sysctl initialization of the group identity by @saintube in #1172
- koordlet: fix psicollector may cause other functions to block when started by @Re-Grh in #1173
- koord-descheduler: filter migrationJobs in running state for migration reconcile by @eahydra in #1171
- koord-descheduler: optimize LowNodeLoad logs by @eahydra in #1176
- koord-descheduler: the reservation created during migration skips the original node by @eahydra in #1174
- koordlet: fix panic during collect GPU usage by @eahydra in #1181
- ci: run github actions job in parallel using matrix by @jasonliu747 in #1183
- koord-scheduler: enhanced reservation scheduling by @eahydra in #1139
- e2e: add reservation scheduling e2e tests by @eahydra in #1170
- koord-scheduler: support Reservation reserve devices by @eahydra in #1141
- koord-scheduler: fix device cache potential concurrency issue by @jasonliu747 in #1182
- koord-scheduler: support Reservation reserved CPU Cores by @eahydra in #1140
New Contributors
- @Re-Grh made their first contribution in #893
- @chengweiv5 made their first contribution in #910
- @kingeasternsun made their first contribution in #936
- @shelwinnn made their first contribution in #960
- @yuexian1234 made their first contribution in #974
- @Syulin7 made their first contribution in #985
- @tzzcfrank made their first contribution in #996
- @Dengerwei made their first contribution in #1023
- @complone made their first contribution in #1045
- @AlbeeSo made their first contribution in #1075
- @xigang made their first contribution in #1158
- @leason00 made their first contribution in #1128
Full Changelog: v1.1.0...v1.2.0