Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync with upstream v1.29.4 #327

Merged
merged 1,063 commits into from
Oct 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1063 commits
Select commit Hold shift + click to select a range
1fee557
Update with make generate
ROunofF Sep 27, 2023
7cb08df
Add pdb filtering to remainingPdbTracker
artemvmin Sep 30, 2023
125e9c1
Convert replicated, system, not-safe-to-evict, and local storage pods…
artemvmin Sep 30, 2023
d6ee96d
Convert scale-down pdb check to drainability rule
artemvmin Sep 30, 2023
324a33e
Pass DeleteOptions once during default rule creation
artemvmin Oct 2, 2023
2fa6c26
Split out custom controller and common checks into separate drainabil…
artemvmin Oct 4, 2023
96e67ee
Filter out disabled drainability rules during creation
artemvmin Oct 6, 2023
084264c
Refactor GetPodsForDeletion logic and tests into simulator
artemvmin Oct 6, 2023
9a7459c
Fix custom controller drainability rule and add test coverage
artemvmin Oct 9, 2023
33e300f
Add unit test for long-terminating pod past grace period
artemvmin Oct 9, 2023
133fdc7
Merge pull request #6164 from artemvmin/scale-down-drainability
k8s-ci-robot Oct 11, 2023
48b481b
Removed node drainer, kept node termination handler
dumlutimuralp Oct 12, 2023
5c65c39
Merge pull request #6185 from ROunofF/master
k8s-ci-robot Oct 12, 2023
833e4cb
Add HasNodeGroupStartedScaleUp to cluster state registry.
hbostan Oct 3, 2023
3065285
Merge pull request #6169 from hbostan/master
k8s-ci-robot Oct 13, 2023
f115964
Add kwiesmueller to OWNERS
rsgowman Oct 16, 2023
3899147
Merge pull request #6198 from rsgowman/rsgowman/owners
k8s-ci-robot Oct 16, 2023
79c1ff4
Add information about provisioning-class-name annotation.
kisieland Oct 16, 2023
cc888a1
Merge pull request #6197 from kisieland/prov-req-annotation-fix
k8s-ci-robot Oct 17, 2023
e56c2d8
Remove redundant if branch
mikutas Oct 17, 2023
dab41cc
Merge pull request #6157 from mikutas/6156-informer
k8s-ci-robot Oct 18, 2023
87013c2
Add mechanism to override drainability status
artemvmin Oct 13, 2023
a0d56b3
Log drainability override
artemvmin Oct 16, 2023
3b70373
fix(cluster-autoscaler-chart): if secretKeyRefNameOverride is true, d…
jonwraymond Oct 18, 2023
7e0b682
fix: correct version bump
jonwraymond Oct 18, 2023
a3a29cf
Merge pull request #6196 from artemvmin/drain-blocking-rule
k8s-ci-robot Oct 19, 2023
ab4c5cb
Initialize default drainability rules
artemvmin Oct 19, 2023
e1408ed
feat: each node pool can now have different init configs
Silvest89 Oct 10, 2023
4103407
Merge pull request #6210 from artemvmin/set-drainability-rules
k8s-ci-robot Oct 19, 2023
54d3a4c
ClusterAPI: Allow overriding the kubernetes.io/arch label set by the …
aleskandro Aug 26, 2023
8c35e0a
Merge pull request #6066 from aleskandro/fix-default-label-arch
k8s-ci-robot Oct 19, 2023
f1a5ffe
Merge pull request #6184 from Silvest89/hetzner-provider-multi-node-p…
k8s-ci-robot Oct 20, 2023
83723e1
Update image builder to use Go 1.21.3
towca Oct 20, 2023
4872bdd
Merge pull request #6212 from kubernetes/towca-patch-1
k8s-ci-robot Oct 20, 2023
d532844
Add node-delete-delay-after-taint to FAQ
lisenet Oct 20, 2023
fe6eae5
Reports node taints.
piotrwrotniak Oct 17, 2023
ddaa9f0
Add debugging-snapshot-enabled back
lisenet Oct 20, 2023
d88664a
Rename comments, logs, structs, and vars from packet to equinix metal
aayushrangwala Sep 4, 2023
4c75ced
Rename types
aayushrangwala Sep 18, 2023
1ec0667
fix: provider name to be used in builder to provide backward compatib…
aayushrangwala Sep 21, 2023
e4a4747
Rename comments, logs, structs, and vars from packet to equinix metal
aayushrangwala Sep 4, 2023
b00ec61
Created a new env var for metal to replace/support packet env vars as…
aayushrangwala Sep 4, 2023
0d84ab6
Support backward compatibility for PACKET_MANAGER env var
aayushrangwala Oct 12, 2023
5cea330
Merge pull request #6201 from piotrwrotniak/addmetrics
k8s-ci-robot Oct 23, 2023
1e4cb18
fix: refactor cloud provider names
aayushrangwala Oct 23, 2023
1ff7028
Merge pull request #6206 from jonwraymond/fix-secret
k8s-ci-robot Oct 23, 2023
557b0f2
Merge pull request #6214 from lisenet/fix-add-node-delete-delay-after…
k8s-ci-robot Oct 23, 2023
6fd2cb5
Documents startup/status/ignore node taints.
piotrwrotniak Oct 20, 2023
69883a4
Adding price info for c3d
ndixita Oct 24, 2023
c068feb
Merge pull request #6218 from piotrwrotniak/adddocs
k8s-ci-robot Oct 24, 2023
57a4cef
Merge pull request #6219 from ndixita/master
k8s-ci-robot Oct 24, 2023
85e97c2
Bump CA golang to 1.21.3
azylinski Oct 24, 2023
f872258
Merge pull request #6085 from aayushrangwala/rename-metal-env
k8s-ci-robot Oct 26, 2023
4d8e654
Merge pull request #6220 from azylinski/bump-go-1.21
k8s-ci-robot Oct 26, 2023
d0e1546
cloudprovider/exoscale: update limits/quotas URL
irregulator Oct 30, 2023
cc348f1
Add the AppVersion to cluster-autoscaler.labels as app.kubernetes.io/…
jw-maynard Aug 3, 2023
1b69238
Bump version in chart.yaml
jw-maynard Aug 3, 2023
ffec40d
Merge pull request #5599 from voelzmo/enh/implement-eviction-behavior…
k8s-ci-robot Nov 2, 2023
db5e83b
Merge pull request #6233 from irregulator/master
k8s-ci-robot Nov 2, 2023
c7ec443
add note for CRD and RBAC handling for VPA (>=1.0.0)
wu0407 Nov 3, 2023
b7b45f7
feat(helm): add support for exoscale provider
thomasstxyz Nov 4, 2023
321eb9e
Add TOC link in README for EvictionRequirement example
voelzmo Nov 6, 2023
e134cb2
Fix 'evictionRequirements.resources' to be plural in yaml
voelzmo Nov 6, 2023
7f55435
Run 'hack/generate-crd-yamls.sh'
voelzmo Nov 6, 2023
383337e
Adapt AEP to have 'resources' in plural
voelzmo Nov 6, 2023
f229fb5
Remove deprecated dependency: gogo/protobuf
azylinski Nov 7, 2023
4470430
Fix klog formating directives in cluster-autoscaler package.
olagacek Nov 7, 2023
ec8f1ef
Update kubernetes dependencies to 1.29.0-alpha.3.
olagacek Nov 7, 2023
5bd2005
Change scheduler framework function names after recent refactor in
olagacek Nov 7, 2023
eda7809
Merge pull request #6255 from olagacek/master
k8s-ci-robot Nov 7, 2023
d4c6e2f
Merge pull request #6257 from olagacek/master
k8s-ci-robot Nov 7, 2023
0bf9dc0
Merge branch 'master' into rm-gogo-protobuf
azylinski Nov 8, 2023
185cae3
chore(helm): bump version of cluster-autoscaler
thomasstxyz Nov 8, 2023
c873215
chore(helm): docs, update README template
thomasstxyz Nov 8, 2023
51dec6e
Merge pull request #6253 from azylinski/rm-gogo-protobuf
k8s-ci-robot Nov 8, 2023
7ffb662
Fix capacityType label in AWS ManagedNodeGroup
sibucan Nov 8, 2023
2b1f29d
Cleanup: Remove deprecated github.com/golang/protobuf usage
azylinski Nov 7, 2023
f2b8272
Remove maps.Copy usage.
piotrwrotniak Nov 9, 2023
fe403c2
Merge pull request #6263 from piotrwrotniak/patch-1
k8s-ci-robot Nov 9, 2023
f03e98f
chore: upgrade vpa go and k8s dependencies
a7i Nov 7, 2023
185143d
ScaleUp is only ever called when there are unscheduled pods
grosser Nov 9, 2023
67ccba1
Merge pull request #6098 from wu0407/add-update-crd-note
k8s-ci-robot Nov 9, 2023
c3e33c7
Merge pull request #6258 from a7i/vpa-k8s-1.28
k8s-ci-robot Nov 9, 2023
f8d1c50
Bump golang from 1.21.2 to 1.21.4 in /vertical-pod-autoscaler/builder
dependabot[bot] Nov 9, 2023
b15b745
Disambiguate the resource usage node removal eligibility messages
shapirus Oct 24, 2023
9d4cc86
Merge pull request #6223 from shapirus/master
k8s-ci-robot Nov 10, 2023
edad525
Merge pull request #6254 from azylinski/rm-deprecated-golang-protobuf…
k8s-ci-robot Nov 10, 2023
747d0b9
Cleanup: Remove separate client for k8s events
azylinski Nov 6, 2023
e525b02
Merge pull request #6274 from azylinski/rm-separate-k8s-events-client
k8s-ci-robot Nov 14, 2023
dc3a239
Merge pull request #6249 from WhizUs/feat/helmchart-cloudprovider-exo…
k8s-ci-robot Nov 14, 2023
996bf06
Merge branch 'master' into add-version-labels
gjtempleton Nov 14, 2023
bb623b0
Update Chart.yaml
gjtempleton Nov 14, 2023
cb785f2
Merge pull request #6012 from jw-maynard/add-version-labels
k8s-ci-robot Nov 15, 2023
e836e47
Remove gce-expander-ephemeral-storage-support flag
azylinski Nov 14, 2023
ed84969
Merge pull request #6262 from kubernetes/dependabot/docker/vertical-p…
k8s-ci-robot Nov 15, 2023
53071ec
Add min/max/current asg size to log
mads-hartmann Nov 15, 2023
5c286e1
Clarify that log line updates cache, now AWS
mads-hartmann Nov 15, 2023
54bfbfa
Update README.md: Link to Cluster-API
guettli Oct 13, 2023
b8c7165
Merge pull request #6282 from mads-hartmann/mads/log-min-max-cur-size…
k8s-ci-robot Nov 15, 2023
0c48815
Merge pull request #6250 from voelzmo/enh/add-link-to-evictionrequire…
k8s-ci-robot Nov 15, 2023
6a7e6a2
Merge pull request #6194 from guettli/patch-2
k8s-ci-robot Nov 15, 2023
ed6ca63
azure: add owner-jackfrancis
gandhipr Nov 15, 2023
84b978a
Update OWNERS - typo
gandhipr Nov 15, 2023
82f85c2
Merge pull request #6288 from gandhipr/add-approver-azure-cas
k8s-ci-robot Nov 16, 2023
0dd7b86
Update README.md
dumlutimuralp Nov 16, 2023
f7b8072
Merge pull request #6192 from dumlutimuralp/patch-1
k8s-ci-robot Nov 16, 2023
909c140
Merge pull request #6266 from zendesk/grosser/clear
k8s-ci-robot Nov 16, 2023
841315f
Template the autoDiscovery.clusterName variable in the Helm chart
mtougeron Oct 11, 2023
4eacea0
Merge pull request #6189 from mtougeron/tpl-clusterName-in-chart
k8s-ci-robot Nov 16, 2023
db80037
fix: Add revisionHistoryLimit override to cluster-autoscaler
bodgit Nov 16, 2023
8de60c9
Merge pull request #6292 from bodgit/chart-enhancements
k8s-ci-robot Nov 17, 2023
2b8874d
allow users to avoid aws instance not found spam
grosser Nov 9, 2023
11c4b66
fix: alicloud the function NodeGroupForNode is incorrect
guopeng0 Nov 18, 2023
0b8bc74
Update README.md
AlexanderSerbul Nov 19, 2023
81eed96
Merge pull request #6265 from zendesk/grosser/spam
k8s-ci-robot Nov 20, 2023
4c53c20
fix: handle error when listing machines
ctrox Nov 20, 2023
705143a
AWS: cache instance requirements
alexanderConstantinescu Nov 3, 2023
7de0d94
fix: update node annotation used to limit log spam with valid key
brydoncheyney Nov 20, 2023
d706ef7
Merge pull request #6297 from AlexanderSerbul/patch-1
k8s-ci-robot Nov 20, 2023
670e145
Removes unnecessary check
piotrwrotniak Nov 20, 2023
dcaba44
Merge pull request #6298 from ninech/rancher-fix-nil-machines
k8s-ci-robot Nov 20, 2023
de44d78
Merge pull request #6275 from azylinski/rm-flag-ephemeral-storage-sup…
k8s-ci-robot Nov 21, 2023
0ca611a
Allow overriding domain suffix in GCE cloud provider.
olagacek Nov 15, 2023
0979221
Merge pull request #6284 from olagacek/master
k8s-ci-robot Nov 21, 2023
a6f57ba
chore(deps): update vendored hcloud-go to 2.4.0
apricote Nov 22, 2023
a1ab7b9
Add new pod list processors for clearing TPU requests & filtering out
atwamahmoud Oct 18, 2023
86ab017
Fix multiple comments and update flags
atwamahmoud Oct 31, 2023
cfbfaa2
Add new test for new behaviour and revert changes made to other tests
atwamahmoud Nov 7, 2023
4635a6d
Allow users to specify which schedulers to ignore
atwamahmoud Nov 8, 2023
a1ae4d3
Update flags, Improve tests readability & use Bypass instead of ignor…
atwamahmoud Nov 17, 2023
5115f12
Update static_autoscaler tests & handle pod list processors errors as…
atwamahmoud Nov 21, 2023
39245a5
Merge pull request #6235 from atwamahmoud/ignore-scheduler-processing
k8s-ci-robot Nov 22, 2023
8673628
Merge pull request #6251 from voelzmo/fix/evictionRequirements-in-crd
k8s-ci-robot Nov 22, 2023
54909eb
Fix: Include restartable init containers in Pod utilization calc
azylinski Oct 25, 2023
03bf1e6
Merge pull request #6225 from azylinski/fix-calc-pod-cpu-utilization
k8s-ci-robot Nov 23, 2023
4fd6e94
Implement ProvReq service
yaroslava-serdiuk Nov 17, 2023
1caf2dd
Set Go versions to the same settings kubernetes/kubernetes uses
towca Nov 24, 2023
9f87b78
Merge pull request #6317 from towca/jtuznik/go-bump
k8s-ci-robot Nov 24, 2023
cfbee9a
feat: implement kwok cloudprovider
vadasambar May 30, 2023
3e555b5
add unit test for function getScalingInstancesByGroup
guopeng0 Nov 26, 2023
6998fd2
Merge pull request #6299 from yaroslava-serdiuk/provreq
k8s-ci-robot Nov 27, 2023
e23e63a
Merge pull request #5820 from vadasambar/kwok-poc
k8s-ci-robot Nov 27, 2023
9e526ae
Azure: Remove AKS vmType
jackfrancis Sep 22, 2023
225fc33
Merge pull request #6308 from hetznercloud/bump-hcloud-go
k8s-ci-robot Nov 28, 2023
c4bd3f0
Implement TemplateNodeInfo for civo cloudprovider
vishalanarase Nov 28, 2023
93b7537
Add comment for type and function
vishalanarase Nov 28, 2023
ae18f05
refactor(*): move getKubeClient to utils/kubernetes
qianlei90 Oct 8, 2023
70bc124
Merge pull request #6322 from vishalanarase/civo/add-node-template
k8s-ci-robot Nov 29, 2023
d887dff
Calculate real value for template using node group
vishalanarase Nov 29, 2023
32e6849
Fix lint error
vishalanarase Nov 29, 2023
d98363f
Fix tests
vishalanarase Nov 29, 2023
0a1d74f
Merge pull request #6294 from vadasambar/refactor/kube-client
k8s-ci-robot Nov 29, 2023
06db46b
Merge pull request #6296 from guopeng0/fix/alicloud
k8s-ci-robot Nov 29, 2023
85b6058
Merge pull request #6324 from vishalanarase/civo/updated-node-template
k8s-ci-robot Nov 30, 2023
8fe636e
Update aws-sdk-go to 1.48.7 via tarball
ROunofF Nov 29, 2023
dd09d59
+ Added SDK version in the log
ROunofF Nov 29, 2023
04b89f6
Merge pull request #6245 from alexanderConstantinescu/aws-cache-insta…
k8s-ci-robot Dec 4, 2023
c0661b5
Merge pull request #6261 from sibucan/aws-capacity-type-fix
k8s-ci-robot Dec 4, 2023
dfd20f2
Merge pull request #6186 from jackfrancis/azure-aks-vmtype-deprecate
k8s-ci-robot Dec 4, 2023
cea6c36
Merge pull request #6325 from ROunofF/update-local-sdk2
k8s-ci-robot Dec 4, 2023
9a754db
Switch to multistage build Dockerfiles for VPA
voelzmo Dec 4, 2023
df6784b
Merge pull request #6302 from piotrwrotniak/fixedp
k8s-ci-robot Dec 4, 2023
65970f9
Adding 33 instances types
ROunofF Nov 29, 2023
b6ffd65
Merge pull request #6347 from ROunofF/update-instance-type
k8s-ci-robot Dec 5, 2023
a70364d
heml chart - update cluster-autoscaler to 1.28
ilpianista Dec 4, 2023
8f75e9c
Merge pull request #6340 from ilpianista/patch-1
k8s-ci-robot Dec 6, 2023
4d45f47
Bump builder images to go 1.21.5
voelzmo Dec 6, 2023
844e61c
Merge pull request #6338 from voelzmo/enh/switch-to-multistage-build
k8s-ci-robot Dec 8, 2023
eb5ef4b
feat: add metrics to show target size of every node group
guopeng0 Dec 8, 2023
cbebabb
deprecate unused node-autoprovisioning-enabled and max-autoprovisione…
prashantrewar Nov 3, 2023
0a46895
fix(hetzner): insufficient nodes when boot fails
apricote Dec 11, 2023
b4586f9
Merge pull request #6364 from hetznercloud/hcloud-wait-all-actions
k8s-ci-robot Dec 11, 2023
37673fe
Merge pull request #6301 from brydoncheyney/bcheyney/autoscaler-annot…
k8s-ci-robot Dec 11, 2023
98a77a8
Merge pull request #6361 from guopeng0/feature/metrics
k8s-ci-robot Dec 11, 2023
7c14b8f
Add VSCode workspace files to .gitignore
Jont828 Dec 12, 2023
a6f1c2b
Remove vpa/builder and switch dependabot updates to component Dockerf…
voelzmo Dec 12, 2023
a8a2e78
fix: updated readme for hetzner cloud provider
pmdroid Dec 12, 2023
49bed4c
Merge pull request #6371 from pmdroid/fix-hetzner-docs
k8s-ci-robot Dec 13, 2023
cf6176f
Add error details to autoscaling backoff.
walidghallab Nov 29, 2023
f0001eb
Merge pull request #6327 from walidghallab/autoscaler-status
k8s-ci-robot Dec 14, 2023
f89427a
Make backoff.Status.ErrorInfo non-pointer.
walidghallab Dec 14, 2023
e495509
Merge pull request #6374 from walidghallab/autoscaler-status
k8s-ci-robot Dec 14, 2023
b95adf1
Merge pull request #6246 from prashantrewar/deprecate-unused-flag
k8s-ci-robot Dec 14, 2023
ac01132
allow specifing grpc timeout rather than hardcoded 5 seconds
tedli Dec 14, 2023
e3d3303
[GCE] Support paginated instance listing
x13n Dec 15, 2023
2afb968
Merge pull request #6376 from x13n/master
k8s-ci-robot Dec 15, 2023
5bf33b2
Merge pull request #6373 from tedli/grpc-timeout
k8s-ci-robot Dec 15, 2023
e28f9fd
azure: fix chart bugs after AKS vmType deprecation
jackfrancis Dec 15, 2023
ab04101
Merge pull request #6370 from voelzmo/enh/remove-vpa-builder
k8s-ci-robot Dec 19, 2023
90361b4
Merge pull request #6384 from jackfrancis/azure-chart-fix-aks-deprecate
k8s-ci-robot Dec 19, 2023
c420cea
Merge pull request #6369 from Jont828/code-workspace
k8s-ci-robot Dec 20, 2023
bb82ce3
Update VPA release README to reference 1.X VPA versions.
laoj2 Dec 20, 2023
9ffbea4
implement priority based evictor and refactor drain logic
damikag Nov 28, 2023
fc48d5c
Merge pull request #6139 from damikag/priority-evictor
k8s-ci-robot Dec 21, 2023
600cda5
Merge pull request #6394 from laoj2/release-doc
k8s-ci-robot Dec 22, 2023
095ae9f
Update dependencies to kubernetes 1.29.0
MaciekPytel Dec 27, 2023
33fb788
Merge pull request #6398 from MaciekPytel/cluster-autoscaler-release-…
k8s-ci-robot Dec 27, 2023
3ca833d
[civo] Add Gpu count to node template
vishalanarase Dec 20, 2023
dc58627
Merge pull request #6404 from vishalanarase/cluster-autoscaler-releas…
k8s-ci-robot Dec 28, 2023
ae8f1e6
Restore flags for setting QPS limit in CA
jbartosik Dec 28, 2023
cf156de
Merge pull request #6409 from jbartosik/add-back-ca-rate-limiting
k8s-ci-robot Dec 29, 2023
146a1ab
Pass Burst and QPS client params to capi k8s clients
kdw174 Jan 2, 2024
57f8deb
Merge pull request #6438 from kdw174/capi-k8s-params-1.29
k8s-ci-robot Jan 23, 2024
da4e109
Dependency update for CA 1.29.1
MaciekPytel Jan 23, 2024
4b73b3e
Merge pull request #6466 from MaciekPytel/ca_1_29_1
k8s-ci-robot Jan 23, 2024
e05d34e
feat: support `--scale-down-delay-after-*` per nodegroup
vadasambar May 5, 2023
706373b
Backport #6522 [CA] Bump go version into CA1.29
Shubham82 Feb 12, 2024
9ad1d24
Backport #6491 and #6494 [CA] Add informer argument to the CloudProvi…
Shubham82 Mar 6, 2024
506b7e2
Merge pull request #6590 from Shubham82/cherry-picked-of-#6494_and_#6…
k8s-ci-robot Mar 7, 2024
da42fcc
Merge pull request #6617 from ionos-cloud/update-ionos-sdk
k8s-ci-robot Mar 13, 2024
642c18b
Merge pull request #6629 from ionos-cloud/update-ionos-sdk-1.29
k8s-ci-robot Mar 14, 2024
a522f41
Merge pull request #6526 from Shubham82/cherry-picked-of-#6522-upstre…
k8s-ci-robot Mar 15, 2024
aec9e1e
Merge pull request #6484 from vadasambar/chore/cherry-pick-scale-down…
k8s-ci-robot Mar 18, 2024
23b5eb8
CA - Update k/k vendor to 1.29.3
gjtempleton Mar 19, 2024
002321e
Merge pull request #6642 from gjtempleton/cluster-autoscaler-1.29-ven…
k8s-ci-robot Mar 20, 2024
88f3a9a
[v1.29][Hetzner] Fix missing ephemeral storage definition
Silvest89 Mar 4, 2024
46f04ae
Merge pull request #6673 from hetznercloud/hetzner-ephemeral-storage-…
k8s-ci-robot Apr 2, 2024
d665ce6
Use cache to track vms pools
wenxuan0923 Apr 4, 2024
dba6883
fx
wenxuan0923 Apr 4, 2024
cbdd49b
Add UTs
wenxuan0923 Apr 5, 2024
d1aa705
Fx boilder plate header
wenxuan0923 Apr 5, 2024
a454720
Add const
wenxuan0923 Apr 9, 2024
cca2f18
Rename vmsPoolSet
wenxuan0923 Apr 9, 2024
a7b4386
Merge pull request #6689 from wenxuan0923/wenx/add-vms-spec
k8s-ci-robot Apr 12, 2024
a1a8d39
[v1.29][Hetzner] Fix Autoscaling for worker nodes with invalid Provid…
maksim-paskal Apr 17, 2024
acfd0dd
Merge pull request #6720 from hetznercloud/hetzner-invalid-providerid…
k8s-ci-robot Apr 18, 2024
1203b29
[v1.29] fix(hetzner): hostname label is not considered
apricote Apr 22, 2024
a09b60a
Merge pull request #6752 from hetznercloud/hetzner-missing-hostname-l…
k8s-ci-robot Apr 24, 2024
9aa31f3
Remove shadow err variable in deleteCreatedNodesWithErros func
damikag Mar 7, 2024
06f177f
Merge pull request #6757 from towca/jtuznik/cp-1.29
k8s-ci-robot Apr 24, 2024
79bab96
fix: scale up broken for providers not implementing NodeGroup.GetOpti…
apricote Apr 2, 2024
32ac397
Merge pull request #6761 from towca/jtuznik/cp-1.29-2
k8s-ci-robot Apr 24, 2024
064cd69
Update k/k vendor to 1.29.5 for CA 1.29
BigDarkClown May 27, 2024
b944aec
Merge pull request #6871 from BigDarkClown/cluster-autoscaler-release…
k8s-ci-robot May 28, 2024
a1cbab6
Rebase
wenxuan0923 May 29, 2024
73f525c
Fx gomock
wenxuan0923 May 14, 2024
5e379e4
Rename ARM_BASE_URL
wenxuan0923 May 30, 2024
7d87a8a
Backport #6528 [CA] Fix expectedToRegister to respect instances with …
Shubham82 Jun 5, 2024
90591b5
Merge pull request #6893 from Shubham82/cherry-picked-of-#6528-upstre…
k8s-ci-robot Jun 7, 2024
b36d4fb
Merge pull request #6685 from wenxuan0923/wenx/update-azure-config
k8s-ci-robot Jun 14, 2024
807485b
Backport #6750 [CA] fix(hetzner): missing error return in scale up/do…
Shubham82 Jul 9, 2024
a5b23b3
PR#6911 Backport for 1.29: Fix/aws asg unsafe decommission #5829
kmsarabu Jul 10, 2024
9da6021
Merge pull request #7022 from Shubham82/cherry-picked-of-#6750-upstre…
k8s-ci-robot Jul 10, 2024
4fb12fd
Merge pull request #7025 from kmsarabu/cluster-autoscaler-release-1.29
k8s-ci-robot Jul 11, 2024
ad047ae
CA - 1.29.4 Pre-release AWS Instance Types Update
gjtempleton Jul 15, 2024
b994544
Merge pull request #7042 from gjtempleton/1.29.4-AWS-Instance-Update
k8s-ci-robot Jul 15, 2024
dc09850
Update vendor to use k8s 1.29.6
x13n Jul 15, 2024
043b0c1
Merge pull request #7048 from x13n/cluster-autoscaler-release-1.29
k8s-ci-robot Jul 15, 2024
89c0516
sync with upstream 1.29.4
rishabh-11 Sep 27, 2024
348cfbb
adjust logs
rishabh-11 Sep 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions charts/cluster-autoscaler/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -382,8 +382,6 @@ vpa:
| awsSecretAccessKey | string | `""` | AWS access secret key ([if AWS user keys used](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md#using-aws-credentials)) |
| azureClientID | string | `""` | Service Principal ClientID with contributor permission to Cluster and Node ResourceGroup. Required if `cloudProvider=azure` |
| azureClientSecret | string | `""` | Service Principal ClientSecret with contributor permission to Cluster and Node ResourceGroup. Required if `cloudProvider=azure` |
| azureClusterName | string | `""` | Azure AKS cluster name. Required if `cloudProvider=azure` |
| azureNodeResourceGroup | string | `""` | Azure resource group where the cluster's nodes are located, typically set as `MC_<cluster-resource-group-name>_<cluster-name>_<location>`. Required if `cloudProvider=azure` |
| azureResourceGroup | string | `""` | Azure resource group that the cluster is located. Required if `cloudProvider=azure` |
| azureSubscriptionID | string | `""` | Azure subscription where the resources are located. Required if `cloudProvider=azure` |
| azureTenantID | string | `""` | Azure tenant where the resources are located. Required if `cloudProvider=azure` |
Expand Down
9 changes: 0 additions & 9 deletions charts/cluster-autoscaler/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,6 @@ azureClientID: ""
# Required if `cloudProvider=azure`
azureClientSecret: ""

# azureClusterName -- Azure AKS cluster name.
# Required if `cloudProvider=azure`
azureClusterName: ""

# azureNodeResourceGroup -- Azure resource group where the cluster's nodes are located, typically set as `MC_<cluster-resource-group-name>_<cluster-name>_<location>`.
# Required if `cloudProvider=azure`
azureNodeResourceGroup: ""

# azureResourceGroup -- Azure resource group that the cluster is located.
# Required if `cloudProvider=azure`
azureResourceGroup: ""
Expand Down Expand Up @@ -375,7 +367,6 @@ serviceMonitor:
# serviceMonitor.metricRelabelings -- MetricRelabelConfigs to apply to samples before ingestion.
metricRelabelings: {}


# tolerations -- List of node taints to tolerate (requires Kubernetes >= 1.6).
tolerations: []

Expand Down
117 changes: 80 additions & 37 deletions cluster-autoscaler/cloudprovider/aws/auto_scaling_groups.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,6 @@ func (m *asgCache) register(asg *asg) *asg {
return existing
}

klog.V(4).Infof("Updating ASG %s", asg.AwsRef.Name)

// Explicit registered groups should always use the manually provided min/max
// values and the not the ones returned by the API
if !m.explicitlyConfigured[asg.AwsRef] {
Expand Down Expand Up @@ -310,46 +308,78 @@ func (m *asgCache) DeleteInstances(instances []*AwsInstanceRef) error {
}
}

placeHolderInstancesCount := m.GetPlaceHolderInstancesCount(instances)
// Check if there are any placeholder instances in the list.
if placeHolderInstancesCount > 0 {
// Log the check for placeholders in the ASG.
klog.V(4).Infof("Detected %d placeholder instance(s) in ASG %s",
placeHolderInstancesCount, commonAsg.Name)

asgNames := []string{commonAsg.Name}
asgDetail, err := m.awsService.getAutoscalingGroupsByNames(asgNames)

if err != nil {
klog.Errorf("Error retrieving ASG details %s: %v", commonAsg.Name, err)
return err
}

activeInstancesInAsg := len(asgDetail[0].Instances)
desiredCapacityInAsg := int(*asgDetail[0].DesiredCapacity)
klog.V(4).Infof("asg %s has placeholders instances with desired capacity = %d and active instances = %d. updating ASG to match active instances count",
commonAsg.Name, desiredCapacityInAsg, activeInstancesInAsg)

// If the difference between the active instances and the desired capacity is greater than 1,
// it means that the ASG is under-provisioned and the desired capacity is not being reached.
// In this case, we would reduce the size of ASG by the count of unprovisioned instances
// which is equal to the total count of active instances in ASG

err = m.setAsgSizeNoLock(commonAsg, activeInstancesInAsg)

if err != nil {
klog.Errorf("Error reducing ASG %s size to %d: %v", commonAsg.Name, activeInstancesInAsg, err)
return err
}
}

for _, instance := range instances {
// check if the instance is a placeholder - a requested instance that was never created by the node group
// if it is, just decrease the size of the node group, as there's no specific instance we can remove
if m.isPlaceholderInstance(instance) {
klog.V(4).Infof("instance %s is detected as a placeholder, decreasing ASG requested size instead "+
"of deleting instance", instance.Name)
m.decreaseAsgSizeByOneNoLock(commonAsg)
} else {
// check if the instance is already terminating - if it is, don't bother terminating again
// as doing so causes unnecessary API calls and can cause the curSize cached value to decrement
// unnecessarily.
lifecycle, err := m.findInstanceLifecycle(*instance)
if err != nil {
return err
}

if lifecycle != nil &&
*lifecycle == autoscaling.LifecycleStateTerminated ||
*lifecycle == autoscaling.LifecycleStateTerminating ||
*lifecycle == autoscaling.LifecycleStateTerminatingWait ||
*lifecycle == autoscaling.LifecycleStateTerminatingProceed {
klog.V(2).Infof("instance %s is already terminating in state %s, will skip instead", instance.Name, *lifecycle)
continue
}
if m.isPlaceholderInstance(instance) {
// skipping placeholder as placeholder instances don't exist
// and we have already reduced ASG size during placeholder check.
continue
}
// check if the instance is already terminating - if it is, don't bother terminating again
// as doing so causes unnecessary API calls and can cause the curSize cached value to decrement
// unnecessarily.
lifecycle, err := m.findInstanceLifecycle(*instance)
if err != nil {
return err
}

params := &autoscaling.TerminateInstanceInAutoScalingGroupInput{
InstanceId: aws.String(instance.Name),
ShouldDecrementDesiredCapacity: aws.Bool(true),
}
start := time.Now()
resp, err := m.awsService.TerminateInstanceInAutoScalingGroup(params)
observeAWSRequest("TerminateInstanceInAutoScalingGroup", err, start)
if err != nil {
return err
}
klog.V(4).Infof(*resp.Activity.Description)
if lifecycle != nil &&
*lifecycle == autoscaling.LifecycleStateTerminated ||
*lifecycle == autoscaling.LifecycleStateTerminating ||
*lifecycle == autoscaling.LifecycleStateTerminatingWait ||
*lifecycle == autoscaling.LifecycleStateTerminatingProceed {
klog.V(2).Infof("instance %s is already terminating in state %s, will skip instead", instance.Name, *lifecycle)
continue
}

// Proactively decrement the size so autoscaler makes better decisions
commonAsg.curSize--
params := &autoscaling.TerminateInstanceInAutoScalingGroupInput{
InstanceId: aws.String(instance.Name),
ShouldDecrementDesiredCapacity: aws.Bool(true),
}
start := time.Now()
resp, err := m.awsService.TerminateInstanceInAutoScalingGroup(params)
observeAWSRequest("TerminateInstanceInAutoScalingGroup", err, start)
if err != nil {
return err
}
klog.V(4).Infof(*resp.Activity.Description)

// Proactively decrement the size so autoscaler makes better decisions
commonAsg.curSize--

}
return nil
}
Expand Down Expand Up @@ -626,3 +656,16 @@ func (m *asgCache) buildInstanceRefFromAWS(instance *autoscaling.Instance) AwsIn
func (m *asgCache) Cleanup() {
close(m.interrupt)
}

// GetPlaceHolderInstancesCount returns count of placeholder instances in the cache
func (m *asgCache) GetPlaceHolderInstancesCount(instances []*AwsInstanceRef) int {

placeholderInstancesCount := 0
for _, instance := range instances {
if strings.HasPrefix(instance.Name, placeholderInstanceNamePrefix) {
placeholderInstancesCount++

}
}
return placeholderInstancesCount
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,24 @@ package awserr
//
// Example:
//
// output, err := s3manage.Upload(svc, input, opts)
// if err != nil {
// if awsErr, ok := err.(awserr.Error); ok {
// // Get error details
// log.Println("Error:", awsErr.Code(), awsErr.Message())
//
// // Prints out full error message, including original error if there was one.
// log.Println("Error:", awsErr.Error())
//
// // Get original error
// if origErr := awsErr.OrigErr(); origErr != nil {
// // operate on original error.
// }
// } else {
// fmt.Println(err.Error())
// }
// }
// output, err := s3manage.Upload(svc, input, opts)
// if err != nil {
// if awsErr, ok := err.(awserr.Error); ok {
// // Get error details
// log.Println("Error:", awsErr.Code(), awsErr.Message())
//
// // Prints out full error message, including original error if there was one.
// log.Println("Error:", awsErr.Error())
//
// // Get original error
// if origErr := awsErr.OrigErr(); origErr != nil {
// // operate on original error.
// }
// } else {
// fmt.Println(err.Error())
// }
// }
//
type Error interface {
// Satisfy the generic error interface.
error
Expand Down Expand Up @@ -99,31 +100,32 @@ func NewBatchError(code, message string, errs []error) BatchedErrors {
//
// Example:
//
// output, err := s3manage.Upload(svc, input, opts)
// if err != nil {
// if reqerr, ok := err.(RequestFailure); ok {
// log.Println("Request failed", reqerr.Code(), reqerr.Message(), reqerr.RequestID())
// } else {
// log.Println("Error:", err.Error())
// }
// }
// output, err := s3manage.Upload(svc, input, opts)
// if err != nil {
// if reqerr, ok := err.(RequestFailure); ok {
// log.Println("Request failed", reqerr.Code(), reqerr.Message(), reqerr.RequestID())
// } else {
// log.Println("Error:", err.Error())
// }
// }
//
// Combined with awserr.Error:
//
// output, err := s3manage.Upload(svc, input, opts)
// if err != nil {
// if awsErr, ok := err.(awserr.Error); ok {
// // Generic AWS Error with Code, Message, and original error (if any)
// fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
//
// if reqErr, ok := err.(awserr.RequestFailure); ok {
// // A service error occurred
// fmt.Println(reqErr.StatusCode(), reqErr.RequestID())
// }
// } else {
// fmt.Println(err.Error())
// }
// }
// output, err := s3manage.Upload(svc, input, opts)
// if err != nil {
// if awsErr, ok := err.(awserr.Error); ok {
// // Generic AWS Error with Code, Message, and original error (if any)
// fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
//
// if reqErr, ok := err.(awserr.RequestFailure); ok {
// // A service error occurred
// fmt.Println(reqErr.StatusCode(), reqErr.RequestID())
// }
// } else {
// fmt.Println(err.Error())
// }
// }
//
type RequestFailure interface {
Error

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
// DefaultRetryer implements basic retry logic using exponential backoff for
// most services. If you want to implement custom retry logic, you can implement the
// request.Retryer interface.
//
type DefaultRetryer struct {
// Num max Retries is the number of max retries that will be performed.
// By default, this is zero.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// DO NOT EDIT
package corehandlers

const isAwsInternal = ""
const isAwsInternal = ""
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,19 @@ var (
// does not return any credentials ChainProvider will return the error
// ErrNoValidProvidersFoundInChain
//
// creds := credentials.NewChainCredentials(
// []credentials.Provider{
// &credentials.EnvProvider{},
// &ec2rolecreds.EC2RoleProvider{
// Client: ec2metadata.New(sess),
// },
// })
// creds := credentials.NewChainCredentials(
// []credentials.Provider{
// &credentials.EnvProvider{},
// &ec2rolecreds.EC2RoleProvider{
// Client: ec2metadata.New(sess),
// },
// })
//
// // Usage of ChainCredentials with aws.Config
// svc := ec2.New(session.Must(session.NewSession(&aws.Config{
// Credentials: creds,
// })))
//
// // Usage of ChainCredentials with aws.Config
// svc := ec2.New(session.Must(session.NewSession(&aws.Config{
// Credentials: creds,
// })))
type ChainProvider struct {
Providers []Provider
curr Provider
Expand Down
Loading
Loading