Commit Graph

7053 Commits

Author SHA1 Message Date
dom.bozzuto dbff9bec63 Move powerState to azure_util, change default to powerStateUnknown
* renames all PowerState* consts to vmPowerState*
* moves vmPowerState* consts and helper functions to azure_util.go
* changes default vmPowerState to vmPowerStateUnknown instead of vmPowerStateStopped when a power state is not set.
2023-07-05 09:45:03 -04:00
Maximilian Rink 481a733f34
update RBAC to only use verbs that exist for the resources
Signed-off-by: Maximilian Rink <maximilian.rink@telekom.de>
2023-07-05 12:50:55 +02:00
Kubernetes Prow Robot 4606cdf1b9
Merge pull request #5905 from kisieland/auto-context
Add ClusterStateRegistry to the AutoscalingContext
2023-07-05 03:18:55 -07:00
Kubernetes Prow Robot 2779677fc7
Merge pull request #5917 from ystryuchkov/feature/runtime-limits
Implement configurable thresholds for threshold based estimator
2023-07-05 02:24:55 -07:00
Yuriy Stryuchkov b4213d8244 Add support for negative binpacking duration limit in threshold based estimation limiter 2023-07-05 10:56:33 +02:00
Yuriy Stryuchkov f3dfeeeb47 Make signature of GetDurationLimit uniformed with GetNodeLimit
For SNG threshold include capacity of the currently estimated node group (as it is not part of SNG itself)
Replaced direct calls with use of getters in cluster capacity threshold
Renamed getters removing the verb Get
Replace EstimationContext struct with interface
Add support for negative threshold value in estimation limiter
2023-07-04 17:42:21 +02:00
Daniel Gutowski 5fed449792 Add ClusterStateRegistry to the AutoscalingContext.
Due to the dependency of the MaxNodeProvisionTimeProvider on the context
the provider was extracted to a dedicated package and injected to the
ClusterStateRegistry after context creation.
2023-07-04 05:00:09 -07:00
Yuriy Stryuchkov 363fd1638a
Merge branch 'kubernetes:master' into feature/runtime-limits 2023-07-04 10:49:59 +02:00
Kubernetes Prow Robot adb16c829e
Merge pull request #5901 from olagacek/master
Remove unneeded node groups regardless of scale down being in cooldown.
2023-07-04 00:56:53 -07:00
Yuriy Stryuchkov 0d0e3fce38 Fix tests 2023-07-03 14:55:06 +02:00
Yuriy Stryuchkov 7c293ae2c0 Merge branch 'master' into feature/runtime-limits
# Conflicts:
#	cluster-autoscaler/core/scaleup/orchestrator/orchestrator.go
2023-07-03 14:25:11 +02:00
Yuriy Stryuchkov a947ec1f57 Implement threshold interface for use by threshold based limiter
Add EstimationContext to take into account runtime state of the autoscaling for estimations
Implement static threshold
Implement cluster capacity threshold for Estimation Limiter
Implement similar node groups capacity threshold for Estimation Limiter
Set default estimation thresholds
2023-07-03 13:52:14 +02:00
Kubernetes Prow Robot 3c32e7779d
Merge pull request #5911 from wu0407/add-status-subresource
Add subresource status for vpa
2023-07-03 02:30:51 -07:00
Kubernetes Prow Robot 136976e893
Merge pull request #5864 from kwiesmueller/master
Record all vpa api versions in recommender metrics
2023-07-03 02:12:51 -07:00
Kubernetes Prow Robot 3eacc05351
Merge pull request #5813 from qianlei90/feat-add-metrics
feat(metrics): add metrics to observe where time is consumed in scale up
2023-07-03 01:36:51 -07:00
xiaoqing 1f342ffcf6 Add subresource status for vpa
Add status field in subresource on crd yaml and add new ClusterRole system:vpa-actor to patch /status subresource.
The `metadata.generation` only increase on vpa spec update.
Fix e2e test for patch and create vpa
2023-07-03 11:09:00 +08:00
Kevin Wiesmueller d6e016f590 Record all vpa api versions in recommender metrics
Change the tracking of APIVersion from a boolean
indicating if the VPA is v1beta1
to the version string
and make sure it gets exported
in metrics.

Add tests for the recommender metrics.
2023-06-30 17:30:14 +00:00
Kubernetes Prow Robot e6397c65a2
Merge pull request #5826 from hbostan/master
Add support for scaling up with ZeroToMaxNodesScaling option
2023-06-30 05:58:42 -07:00
Hakan Bostan 333a0286e0 Rename the autoscaling option
* Renamed the "AtomicScaling" autoscaling option to
  "ZeroOrMaxNodeScaling" to be more clear about the behavior.
2023-06-30 11:17:53 +00:00
Hakan Bostan 8ba34ea74b Change handling of scale up options for ZeroToMaxNodeScaling in orchestrator
* Started handling scale up options for ZeroToMaxNodeScaling with the existing estimator
* Skip setting similar node groups for the node groups that use
  ZeroToMaxNodeScaling
