Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
c2b21a7
KUBE-1163: [CheckNodeDeletedHandler] - add provider id check to exclu…
ValyaB May 27, 2025
77ff88b
KUBE-1163: add provider id check to exclude node name reusing
ValyaB Jun 25, 2025
1d40e22
update
ValyaB Jul 1, 2025
d64c39f
update
ValyaB Jul 1, 2025
7329476
update
ValyaB Jul 2, 2025
2026485
update
ValyaB Jul 2, 2025
d9a1d64
update
ValyaB Jul 2, 2025
d9d31af
update
ValyaB Jul 2, 2025
ebdbc64
update
ValyaB Jul 2, 2025
41f06aa
update
ValyaB Jul 2, 2025
72c65ce
update
ValyaB Jul 2, 2025
fa39eb2
update
ValyaB Jul 2, 2025
2cf323b
update go mod
ValyaB Jul 2, 2025
4fcb8e6
KUBE-1163: [CheckNodeDeletedHandler] - add provider id check to exclu…
ValyaB May 27, 2025
9f4c251
KUBE-1163: add provider id check to exclude node name reusing
ValyaB Jun 25, 2025
22efe82
update
ValyaB Jul 1, 2025
3d4574d
update
ValyaB Jul 1, 2025
fefa9b2
update
ValyaB Jul 2, 2025
e8eec4a
update
ValyaB Jul 2, 2025
f34ba53
update
ValyaB Jul 2, 2025
b0ae8d6
update
ValyaB Jul 2, 2025
73081de
update
ValyaB Jul 2, 2025
5644edb
update
ValyaB Jul 2, 2025
e275c53
update
ValyaB Jul 2, 2025
fec0a68
update
ValyaB Jul 2, 2025
0904d3a
update go mod
ValyaB Jul 2, 2025
ba9de1a
update go mod
ValyaB Jul 2, 2025
808db3d
update go mod
ValyaB Jul 2, 2025
b9647e4
update go mod
ValyaB Jul 2, 2025
45ea6ea
update go mod
ValyaB Jul 2, 2025
0cbda03
gen
ValyaB Jul 2, 2025
5689dcd
Merge branch 'KUBE-1216--go-mod' into KUBE-1163-delete-with-provider-id
ValyaB Jul 2, 2025
b359d0f
gen
ValyaB Jul 2, 2025
5d5bc47
Merge branch 'main' into KUBE-1163-delete-with-provider-id
ValyaB Jul 2, 2025
595a3a9
go.mod
ValyaB Jul 2, 2025
a354d5f
add tests
ValyaB Jul 3, 2025
7ae0b10
refactor
ValyaB Jul 3, 2025
30b5a3f
refactor
ValyaB Jul 3, 2025
48a2b76
refactor
ValyaB Jul 3, 2025
810d81e
refactor
ValyaB Jul 3, 2025
0ba1ee6
refactor
ValyaB Jul 8, 2025
38e54d5
refactor
ValyaB Jul 9, 2025
8137ccf
drain tests
ValyaB Jul 9, 2025
ccbc371
update golang version
ValyaB Jul 9, 2025
9fd3aa8
update golang version
ValyaB Jul 9, 2025
5ef866c
update golang version
ValyaB Jul 9, 2025
ba81b4c
update golang version
ValyaB Jul 9, 2025
9e951b6
test for check node deleted
ValyaB Jul 9, 2025
3ab3691
tests
ValyaB Jul 9, 2025
4502f4c
tests
ValyaB Jul 9, 2025
54994e5
tests
ValyaB Jul 9, 2025
3c34ea5
tests
ValyaB Jul 9, 2025
cd5e9c3
tests
ValyaB Jul 10, 2025
97bb0da
Merge branch 'main' into KUBE-1163-delete-with-provider-id
ValyaB Jul 10, 2025
e363c38
tests
ValyaB Jul 11, 2025
25261b1
lint
ValyaB Jul 11, 2025
f5d4ddb
Merge branch 'main' into KUBE-1163-delete-with-provider-id
ValyaB Jul 11, 2025
56370cf
tidy
ValyaB Jul 11, 2025
4945a44
tidy
ValyaB Jul 11, 2025
f271462
upd
ValyaB Jul 11, 2025
e223cb3
revert go.mod
ValyaB Jul 11, 2025
07de87a
upd
ValyaB Jul 11, 2025
8c69f19
upd
ValyaB Jul 11, 2025
61e9a11
upd
ValyaB Jul 11, 2025
b3210ee
upd
ValyaB Jul 11, 2025
b73a5d9
upd
ValyaB Jul 11, 2025
6fb5232
upd
ValyaB Jul 11, 2025
5aeeee9
upd
ValyaB Jul 11, 2025
fcfbbaf
upd
ValyaB Jul 11, 2025
5e7be4e
lint
ValyaB Jul 11, 2025
2d785f1
fix
ValyaB Jul 11, 2025
76f9b50
comments
ValyaB Jul 14, 2025
7e9ba23
comments
ValyaB Jul 14, 2025
87497f8
comments
ValyaB Jul 14, 2025
5f72a4c
comments
ValyaB Jul 14, 2025
cde7917
comments
ValyaB Jul 14, 2025
cdbcf11
comments
ValyaB Jul 14, 2025
d91bbdb
skip drain for doesnotmatch withhout error
ValyaB Jul 14, 2025
5e2b87b
add error to log
ValyaB Jul 14, 2025
dae8477
fix case
ValyaB Jul 14, 2025
a18b9fa
clean
ValyaB Jul 14, 2025
23cec5f
upd
ValyaB Jul 14, 2025
3c260b3
upd
ValyaB Jul 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion e2e/suites/gke.go
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ func (ts *gkeTestSuite) Run(ctx context.Context, t *testing.T) {
}

