Commit Graph

548 Commits (182099fda23240b4d4d8163ba916ddc81823ba6d)

Author SHA1 Message Date
Darren Shepherd 9989b6756c Remove BalanceAttachedNodeVolumes 2019-02-22 08:57:02 -07:00
Darren Shepherd eac24430ad Remove ResourceLimitsPriorityFunction 2019-02-22 08:57:02 -07:00
Darren Shepherd 04d77460d4 Remove EnableEquivalenceClassCache 2019-02-22 08:57:02 -07:00
wangqingcan 06d31c3bd4 add goroutine to move unschedulablepods to activeq regularly 2019-01-30 04:58:52 +08:00
Bobby (Babak) Salamat 49ab1ee6bd Fix and improve preemption test to work with the new logic 2019-01-16 14:56:45 -08:00
Bobby (Babak) Salamat af0097192f Do not snapshot scheduler cache before starting preemption 2019-01-16 14:56:45 -08:00
Shingo Omura c67c6c86c0 change sort function of scheduling queue to avoid starvation when unschedulable pods are in the queue
When starvation heppens:
- a lot of unschedulable pods exists in the head of queue
- because condition.LastTransitionTime is updated only when condition.Status changed
- (this means that once a pod is marked unschedulable, the field never updated until the pod successfuly scheduled.)

What was changed:
- condition.LastProbeTime is updated everytime when pod is determined
unschedulable.
- changed sort function so to use LastProbeTime to avoid starvation
described above

Consideration:
- This changes increases k8s API server load because it updates Pod.status whenever scheduler decides it as
unschedulable.

Signed-off-by: Shingo Omura <everpeace@gmail.com>
2019-01-09 14:58:57 -08:00
Kubernetes Prow Robot 0fdaf55edd
Merge pull request #72539 from bsalamat/automated-cherry-pick-of-#72259-upstream-release-1.13
Automated cherry pick of #72259 upstream release 1.13
2019-01-05 22:23:02 -08:00
Bobby (Babak) Salamat fc52960d2e autogenerated files 2019-01-03 14:25:17 -08:00
Bobby (Babak) Salamat 67f9528eba Fix race in setting nominated node 2019-01-03 14:15:32 -08:00
wangqingcan b044594e66 Make scheduleinternalcache.PodFilter as public 2018-12-24 15:33:46 +08:00
mlmhl 27fcc2fc34 activate unschedulable pods only if the node became more schedulable 2018-12-11 11:09:14 +08:00
Bobby (Babak) Salamat 612b3c9b95 Run old-style priority functions in parallel to the map-reduce style ones 2018-12-06 18:41:24 -08:00
Bobby (Babak) Salamat a2e74f2839 Avoid copying Extender struct while running priority functions 2018-12-06 18:41:24 -08:00
Bobby (Babak) Salamat 9ba01c45df Avoid copying PriorityConfig struct while running priority functions 2018-12-06 18:41:24 -08:00
Bobby (Babak) Salamat 669c5f42bf autogenerated files 2018-12-03 11:34:24 -08:00
Bobby (Babak) Salamat eb31bbb8d2 Change sort function of the scheduling queue to avoid starvation 2018-12-03 11:34:24 -08:00
Yecheng Fu 8fc00ebda6 Clear pod binding cache. 2018-11-21 11:24:53 +08:00
k8s-ci-robot 7e621ccb08
Merge pull request #71063 from Huang-Wei/nodeinfo-clone-panic
fix a scheduler panic due to internal cache inconsistency
2018-11-16 20:27:44 -08:00
k8s-ci-robot 1f3057b7fb
Merge pull request #70898 from Huang-Wei/preemption-issue
ensure scheduler preemptor behaves in an efficient/correct path
2018-11-16 20:27:35 -08:00
Wei Huang b4fd11512a
ensure scheduler preemptor behaves in an efficient/correct path
- don't update nominatedMap cache when Pop() an element from activeQ
- instead, delete the nominated info from cache when it's "assumed"
- unit test behavior adjusted
- expose SchedulingQueue in factory.Config
2018-11-16 14:22:15 -08:00
Wei Huang a86ba8b3c4
fix a scheduler panic due to internal cache inconsistency 2018-11-16 13:02:13 -08:00
Jordan Liggitt 733dd9dfd7 Add tests to ensure feature gate changes don't escape kubelet/scheduler packages 2018-11-16 10:52:53 -05:00
Jordan Liggitt de8bf9b63d fix scheduler and kubelet unit tests leaking feature flag changes 2018-11-16 10:52:53 -05:00
Jordan Liggitt 358c092abe fix storage unit tests leaking feature flag changes 2018-11-16 10:52:52 -05:00
PingWang 9e760732c3 Refactor New function
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

