Commit Graph

208 Commits

Author SHA1 Message Date
Bartłomiej Wróblewski 0fb897b839 Update imports after scheduler scheduler/framework/v1alpha1 removal 2020-11-30 10:48:52 +00:00
Jakub Tużnik 6a528b45de Include taints by condition when determining if a node is unready/still starting
Conditions and their corresponding taints can sometimes skew, which
can cause unnecessary scale-up. CA thinks nodes are ready because it
looks only at the conditions, but scheduler predicates fail because they
consider the taints as well. CA adds nodes, even though the existing
nodes are still starting. This commit brings CA behavior in line
with scheduler predicates behavior, eliminating the unnecessary
scale-up.
2020-11-02 11:15:42 +01:00
Jayant Jain d987394c55 review fixes.
added explicit ignoring for write func
2020-10-01 14:35:43 +00:00
Jayant Jain ccd405e80a lint fix 2020-10-01 12:29:16 +00:00
Jayant Jain a632d33b9a added a new NodeGroupDoesNotExistError in errors.go
This is to support no nodepool exists conditions, which crashes Autoscaler
2020-10-01 12:21:08 +00:00
Kubernetes Prow Robot af750c38af
Merge pull request #3040 from johanneswuerbach/aws-impaired-vols
Ignore AWS NodeWithImpairedVolumes taint
2020-07-06 02:10:52 -07:00
Maciek Pytel 2160e6d49e Rewrite glogx to work with klogv2 (+rename klogx) 2020-06-05 17:22:26 +02:00
Maciek Pytel 655b4081f4 Migrate to klog v2 2020-06-05 17:22:26 +02:00
Jakub Tużnik 73a5cdf928 Address recent breaking changes in scheduler
The following things changed in scheduler and needed to be fixed:
* NodeInfo was moved to schedulerframework
* Some fields on NodeInfo are now exposed directly instead of via getters
* NodeInfo.Pods is now a list of *schedulerframework.PodInfo, not *apiv1.Pod
* SharedLister and NodeInfoLister were moved to schedulerframework
* PodLister was removed
2020-04-24 17:54:47 +02:00
Jakub Tużnik b2f19b10e1 Fix eventRecorder throttling to include log lines
Previously, eventRecorder would throttle the actual events, but not
the information about them logged via klog.
2020-04-15 12:48:45 +02:00
Johannes Würbach 86ba8ee11b
Ignore AWS NodeWithImpairedVolumes taint 2020-04-12 15:03:59 +02:00
Kubernetes Prow Robot 17772967df
Merge pull request #2875 from vivekbagade/update-vendor
Update vendor
2020-03-02 06:26:43 -08:00
Vivek Bagade 3c84a7476e change taints from scheduler api to cloudprovider api 2020-03-02 15:01:47 +01:00
Aleksandra Malinowska a498dd661f resolve todo in GetDaemonSetPodsForNode 2020-02-27 11:23:23 +01:00
Julien Balestra 107eb680eb cluster-autoscaler/taints: fix filtering logic
Signed-off-by: Julien Balestra <julien.balestra@datadoghq.com>
2020-02-25 13:57:24 +01:00
Julien Balestra 628128f65e cluster-autoscaler/taints: refactor current taint logics in the same package
Signed-off-by: Julien Balestra <julien.balestra@datadoghq.com>
2020-02-25 13:57:23 +01:00
Julien Balestra af270b05f6 cluster-autoscaler/taints: ignore taints on existing nodes
Signed-off-by: Julien Balestra <julien.balestra@datadoghq.com>
2020-02-25 13:55:17 +01:00
Aleksandra Malinowska 5d44b202bc Forget FakeNodeInfoForNodeName ever existed 2020-02-21 15:36:21 +01:00
Aleksandra Malinowska 70ef92a12a Fixes in CA for vendor update 2020-02-13 15:28:29 +01:00
Jakub Tużnik 7a188ab50d Provide ScaleDownStatusProcessor with info about unremovable nodes 2020-02-11 15:27:33 +01:00
Łukasz Osipiuk 156ea8b5d3 Remove NodeWithPod 2020-02-04 20:52:05 +01:00
Łukasz Osipiuk e8eb30e75a Better error checking in GetDaemonSetPodsForNode 2020-02-04 20:52:03 +01:00
Łukasz Osipiuk d7770e3044 Use ClusterSnapshot in ScaleDown 2020-02-04 20:51:48 +01:00
Łukasz Osipiuk 57615ba0b0 Use ClusterSnapshot in GetDaemonSetPodsForNode 2020-02-04 20:51:46 +01:00
Łukasz Osipiuk 6b2287af4f Pass ClusterSnaphost explicitly to PredicateChecker 2020-02-04 20:51:24 +01:00
Łukasz Osipiuk db85b1b6f1 Implement NewTestPredicateChecker 2020-02-04 20:51:20 +01:00
Łukasz Osipiuk 373c558303 Extract PredicateChecker interface 2020-02-04 20:51:18 +01:00
Łukasz Osipiuk 4a2b8c7dfc Remove use of PredicateMetadata 2020-02-04 20:51:05 +01:00
Łukasz Osipiuk a0fcc36401 Get rid of removed NodeLister.listWithPredicates 2020-02-04 20:51:04 +01:00
Łukasz Osipiuk 1469058470 Get rid of removed testapis 2020-02-04 20:51:03 +01:00
Kubernetes Prow Robot a5322bac94
Merge pull request #2707 from losipiuk/lo/remove-extra-copy
Remove extra slice copy
2020-01-03 02:43:40 -08:00
Łukasz Osipiuk 2e3cc9e1ea Remove extra slice copy
Change-Id: I707d51712281b86d8dd32105dc284359c1c09e53
2020-01-03 11:26:02 +01:00
Łukasz Osipiuk 90a7e47123 Add GPU taint toleration for test pods requiring GPUs 2020-01-03 11:22:21 +01:00
Łukasz Osipiuk 1b6c75f4f9 Set StartTime in Pod objects used in tests 2019-11-22 14:08:09 +01:00
cedric lamoriniere f0fbf7a87a [cluster-autoscaler] Allow “custom” DaemonSet pods
* Create `utils/pod` package: pod kind detection functions.
* Update DaemonSet Pod detection logic: introduce the annotation
  `cluster-autoscaler.kubernetes.io/daemonset-pod` to declare a Pod as a
  DaemonSet Pod.
