Andrew McDermott
e8b3c2a111
compare_nodegroups: Tolerate small differences in memory capacity
...
The current comparator expects memory capacity values to be identical.
However across AWS, Azure and GCP I quite often see very small
differences in capacity, typically 8-16Ki. When this occurs the
nodegroups are considered not equal when balancing is in effect which
is unfortunate because, in reality, they are identical.
This change will now tolerate a 128Ki difference before memory
capacity values are considered unequal.
2019-09-06 15:55:51 +01:00
Kubernetes Prow Robot
4c056fb8ba
Merge pull request #2259 from towca/jtuznik/rejected-node-groups-more-info
...
Provide ScaleUpStatusProcessor with info about all rejected node groups
2019-08-19 04:05:31 -07:00
Kubernetes Prow Robot
3f0a5fa3c2
Merge pull request #2233 from vivekbagade/surge
...
Adding ScaleDownNodeProcessor
2019-08-19 03:59:32 -07:00
Jakub Tużnik
43466ff837
Provide ScaleUpStatusProcessor with info about all rejected node groups
...
Previously, it had info only about the ones that actually exist.
The changes to the eventing processor are done to keep its previous
behavior the same.
2019-08-19 12:48:10 +02:00
Kubernetes Prow Robot
60bdca087d
Merge pull request #2255 from towca/jtuznik/create-node-group-result
...
Provide more info to ScaleUpStatusProcessor
2019-08-13 06:51:41 -07:00
Vivek Bagade
dc64d0aab2
Adding ScaleDownNodeProcessor
2019-08-12 20:19:55 +02:00
Jakub Tużnik
935476a7e2
Provide more info to ScaleUpStatusProcessor
...
Add info about considered and created nodegroups to
ScaleUpStatusProcessor
2019-08-12 17:20:09 +02:00
Jakub Tużnik
44ae89dd09
Communicate the result of RemoveUnneededNodeGroups to ScaleDownStatusProcessor
2019-08-12 17:03:51 +02:00
Krzysztof Jastrzebski
75030ee2ec
Fix bug in balancing processor. Cluster Autoscaler was stopping scaling
...
up when there was a multizonal pool with number of nodes exceeding limit for one zone.
2019-07-29 09:28:20 +02:00
t-qini
89a09ccf00
Refactor the corresponding code.
2019-07-22 08:58:51 +08:00
t-qini
f7c563ab06
Modify the code as the simple solution proposed by MaciekPytel.
2019-07-18 23:58:05 +08:00
t-qini
622a838c2c
Modify nodal similarity rules.
2019-07-09 16:04:40 +08:00
Vivek Bagade
04aec6bbd3
Delaying events in the case of scaleup and scaleup error
2019-06-24 11:25:02 +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
e76558c65f
Add methods for passing arbitrary object via autoscaling context
...
Change-Id: I066e58010a0aef4989bfc1f73b90bc69c773b26e
2019-05-17 16:38:12 +02:00
Jakub Tużnik
b92f971326
Provide ScaleDownStatusProcessor with more info about scale-down results
2019-04-30 13:49:06 +02:00
Łukasz Osipiuk
db4c6f1133
Migrate filter out schedulabe to PodListProcessor
2019-04-15 16:59:13 +02:00
Łukasz Osipiuk
5c09c50774
Pass ready nodes list to PodListProcessor
2019-04-15 16:59:13 +02:00
Łukasz Osipiuk
c6115b826e
Define ProcessorCallbacks interface
2019-04-15 16:59:13 +02:00
Łukasz Osipiuk
34a4262ad8
Remove GKE specific node group comparator
...
Change-Id: I33131fec9b7972780cffde605a087cd2ad002752
2019-03-11 17:49:59 +01:00
Pengfei Ni
2546d0d97c
Move leaderelection options to new packages
2019-02-21 13:45:46 +08:00
Pengfei Ni
128729bae9
Move schedulercache to package nodeinfo
2019-02-21 12:41:08 +08:00
JoeWrightss
7b3c8603a4
Fix some typos
2018-12-03 15:59:16 +08:00
Łukasz Osipiuk
016bf7fc2c
Use k8s.io/klog instead github.com/golang/glog
2018-11-26 17:30:31 +01:00
Maciej Pytel
01a56a8d73
Add GKE-specific NodeGroupSet processor
...
Also refactor Balancing processor a bit to make it easily extensible.
2018-10-25 18:50:17 +02:00
Maciej Pytel
6f5e6aab6f
Move node group balancing to processor
...
The goal is to allow customization of this logic
for different use-case and cloudproviders.
2018-10-25 14:04:05 +02:00
Jakub Tużnik
8179e4e716
Refactor the scale-(up|down) status processors so that they have more info available
...
Replace the simple boolean ScaledUp property of ScaleUpStatus with a more
comprehensive ScaleUpResult. Add more possible values to ScaleDownResult.
Refactor the processors execution so that they are always executed every
iteration, even if RunOnce exits earlier.
2018-09-20 17:12:02 +02:00
Łukasz Osipiuk
bf8cfef10b
NodeGroupManager.CreateNodeGroup can return extra created node groups.
2018-09-19 13:55:51 +02:00
Jakub Tużnik
71111da20c
Add a scale down status processor, refactor so that there's more scale down info available to it
2018-09-12 14:52:20 +02:00
Łukasz Osipiuk
84d8f6fd31
Remove obsolete implementations of node-related processors
2018-09-05 11:58:46 +02:00
Aleksandra Malinowska
b88e6019f7
code review fixes 3
2018-08-28 18:11:04 +02:00
Aleksandra Malinowska
5620f76c62
Pass NoScaleUpInfo to ScaleUpStatus processor
2018-08-28 14:26:03 +02:00
Aleksandra Malinowska
cd9808185e
Report reason why pod didn't trigger scale-up
2018-08-28 14:11:36 +02:00
Aleksandra Malinowska
90b67feff2
Make Create() return newly created node group
2018-08-08 14:56:59 +02:00
Jakub Tużnik
054f0b3b90
Add AutoscalingStatusProcessor
2018-08-07 14:47:06 +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
Krzysztof Jastrzebski
2df2568841
Move removing unneeded autoprovisioned node groups to node group manager
2018-06-22 14:26:12 +02:00
Krzysztof Jastrzebski
99c8c51bb3
Create NodeGroupManager which is responsible for creating/deleting node groups.
2018-06-14 16:11:32 +02:00
Pengfei Ni
be3dd85503
Update scheduler cache package
2018-06-11 13:54:12 +08:00
Beata Skiba
e9d2afda21
Add NoOpScaleUpStatusProcessor
...
This will be useful for the purposes of testing.
2018-06-07 16:06:08 +02:00
Beata Skiba
b8ae6df5d3
Add post scale up status processor.
2018-06-06 13:34:49 +02: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