* Renamed the autoscaling option from "AtomicScaleUp" to "AtomicScaling"
* Merged multiple tests into one single table driven test.
* Fixed some typos.
2023-06-30 11:17:53 +00:00
Hakan Bostan 79c611c272 Merge tests for ZeroToMaxNodesScaling into one table-driven test.
* Merged multiple tests into one single table driven test.
* Fixed some typos.
2023-06-30 11:17:53 +00:00
Hakan Bostan 38d18c640d Remove unused field in expander and add comment about estimator 2023-06-30 11:17:53 +00:00
Hakan Bostan c255aaa2a9 Use appropriate logging levels 2023-06-30 11:17:53 +00:00
Hakan Bostan 7b8e0e62a7 Add support for scaling up ZeroToMaxNodesScaling node groups 2023-06-30 11:17:53 +00:00
Kubernetes Prow Robot c887626bec
Merge pull request #5913 from voelzmo/fix/generate-crds-with-weird-temp-folder-name
Quote temp folder name parameter to avoid errors
2023-06-30 03:51:45 -07:00
Kubernetes Prow Robot 0dd63f1680
Merge pull request #5915 from BigDarkClown/be-approver
Add BigDarkClown to Cluster Autoscaler approvers
2023-06-30 03:25:45 -07:00
Bartłomiej Wróblewski 6c7ae1a263 Add BigDarkClown to Cluster Autoscaler approvers 2023-06-30 09:49:53 +00:00
Kubernetes Prow Robot 4c55b17971
Merge pull request #5695 from kawych/tpu
Add atomic scale down option for node groups
2023-06-30 01:55:48 -07:00
Kubernetes Prow Robot 973f9fd371
Merge pull request #5894 from BigDarkClown/fix-cs
Include short unregistered nodes in calculation of incorrect node group
2023-06-29 05:07:37 -07:00
Bartłomiej Wróblewski 67d3e7ebc4 Include short unregistered nodes in calculation of incorrect node group
sizes
2023-06-29 10:28:48 +00:00
Marco Voelz d3a1f4f7e9 Quote temp folder name parameter to avoid errors 2023-06-29 10:42:06 +02:00
Kubernetes Prow Robot 8f83f7ec43
Merge pull request #5896 from kwiesmueller/test-util-builder-cleanup
Replace `BuildTestContainer` with use of builder
2023-06-28 09:12:31 -07:00
Kubernetes Prow Robot 5a23f6996f
Merge pull request #5904 from jbartosik/update-vpa-vendor
Update VPA vendor
2023-06-28 08:10:31 -07:00
Kevin Wiesmueller db507cdde1 Replace `BuildTestContainer` with use of builder 2023-06-28 14:58:39 +00:00
Joachim Bartosik 0e7d3279bc Update VPA vendor
Generated by runing:

```
go mod tidy
go mod vendor
```
2023-06-28 16:01:03 +02:00
Kubernetes Prow Robot 03b45e2445
Merge pull request #5895 from kwiesmueller/e2e-todo-1
update agnhost image to pull from registry.k8s.io
2023-06-28 04:50:32 -07:00
Aleksandra Gacek 72c0a7e3e7 Remove unneeded node groups regardless of scale down being in cooldown. 2023-06-28 12:51:26 +02:00
Karol Wychowaniec 753b024dbc Bugfix for budget cropping
Previous "CropNodes" function of ScaleDownBudgetProcessor had an
assumption that atomically-scaled node groups should be classified as
"empty" or "drain" as a whole, however Cluster Autoscaler may classify
some of the nodes from a single group as "empty" and other as "drain".
2023-06-28 10:04:19 +00:00
Joachim 1c8ec5c5f1
Merge pull request #5897 from jbartosik/revert-subresource
Revert "Add subresource status for vpa"
2023-06-28 10:51:08 +02:00
Joachim Bartosik b24a41df0c Revert "Add subresource status for vpa"
This reverts commit 1384c8bc09.
2023-06-28 09:48:10 +02:00
Kevin Wiesmueller 76a7d21079 update agnhost image to pull from registry.k8s.io 2023-06-27 18:42:49 +00:00
Kubernetes Prow Robot 1dd1e3d74b
Merge pull request #5893 from kushagra98/master
Sort nodegroups in order of their ID
2023-06-27 07:14:32 -07:00
Karol Wychowaniec 374cf611b7 Address next set of comments 2023-06-27 13:35:02 +00:00
Kushagra 072317f001 address comments 2023-06-27 13:31:25 +00:00
Karol Wychowaniec 05e1fe1f1c Use single AtomicScaling option for scale up and scale down 2023-06-27 12:28:33 +00:00
Karol Wychowaniec 5448bd2f1e Add unit test for group_deletion_scheduler 2023-06-27 12:28:33 +00:00
Karol Wychowaniec 257e66c9b4 Don't pass NodeGroup as a parameter to functions running asynchronously 2023-06-27 12:28:33 +00:00
Karol Wychowaniec 1ecb84389b Respond to readability-related comments from the review 2023-06-27 12:28:33 +00:00
Karol Wychowaniec 7e3e15bd16 Support atomic scale-down option for node groups 2023-06-27 12:28:33 +00:00
Karol Wychowaniec 292a517300 Extract cropNodesToBudgets function out of actuator file 2023-06-27 12:28:33 +00:00