Commit Graph

70 Commits

Author SHA1 Message Date
kerthcet
180b082c49 Make the error messages in scheduler cache more precise
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-12-08 15:41:43 +08:00
Kubernetes Prow Robot
5e38528ef5
Merge pull request #110279 from sanposhiho/internal-cache
scheduler: Update cached Pod any time to make sure the Pod's status is up-to-date
2022-09-20 08:09:20 -07:00
Kensei Nakada
eba4d50c15 Update cached Pod to make sure the Pod's status is up-to-date 2022-09-17 14:32:08 +00:00
astraw99
ee24513e47 Fix scheduler misc 2022-09-04 00:07:49 +08:00
Kubernetes Prow Robot
8c9c287533
Merge pull request #111826 from yuanchen8911/master
Add pod info.  KObj(pod) to scheduler cache log
2022-08-23 19:01:27 -07:00
Yuan Chen
974a41e55a Replace pod key with KObj(pod) in scheduler cache error msg
Add back pod key in scheduler cache

Add additional changes

Change podInfo to pod
2022-08-23 15:08:48 -07:00
kidddddddddddddddddddddd
b5f0c34ef1 replace os.Exit with FlushAndExit 2022-08-12 17:34:13 +08:00
kerthcet
72e8fc1d87 Fix: pod's deadline shoud be nil when cache ttl is 0
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-07-05 23:29:31 +08:00
Kapil Jain
4706dda5da Added code for disable scheduler cache expiry 2022-07-04 23:46:59 +05:30
Yibo Zhuang
32c18a3479 Adding StorageInfoLister to SharedLister
This change creates a StorageInfoLister interface
and have it under scheduler SharedLister.

The initial StorageInfoLister interface has a
IsPVCUsedByPods which returns true/false depending on
whether the PVC (keyed by namespace/name) has at least
one scheduled pod using it.

In snapshot real implementation, add a usedPVCSet
key by PVC namespace/name which contains all PVCs
that have at least one scheduled pod using it.
During snapshot update, populate this set based on
whether the PVCRefCounts map for node(s) have been
updated since last snapshot.

Signed-off-by: Yibo Zhuang <yibzhuang@gmail.com>
2022-05-03 18:00:41 -07:00
kerthcet
eafbaad9f7 refactor: rename SchedulerCache to Cache in Scheduler
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-02-24 09:47:21 +08:00
kerthcet
09623be0b1 refactor: rename schedulerCache to cacheImpl in internal cache
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-02-24 09:42:51 +08:00
BinacsLee
ccbd881b36 cleanup: remove switch for binary condition in scheduler cache 2022-01-12 21:08:16 +08:00
BinacsLee
1027b8de40 scheduler: fix race condition during cache refresh 2021-12-10 20:46:12 +08:00
Shivanshu Raj Shrivastava
bb31040f06
migrate cache.go to structured logging 2021-11-07 19:20:39 +05:30
Aldo Culquicondor
ff741f6a96 Ensure deletion of pods in queues and cache
When the client misses a delete event from the watcher, it will use the last state of the pod in the informer cache to produce a delete event. At that point, it's not clear if the pod was in the queues or the cache, so we should issue a deletion in both.

The pod could be assumed, so deletion of assumed pods from the cache should work.

Change-Id: I11ce9785de603924fc121fe2fa6ed5cb1e16922f
2021-11-03 14:00:31 -04:00
ravisantoshgudimetla
b6c75bee15 Remove balanced attached node volumes
kubernetes#60525 introduced
Balanced attached node volumes feature gate to include volume
count for prioritizing nodes. The reason for introducing this
flag was its usefulness in Red Hat OpenShift Online environment
which is not being used any more. So, removing the flag
as it helps in maintainability of the scheduler code base
as mentioned at kubernetes#101489 (comment)
2021-06-22 11:19:30 -04:00
llhuii
3c899f9b54 sched: fix Dump's doc comment 2021-05-30 00:39:20 +08:00
Wei Huang
6384f397b4
sched: support PreEnqueueChecks prior to moving Pods 2021-03-11 12:31:50 -08:00
Deepak Nair
49a9e28dd8 Substitute boolean maps with String sets 2021-02-18 20:59:32 -08:00
Kubernetes Prow Robot
43a0007fae
Merge pull request #96062 from Huang-Wei/sched-aware-of-nodes
Ensure created nodes are present in scheduler cache before scheduling
2020-11-05 13:13:05 -08:00
Wei Huang
f054765762
Add a function to ensure created nodes are present in scheduler cache 2020-11-03 15:25:44 -08:00
lixiaobing1
03cfd30ee2 fix n to nodeInfo easy to understand 2020-11-03 08:44:55 +08:00
Ali
09b2e8f638 Move scheduler interface to pkg/scheduler/framework 2020-10-13 13:13:27 +11:00
Aldo Culquicondor
d6f09f7dfb Fix UpdateSnapshot when Node is partially removed
Change-Id: I5b459e9ea67020183c87d1ce0a2380efb8cc3e05
2020-09-28 17:50:41 -04:00
Kubernetes Prow Robot
d239cdfbc0
Merge pull request #94059 from ahg-g/ahg-anti-affinity
Track pods with required anti-affinity
2020-09-08 04:54:12 -07:00
Abdullah Gharaibeh
a8873e1a43 Track pods with required anti-affinity
This is a performance optimization that reduces the overhead of inter-pod affinity PreFilter calculaitons. Basically
eliminates that overhead when no pods in the cluster use required pod anti-affinity. This offered 20% improvement on 5k clusters for preferred anti-affinity benchmarks.
2020-08-21 10:09:21 -04:00
maelk
fc5edb8c12
Change nodeInfolist building logic in scheduler
This commit transforms the next() function of the scheduler node
tree into a listNodes() function that directly returns a list of
nodes, going through the zones in a round-robin fashion. This
removes the flawed logic of the next() function.
2020-08-18 11:35:14 +03:00
Aldo Culquicondor
dfe9e413d9 Keep track of remaining pods when a node is deleted.
The apiserver is expected to send pod deletion events that might arrive at a different time. However, sometimes a node could be recreated without its pods being deleted.