add comments for InitPolicyFromFile

Signed-off-by: PingWang <wang.ping5@zte.com.cn>

make the methods package private

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2018-11-15 14:30:19 +08:00
Davanum Srinivas 954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
k8s-ci-robot b8fece50f5
Merge pull request #70892 from mikedanese/schedrace
Fix a race in the scheduler.
2018-11-09 23:01:15 -08:00
Mike Danese 62c3ec969d Fix a race in the scheduler.
Loop over priorityConfigs seperately. The node loop can only safely
modify result[i][index]. Before this change it sometimes modified
result[i] concurrently with other loops.

Fixes: 7164967662

==================== Test output for //pkg/scheduler/core:go_default_test:
==================
WARNING: DATA RACE
Read at 0x00c0005e8ed0 by goroutine 22:
  k8s.io/kubernetes/pkg/scheduler/core.PrioritizeNodes.func2()
      pkg/scheduler/core/generic_scheduler.go:667 +0x2ea
  k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue.ParallelizeUntil.func1()
      staging/src/k8s.io/client-go/util/workqueue/parallelizer.go:65 +0x9e

Previous write at 0x00c0005e8ed0 by goroutine 21:
  k8s.io/kubernetes/pkg/scheduler/core.PrioritizeNodes.func2()
      pkg/scheduler/core/generic_scheduler.go:668 +0x450
  k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue.ParallelizeUntil.func1()
      staging/src/k8s.io/client-go/util/workqueue/parallelizer.go:65 +0x9e

Goroutine 22 (running) created at:
  k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue.ParallelizeUntil()
      staging/src/k8s.io/client-go/util/workqueue/parallelizer.go:57 +0x1a3
  k8s.io/kubernetes/pkg/scheduler/core.PrioritizeNodes()
      pkg/scheduler/core/generic_scheduler.go:682 +0x592
  k8s.io/kubernetes/pkg/scheduler/core.(*genericScheduler).Schedule()
      pkg/scheduler/core/generic_scheduler.go:186 +0x77d
  k8s.io/kubernetes/pkg/scheduler/core.TestGenericScheduler.func1()
      pkg/scheduler/core/generic_scheduler_test.go:464 +0x91f
  testing.tRunner()
      GOROOT/src/testing/testing.go:827 +0x162

Goroutine 21 (running) created at:
  k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue.ParallelizeUntil()
      staging/src/k8s.io/client-go/util/workqueue/parallelizer.go:57 +0x1a3
  k8s.io/kubernetes/pkg/scheduler/core.PrioritizeNodes()
      pkg/scheduler/core/generic_scheduler.go:682 +0x592
  k8s.io/kubernetes/pkg/scheduler/core.(*genericScheduler).Schedule()
      pkg/scheduler/core/generic_scheduler.go:186 +0x77d
  k8s.io/kubernetes/pkg/scheduler/core.TestGenericScheduler.func1()
      pkg/scheduler/core/generic_scheduler_test.go:464 +0x91f
  testing.tRunner()
      GOROOT/src/testing/testing.go:827 +0x162
