Skip to content

Commit 7a7baab

Browse files
committed
Fix 2 panics
* type asseration for pod deleted might panic with `panic: interface conversion: interface {} is cache.DeletedFinalStateUnknown, not *v1.Pod` * client-go might panic trying to modify kubeconfig with go 1.18 and reflect < 1.0.2
1 parent e619ad9 commit 7a7baab

File tree

3 files changed

+6
-0
lines changed

3 files changed

+6
-0
lines changed

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ require (
3838
github.com/imdario/mergo v0.3.11
3939
github.com/joeshaw/envdecode v0.0.0-20170502020559-6326cbed175e
4040
github.com/justinas/alice v0.0.0-20171023064455-03f45bd4b7da
41+
github.com/modern-go/reflect2 v1.0.2 // indirect
4142
github.com/oklog/run v1.0.1-0.20180308005104-6934b124db28
4243
github.com/pkg/errors v0.9.1
4344
github.com/pmylund/go-cache v2.1.0+incompatible // indirect

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -605,6 +605,8 @@ github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lN
605605
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
606606
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
607607
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
608+
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
609+
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
608610
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
609611
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4=
610612
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=

pkg/controller/ground.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1028,6 +1028,9 @@ func (op *GroundControl) podAdd(obj interface{}) {
10281028
}
10291029

10301030
func (op *GroundControl) podDelete(obj interface{}) {
1031+
if deleted, ok := obj.(cache.DeletedFinalStateUnknown); ok {
1032+
obj = deleted.Obj
1033+
}
10311034
pod := obj.(*api_v1.Pod)
10321035
if klusterName, found := pod.GetLabels()["release"]; found && len(klusterName) > 0 {
10331036
klusterKey := pod.GetNamespace() + "/" + klusterName

0 commit comments

Comments
 (0)