Partial revert of https://github.com/kubernetes/kubernetes/pull/86964

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I51f683e5f05689b711c81ebff34e7118b5337571
2020-08-13 14:24:01 -04:00
Aldo Culquicondor
16d7ecfa45 Remove direct accesses to cache's node map
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: Iebb22fc816926aaa1ddd1e4b2e52f335a275ffaa
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-08-13 14:22:06 -04:00
Maël Kimmerlin
c2ec8bedbc
Fix scheduler issue with nodetree additions
When nodes are added in multiple zones at once, the nodeTree next
function does not return a correct list of nodes but repeats some
This commit resets the index before starting to call next() to
prevent this issue

Special thanks to igraecao for the help in finding the bug

Co-authored-by: igraecao <matvej.yolli@outlook.com>
2020-07-24 09:42:53 +03:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
caiweidong
171a242e1e Increase log level to avoid print binding messages in framework too frequently 2020-04-22 11:37:35 +08:00
Abdullah Gharaibeh
2c51c13620 Scheduler NodeInfo cleanup 2020-04-09 19:03:51 -04:00
Kubernetes Prow Robot
0c9245a29f
Merge pull request #89974 from ahg-g/ahg-info
scheduler's NodeInfo tracks PodInfos instead of Pods
2020-04-09 09:19:58 -07:00
Abdullah Gharaibeh
b8ddd00312 scheduler's NodeInfo tracks PodInfos instead of Pods 2020-04-08 17:53:20 -04:00
Kubernetes Prow Robot
1edbfe1745
Merge pull request #89908 from alculquicondor/fix_cache
Skip updating scheduler cache on pod update if the node was deleted
2020-04-07 16:46:06 -07:00
Aldo Culquicondor
e75b5dcfe4 Skip updating cache on pod update if the node was deleted
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-07 13:24:42 -04:00
Abdullah Gharaibeh
a5d8172715 move nodeinfo type to framework pkg 2020-04-07 10:25:24 -04:00
Abdullah Gharaibeh
ed3fe054df move scheduler nodeinfo to pkg/scheduler/types 2020-03-31 21:02:09 -04:00
Aldo Culquicondor
f53d7e55df Move Snapshot from nodeinfo/snapshot to internal/cache
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-17 13:29:41 -05:00
Aldo Culquicondor
6a14203658 Rename cache's Snapshot to Dump
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-17 11:28:08 -05:00
Aldo Culquicondor
afe3b907a1 Remove nodes from cache immediately on delete events
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-09 12:58:12 -05:00
Abdullah Gharaibeh
591b870691 fix how we check for node info list consistency 2020-01-07 11:45:25 -05:00
Kubernetes Prow Robot
862c8bf818
Merge pull request #85561 from cwdsuzhou/Nov/return_when_failed
Return when removePod failed
2020-01-05 06:23:40 -08:00
caiweidong
6410ac3173 Return when removePod failed 2019-12-31 10:11:12 +08:00
Abdullah Gharaibeh
5ea43f20cb optimize scheduler's UpdateNodeInfoSnapshot 2019-11-29 15:06:13 -05:00
Abdullah Gharaibeh
c33f217a5d tracking nodes with pod with affinity 2019-11-05 20:02:33 -05:00
Mike Dame
4735011287 Add scheduler cache size metrics 2019-10-30 15:33:29 -04:00
Abdullah Gharaibeh
373cf8c1b1 move nodeinfo/snapshot.go into its own package 2019-10-23 16:12:13 -04:00