* Update `simulator` package to use the new `utils/pod` package function.
* Cleanup `getRequiredPodsForNode()` function.

Signed-off-by: cedric lamoriniere <cedric.lamoriniere@datadoghq.com>
2019-11-06 11:23:23 +01:00
Kubernetes Prow Robot 61c4ced984
Merge pull request #2305 from losipiuk/lo/update-vendor
Revendor against tip of k8s.io/kubernetes to prepare for 1.16 release of CA
2019-09-06 03:00:57 -07:00
Łukasz Osipiuk 79b4614328 Use NodeDiskPressure conditino instead of NodeOutOfDisk 2019-09-05 23:23:43 +02:00
Krzysztof Jastrzebski 78c2c0e371 Fix bug in ready node listener. Previously it was returning all nodes. 2019-09-05 11:59:32 +02:00
Kubernetes Prow Robot 0acff549d3
Merge pull request #2244 from Denton24646/fix/update-duration-in-exponential-backoff
fix: increase exponential backoff duration regardless of backoff status
2019-08-19 04:03:36 -07:00
Denton24646 ef59c8f0c3 fix: increase duration regardless of backoff status
fix: update test

fix: run gofmt on test

fix: more intelligent duration increasing if in backoff already

set duration = backoffInfo.duration; update comments and test

set NodeGroup backoff duration = backoffInfo.duration
2019-08-13 10:08:38 -04:00
Vivek Bagade dc64d0aab2 Adding ScaleDownNodeProcessor 2019-08-12 20:19:55 +02:00
Vivek Bagade 6601bf0598 Adding config for event filtering
CA Scalability improvement by throttling number of events
fired in the case where there are a lot of unschedulable
pods.
2019-06-28 12:02:43 +02:00
Kubernetes Prow Robot a0853bcc80
Merge pull request #2071 from losipiuk/lo/predicate-checker-speedup
Precompute inter pod equivalence groups in checkPodsSchedulableOnNode
2019-06-03 03:52:16 -07:00
Łukasz Osipiuk a849ead286 Precompute inter pod equivalence groups in checkPodsSchedulableOnNode 2019-05-29 18:05:52 +02:00
Shintaro Murakami 1c906a25ed Create stores and reflectors with a simpler way 2019-05-29 10:27:42 +09:00
Kubernetes Prow Robot f73fd850f6
Merge pull request #2046 from krzysztof-jastrzebski/master
Merge AllNodeLister with ReadyNodeLister.
2019-05-28 01:55:53 -07:00
Krzysztof Jastrzebski fc91eaa288 Merge AllNodeLister with ReadyNodeLister. 2019-05-28 10:41:08 +02:00
Krzysztof Jastrzebski da82f831a3 Use fakeNodeLister instead of mocks. 2019-05-27 15:10:31 +02:00
Krzysztof Jastrzebski 4247c8b032 Implement functionality which delays node deletion when node has
annotation with  prefix
'delay-deletion.cluster-autoscaler.kubernetes.io/'.
2019-05-17 16:06:17 +02:00
Lukasz Piatkowski 856e58d599 rely on listers instead of watch api 2019-04-16 13:47:54 +02:00