==================
--- FAIL: TestGenericScheduler (0.01s)
    --- FAIL: TestGenericScheduler/test_6 (0.00s)
        testing.go:771: race detected during execution of test
    testing.go:771: race detected during execution of test
FAIL
2018-11-09 15:21:22 -08:00
Babak "Bobby" Salamat a2c0958428
Revert "Hold mutex lock shorter when processing inter-pod affinity/anti-affin…" 2018-11-08 18:26:26 -08:00
k8s-ci-robot be800e623a
Merge pull request #69663 from sttts/sttts-scheduler-secure-serving
scheduler: enable secure port and authn/z
2018-11-08 17:36:14 -08:00
Dr. Stefan Schimanski d91feb6d18 kube-scheduler: move stopCh creation out of scheduler factory code
Enforces clean ownership of the channel.
2018-11-08 16:43:59 +01:00
tanshanshan cb95edafe8 kube-scheduler: enable secure ports 10259 2018-11-08 16:43:59 +01:00
k8s-ci-robot c5b453b717
Merge pull request #70783 from hex108/debug_extender
Add debug info: scheduler extenders's score and its name for each pod
2018-11-08 02:51:12 -08:00
Jun Gong 9fc369dd0d Add debug info: scheduler extenders's score and its name for each pod 2018-11-08 13:02:57 +08:00
Babak "Bobby" Salamat 2c8e73a16b
Revert "Activate unschedulable pods only if the node became more schedulable" 2018-11-07 16:57:47 -08:00
k8s-ci-robot ed06cbe3e3
Merge pull request #70500 from bsalamat/scheduler_debuger
Add a scheduler cache dumper for debugging purposes
2018-11-06 16:12:54 -08:00
Bobby (Babak) Salamat 48557a163a fixup! Add a scheduler cache dumper 2018-11-06 10:08:22 -08:00
k8s-ci-robot 7984a2bf60
Merge pull request #70564 from KevinWang15/master
Fix typos
2018-11-05 19:04:45 -08:00
Bobby (Babak) Salamat 4bb57c440e Autogenerated files 2018-11-05 13:31:51 -08:00
Bobby (Babak) Salamat 7ce3245ca9 Add a scheduler cache dumper 2018-11-05 13:31:51 -08:00
k8s-ci-robot c0daab0e03
Merge pull request #70274 from zhangmingld/combinesimilercode
combine similar code where calucate schedule priority
2018-11-05 08:14:05 -08:00
Ke Wang 946c701b05 Fix Typo: mataData -> metaData; masquared -> masquerade 2018-11-05 21:19:25 +08:00
k8s-ci-robot 774b18491f
Merge pull request #70605 from bsalamat/affinity_lock_opt
Hold mutex lock shorter when processing inter-pod affinity/anti-affin…
2018-11-04 11:59:05 -08:00
Bobby (Babak) Salamat aa8b5b431b Hold mutex lock shorter when processing inter-pod affinity/anti-affinity priority function 2018-11-02 20:58:07 -07:00
Bobby (Babak) Salamat 7a352b2b92 Do not allocate memory for pods that do not have inter-pod affinity/anti-affinity 2018-11-02 15:15:45 -07:00
k8s-ci-robot b53edbc695
Merge pull request #70348 from zhangmingld/unnecessaryglogv10
duplicated glog.V(10) when had a if glog.V(10)
2018-10-31 01:07:32 -07:00
zhangmingld 7164967662 combine similar code where calucate schedule priority 2018-10-31 08:59:53 +08:00
k8s-ci-robot fda41d14c4
Merge pull request #70366 from mlmhl/scheduler_optimization
Activate unschedulable pods only if the node became more schedulable
2018-10-30 04:57:12 -07:00
k8s-ci-robot 2f175c1b41
Merge pull request #70290 from tossmilestone/scheduler-test-refactor
Refactor scheduler_test.go to use Clientset
2018-10-29 22:07:52 -07:00