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
Aleksandra Malinowska
9c6a0f9aab
Filter out expendable pods before initializing snapshot
2020-03-03 12:05:58 +01:00
Łukasz Osipiuk
fa2c6e4d9e
Propagate cluster state to ClusterSnapshot
2020-02-04 20:51:27 +01:00
Aleksandra Malinowska
3614d4ec33
Test balancing autoprovisioned node groups
2020-02-03 17:54:02 +01:00
Łukasz Osipiuk
dd9fe48f46
Remove filterOutSchedulableSimple
2020-01-29 13:11:38 +01:00
Łukasz Osipiuk
e2ca403123
Return error from NewScaleTestAutoscalingContext
2020-01-29 11:22:07 +01:00
Łukasz Osipiuk
cdcc693ab9
Remove OldBinpackingEstimator
2020-01-14 15:29:16 +01:00
Łukasz Osipiuk
7b499aa4c9
Rename STOCKOUT to RESOURCE_POOL_EXHAUSTED
...
We came into conclusion that using STOCKOUT as error code is too
specific. Migrating to more general term RESOURCE_POOL_EXHAUSTED.
2019-11-12 14:39:51 +01:00
Łukasz Osipiuk
7f083d2393
Move core/utils.go to separate package and split into multiple files
2019-10-22 14:23:40 +02:00
Vivek Bagade
90aa28a077
Move pod packing in upcoming nodes to RunOnce from Estimator for performance improvements
2019-06-19 14:48:47 +02:00
Łukasz Osipiuk
be68d06b40
Add unit test case for OTHER error handling
2019-06-07 16:54:01 +02:00
Krzysztof Jastrzebski
22b4a6283e
Optimize building node infos by using map with pods for nodes.
2019-06-03 13:24:09 +02:00
Krzysztof Jastrzebski
4831d76288
Cache cloud provider node instances in cluster state.
2019-05-31 10:11:51 +02:00
Krzysztof Jastrzebski
da82f831a3
Use fakeNodeLister instead of mocks.
2019-05-27 15:10:31 +02:00
Kubernetes Prow Robot
cb4e60f8d4
Merge pull request #2031 from krzysztof-jastrzebski/master
...
Add functionality which delays node deletion to let other components prepare for deletion.
2019-05-20 00:57:13 -07:00
Łukasz Osipiuk
e76558c65f
Add methods for passing arbitrary object via autoscaling context
...
Change-Id: I066e58010a0aef4989bfc1f73b90bc69c773b26e
2019-05-17 16:38:12 +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
Łukasz Osipiuk
db4c6f1133
Migrate filter out schedulabe to PodListProcessor
2019-04-15 16:59:13 +02:00
Łukasz Osipiuk
c6115b826e
Define ProcessorCallbacks interface
2019-04-15 16:59:13 +02:00
Pengfei Ni
128729bae9
Move schedulercache to package nodeinfo
2019-02-21 12:41:08 +08:00
Vivek Bagade
c6b87841ce
Added a new method that uses pod packing to filter schedulable pods
...
filterOutSchedulableByPacking is an alternative to the older
filterOutSchedulable. filterOutSchedulableByPacking sorts pods in
unschedulableCandidates by priority and filters out pods that can be
scheduled on free capacity on existing nodes. It uses a basic packing
approach to do this. Pods with nominatedNodeName set are always
filtered out.
filterOutSchedulableByPacking is set to be used by default, but, this
can be toggled off by setting filter-out-schedulable-pods-uses-packing
flag to false, which would then activate the older and more lenient
filterOutSchedulable(now called filterOutSchedulableSimple).
Added test cases for both methods.
2019-01-25 16:09:51 +05:30
Vivek Bagade
8fff0f6556
Removing nominatedNodeName annotation and moving to pod.Status.NominatedNodeName
2019-01-25 00:06:03 +05:30
Vivek Bagade
79ef3a6940
unexporting methods in utils.go
2019-01-25 00:06:03 +05:30
Jacek Kaniuk
0c64e0932a
Tainting unneeded nodes as PreferNoSchedule
2019-01-21 13:06:50 +01:00
Łukasz Osipiuk
85a83b62bd
Pass nodeGroup->NodeInfo map to ClusterStateRegistry
...
Change-Id: Ie2a51694b5731b39c8a4135355a3b4c832c26801
2019-01-08 15:52:00 +01:00
Maciej Pytel
3f0da8947a
Use listers in scale-up
2019-01-02 15:56:01 +01:00
Maciej Pytel
9060014992
Use listers in scale-down
2018-12-31 14:55:38 +01:00
Kubernetes Prow Robot
ab7f1e69be
Merge pull request #1464 from losipiuk/lo/stockouts2
...
Better quota-exceeded/stockout handling
2018-12-31 05:28:08 -08:00
Łukasz Osipiuk
ddbe05b279
Add unit test for stockouts handling
2018-12-28 17:17:07 +01:00
Maciej Pytel
60babe7158
Use kubernetes lister for daemonset instead of custom one
...
Also migrate to using apps/v1.DaemonSet instead of old
extensions/v1beta1.
2018-12-28 13:55:41 +01:00
Maciej Pytel
40811c2f8b
Add listers for more controllers
2018-12-28 13:31:21 +01:00
Łukasz Osipiuk
016bf7fc2c
Use k8s.io/klog instead github.com/golang/glog
2018-11-26 17:30:31 +01:00
Łukasz Osipiuk
5962354c81
Inject Backoff instance to ClusterStateRegistry on creation
2018-11-13 14:25:16 +01:00
Łukasz Osipiuk
84d8f6fd31
Remove obsolete implementations of node-related processors
2018-09-05 11:58:46 +02:00
Aleksandra Malinowska
6f9b6f8290
Move ListerRegistry to context
2018-07-26 13:31:49 +02:00
Aleksandra Malinowska
7225a0fcab
Move all Kubernetes API clients to AutoscalingKubeClients
2018-07-26 13:31:48 +02:00
Aleksandra Malinowska
0976d2aa07
Move autoscaling options out of static
2018-07-25 10:52:37 +02:00
Aleksandra Malinowska
6b94d7172d
Move AutoscalingOptions to config/static
2018-07-23 15:52:27 +02:00
Pengfei Ni
be3dd85503
Update scheduler cache package
2018-06-11 13:54:12 +08:00
Maciej Pytel
856855987b
Move some GKE-specific logic outside core
...
No change in actual logic being executed. Added a new
NodeGroupListProcessor interface to encapsulate the existing logic.
Moved PodListProcessor and refactor how it's passed around
to make it consistent and easy to add similar interfaces.
2018-05-29 12:57:19 +02:00
Maciej Pytel
5faa41e683
Move PodListProcessor to new directory
...
It's not really a util and with more processors
coming it makes more sense to keep them in dedicated place.
2018-05-29 12:00:47 +02:00
Karol Gołąb
4c710950de
Move ClusterStateRegistry to StaticAutoscaler
...
AutoscalingContext is basically a configuration and few static helpers
and API handles.
ClusterStateRegistry is state and thus moved to other state-keeping
objects.
2018-05-24 13:03:01 +02:00
Karol Gołąb
854fcc1ff8
Remove implementation details (CleanUp) from the interface.
...
The CleanUp method is instead called directly from the implementation,
when required.
Test updated in a quick way since the mock we're using does not support
AtLeast(1) - thus Times(2).
2018-05-07 15:24:14 +02:00
Krzysztof Jastrzebski
88b769b324
Refactor cluster autoscaler builder and add pod list processor.
2018-04-26 12:37:51 +02:00
Marcin Wielgus
04bec08e84
Compilation fix
2018-03-20 20:11:36 +01:00
Krzysztof Jastrzebski
6c8d3aa37d
Fix unit static autoscaler unit tests.
2017-11-15 16:13:18 +01:00
Krzysztof Jastrzebski
d9c00e5ce1
Adds priority preemption support to cluster autoscaler.
2017-10-23 09:54:56 +02:00
Maciej Pytel
ff21b0b00c
Keep track of nodes that failed to register for a long time
...
Previously a node that failed to register and couldn't be deleted
basically broke CA.
2017-09-27 16:32:04 +02:00
Krzysztof Jastrzebski
16e9106c07
Fix setting target size for group in core/static_autoscaler_test.go.
2017-09-26 10:58:00 +02:00