if deployment.Status.UnavailableReplicas != 1 {
return fmt.Errorf("nginx replica running")
return fmt.Errorf("%v replica running: %v", deployment.Name, deployment.Status.UnavailableReplicas)
}

return nil
Expand Down
19 changes: 9 additions & 10 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ require (
golang.org/x/net v0.41.0
golang.org/x/sync v0.16.0
helm.sh/helm/v3 v3.17.3
k8s.io/api v0.32.2
k8s.io/api v0.33.2
k8s.io/apiextensions-apiserver v0.32.2
k8s.io/apimachinery v0.32.2
k8s.io/apimachinery v0.33.2
k8s.io/apiserver v0.32.2
k8s.io/cli-runtime v0.32.2
k8s.io/client-go v0.32.2
k8s.io/client-go v0.33.2
k8s.io/component-base v0.32.2
k8s.io/klog/v2 v2.130.1
k8s.io/kubectl v0.32.2
Expand Down Expand Up @@ -84,14 +84,12 @@ require (
github.com/gobwas/glob v0.2.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/btree v1.0.1 // indirect
github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/btree v1.1.3 // indirect
github.com/google/gnostic-models v0.6.9 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
github.com/gorilla/mux v1.8.1 // indirect
github.com/gorilla/websocket v1.5.3 // indirect
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
github.com/gosuri/uitable v0.0.4 // indirect
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
Expand Down Expand Up @@ -169,11 +167,12 @@ require (
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect
oras.land/oras-go v1.2.5 // indirect
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
sigs.k8s.io/kustomize/api v0.18.0 // indirect
sigs.k8s.io/kustomize/kyaml v0.18.1 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect
sigs.k8s.io/randfill v1.0.0 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
)
37 changes: 19 additions & 18 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -192,18 +192,16 @@ github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6
github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y=
github.com/gomodule/redigo v1.8.2 h1:H5XSIre1MB5NbPYFp+i1NBbb5qN1W8Y8YAQoAYbkm8k=
github.com/gomodule/redigo v1.8.2/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0=
github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4=
github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw=
github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db h1:097atOisP2aRj7vFgYQBbFN4U4JNXUNYpxael3UzMyo=
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
Expand All @@ -216,8 +214,8 @@ github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo=
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA=
github.com/gosuri/uitable v0.0.4 h1:IG2xLKRvErL3uhY6e1BylFzG+aJiwQviDDTfOKeKTpY=
github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo=
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA=
Expand Down Expand Up @@ -616,24 +614,24 @@ gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o=
gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g=
helm.sh/helm/v3 v3.17.3 h1:3n5rW3D0ArjFl0p4/oWO8IbY/HKaNNwJtOQFdH2AZHg=
helm.sh/helm/v3 v3.17.3/go.mod h1:+uJKMH/UiMzZQOALR3XUf3BLIoczI2RKKD6bMhPh4G8=
k8s.io/api v0.32.2 h1:bZrMLEkgizC24G9eViHGOPbW+aRo9duEISRIJKfdJuw=
k8s.io/api v0.32.2/go.mod h1:hKlhk4x1sJyYnHENsrdCWw31FEmCijNGPJO5WzHiJ6Y=
k8s.io/api v0.33.2 h1:YgwIS5jKfA+BZg//OQhkJNIfie/kmRsO0BmNaVSimvY=
k8s.io/api v0.33.2/go.mod h1:fhrbphQJSM2cXzCWgqU29xLDuks4mu7ti9vveEnpSXs=
k8s.io/apiextensions-apiserver v0.32.2 h1:2YMk285jWMk2188V2AERy5yDwBYrjgWYggscghPCvV4=
k8s.io/apiextensions-apiserver v0.32.2/go.mod h1:GPwf8sph7YlJT3H6aKUWtd0E+oyShk/YHWQHf/OOgCA=
k8s.io/apimachinery v0.32.2 h1:yoQBR9ZGkA6Rgmhbp/yuT9/g+4lxtsGYwW6dR6BDPLQ=
k8s.io/apimachinery v0.32.2/go.mod h1:GpHVgxoKlTxClKcteaeuF1Ul/lDVb74KpZcxcmLDElE=
k8s.io/apimachinery v0.33.2 h1:IHFVhqg59mb8PJWTLi8m1mAoepkUNYmptHsV+Z1m5jY=
k8s.io/apimachinery v0.33.2/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
k8s.io/apiserver v0.32.2 h1:WzyxAu4mvLkQxwD9hGa4ZfExo3yZZaYzoYvvVDlM6vw=
k8s.io/apiserver v0.32.2/go.mod h1:PEwREHiHNU2oFdte7BjzA1ZyjWjuckORLIK/wLV5goM=
k8s.io/cli-runtime v0.32.2 h1:aKQR4foh9qeyckKRkNXUccP9moxzffyndZAvr+IXMks=
k8s.io/cli-runtime v0.32.2/go.mod h1:a/JpeMztz3xDa7GCyyShcwe55p8pbcCVQxvqZnIwXN8=
k8s.io/client-go v0.32.2 h1:4dYCD4Nz+9RApM2b/3BtVvBHw54QjMFUl1OLcJG5yOA=
k8s.io/client-go v0.32.2/go.mod h1:fpZ4oJXclZ3r2nDOv+Ux3XcJutfrwjKTCHz2H3sww94=
k8s.io/client-go v0.33.2 h1:z8CIcc0P581x/J1ZYf4CNzRKxRvQAwoAolYPbtQes+E=
k8s.io/client-go v0.33.2/go.mod h1:9mCgT4wROvL948w6f6ArJNb7yQd7QsvqavDeZHvNmHo=
k8s.io/component-base v0.32.2 h1:1aUL5Vdmu7qNo4ZsE+569PV5zFatM9hl+lb3dEea2zU=
k8s.io/component-base v0.32.2/go.mod h1:PXJ61Vx9Lg+P5mS8TLd7bCIr+eMJRQTyXe8KvkrvJq0=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f h1:GA7//TjRY9yWGy1poLzYYJJ4JRdzg3+O6e8I+e+8T5Y=
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f/go.mod h1:R/HEjbvWI0qdfb8viZUeVZm0X6IZnxAydC7YU42CMw4=
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4=
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
k8s.io/kubectl v0.32.2 h1:TAkag6+XfSBgkqK9I7ZvwtF0WVtUAvK8ZqTt+5zi1Us=
k8s.io/kubectl v0.32.2/go.mod h1:+h/NQFSPxiDZYX/WZaWw9fwYezGLISP0ud8nQKg+3g8=
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro=
Expand All @@ -648,7 +646,10 @@ sigs.k8s.io/kustomize/api v0.18.0 h1:hTzp67k+3NEVInwz5BHyzc9rGxIauoXferXyjv5lWPo
sigs.k8s.io/kustomize/api v0.18.0/go.mod h1:f8isXnX+8b+SGLHQ6yO4JG1rdkZlvhaCf/uZbLVMb0U=
sigs.k8s.io/kustomize/kyaml v0.18.1 h1:WvBo56Wzw3fjS+7vBjN6TeivvpbW9GmRaWZ9CIVmt4E=
sigs.k8s.io/kustomize/kyaml v0.18.1/go.mod h1:C3L2BFVU1jgcddNBE1TxuVLgS46TjObMwW5FT9FcjYo=
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 h1:MdmvkGuXi/8io6ixD5wud3vOLwc1rj0aNqRlpuvjmwA=
sigs.k8s.io/structured-merge-diff/v4 v4.4.2/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4=
sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc=
sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
43 changes: 13 additions & 30 deletions internal/actions/check_node_deleted.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ import (
"time"

"github.com/sirupsen/logrus"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"

"github.com/castai/cluster-controller/internal/castai"
Expand Down Expand Up @@ -43,6 +41,9 @@ type CheckNodeDeletedHandler struct {
var errNodeNotDeleted = errors.New("node is not deleted")

func (h *CheckNodeDeletedHandler) Handle(ctx context.Context, action *castai.ClusterAction) error {
if action == nil {
return fmt.Errorf("action is nil %w", errAction)
}
req, ok := action.Data().(*castai.ActionCheckNodeDeleted)
if !ok {
return newUnexpectedTypeErr(action.Data(), req)
Expand All @@ -52,8 +53,17 @@ func (h *CheckNodeDeletedHandler) Handle(ctx context.Context, action *castai.Clu
"node_name": req.NodeName,
"node_id": req.NodeID,
"type": reflect.TypeOf(action.Data().(*castai.ActionCheckNodeDeleted)).String(),
"provider_id": req.ProviderId,
ActionIDLogField: action.ID,
})

log.Info("checking if node is deleted")
if req.NodeName == "" ||
(req.NodeID == "" && req.ProviderId == "") {
return fmt.Errorf("node name %v or node ID: %v or provider ID: %v is empty %w",
req.NodeName, req.NodeID, req.ProviderId, errAction)
}

log.Info("checking if node is deleted")

boff := waitext.NewConstantBackoff(h.cfg.retryWait)
Expand All @@ -63,34 +73,7 @@ func (h *CheckNodeDeletedHandler) Handle(ctx context.Context, action *castai.Clu
boff,
h.cfg.retries,
func(ctx context.Context) (bool, error) {
n, err := h.clientset.CoreV1().Nodes().Get(ctx, req.NodeName, metav1.GetOptions{})
if apierrors.IsNotFound(err) {
return false, nil
}

if n == nil {
return false, nil
}

currentNodeID, ok := n.Labels[castai.LabelNodeID]
if !ok {
log.Info("node doesn't have castai node id label")
}
if currentNodeID != "" {
if currentNodeID != req.NodeID {
log.Info("node name was reused. Original node is deleted")
return false, nil
}
if currentNodeID == req.NodeID {
return false, fmt.Errorf("current node id = request node ID %w", errNodeNotDeleted)
}
}

if n != nil {
return false, errNodeNotDeleted
}

return true, err
return checkNodeDeleted(ctx, h.clientset.CoreV1().Nodes(), req.NodeName, req.NodeID, req.ProviderId, log)
},
func(err error) {
log.Warnf("node deletion check failed, will retry: %v", err)
Expand Down
Loading
Loading