Skip to content

Commit 2d1166e

Browse files
Arjun Baindurxagent003
authored andcommitted
Reconciler: skip failed or succeeded Pods in live Pod list
1 parent 20f4a4c commit 2d1166e

23 files changed

Lines changed: 1133 additions & 620 deletions

File tree

go.mod

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
module github.com/k8snetworkplumbingwg/whereabouts
22

3-
go 1.23
3+
go 1.23.0
4+
5+
toolchain go1.23.6
6+
47
require (
58
github.com/blang/semver v3.5.1+incompatible
69
github.com/containernetworking/cni v1.2.3
@@ -19,7 +22,10 @@ require (
1922
k8s.io/kube-openapi v0.0.0-20241127205056-99599406b04f
2023
)
2124

22-
require github.com/go-co-op/gocron/v2 v2.12.4
25+
require (
26+
github.com/go-co-op/gocron/v2 v2.12.4
27+
k8s.io/kubernetes v1.32.3
28+
)
2329

2430
require (
2531
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
@@ -29,11 +35,11 @@ require (
2935
github.com/robfig/cron/v3 v3.0.1 // indirect
3036
github.com/vishvananda/netns v0.0.4 // indirect
3137
github.com/x448/float16 v0.8.4 // indirect
32-
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect
38+
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
3339
golang.org/x/sync v0.11.0 // indirect
3440
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
35-
k8s.io/gengo/v2 v2.0.0-20240826214909-a7b603a56eb7 // indirect
36-
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
41+
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 // indirect
42+
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
3743
)
3844

3945
require (
@@ -59,7 +65,7 @@ require (
5965
github.com/spf13/pflag v1.0.5 // indirect
6066
golang.org/x/mod v0.22.0 // indirect
6167
golang.org/x/net v0.36.0 // indirect
62-
golang.org/x/oauth2 v0.21.0 // indirect
68+
golang.org/x/oauth2 v0.23.0 // indirect
6369
golang.org/x/sys v0.30.0 // indirect
6470
golang.org/x/term v0.29.0 // indirect
6571
golang.org/x/text v0.22.0 // indirect

go.sum

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
137137
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
138138
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
139139
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
140-
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY=
141-
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI=
140+
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
141+
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
142142
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
143143
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
144144
golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
@@ -151,8 +151,8 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/
151151
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
152152
golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA=
153153
golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I=
154-
golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs=
155-
golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
154+
golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
155+
golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
156156
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
157157
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
158158
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -225,16 +225,18 @@ k8s.io/client-go v0.31.3 h1:CAlZuM+PH2cm+86LOBemaJI/lQ5linJ6UFxKX/SoG+4=
225225
k8s.io/client-go v0.31.3/go.mod h1:2CgjPUTpv3fE5dNygAr2NcM8nhHzXvxB8KL5gYc3kJs=
226226
k8s.io/code-generator v0.31.3 h1:Pj0fYOBms+ZrsulLi4DMsCEx1jG8fWKRLy44onHsLBI=
227227
k8s.io/code-generator v0.31.3/go.mod h1:/umCIlT84g1+Yu5ZXtP1KGSRTnGiIzzX5AzUAxsNlts=
228-
k8s.io/gengo/v2 v2.0.0-20240826214909-a7b603a56eb7 h1:cErOOTkQ3JW19o4lo91fFurouhP8NcoBvb7CkvhZZpk=
229-
k8s.io/gengo/v2 v2.0.0-20240826214909-a7b603a56eb7/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU=
228+
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 h1:si3PfKm8dDYxgfbeA6orqrtLkvvIeH8UqffFJDl0bz4=
229+
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU=
230230
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
231231
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
232232
k8s.io/kube-openapi v0.0.0-20241127205056-99599406b04f h1:nLHvOvs1CZ+FAEwR4EqLeRLfbtWQNlIu5g393Hq/1UM=
233233
k8s.io/kube-openapi v0.0.0-20241127205056-99599406b04f/go.mod h1:iZjdMQzunI7O/sUrf/5WRX1gvaAIam32lKx9+paoLbU=
234+
k8s.io/kubernetes v1.32.3 h1:2A58BlNME8NwsMawmnM6InYo3Jf35Nw5G79q46kXwoA=
235+
k8s.io/kubernetes v1.32.3/go.mod h1:GvhiBeolvSRzBpFlgM0z/Bbu3Oxs9w3P6XfEgYaMi8k=
234236
k8s.io/utils v0.0.0-20241104163129-6fe5fd82f078 h1:jGnCPejIetjiy2gqaJ5V0NLwTpF4wbQ6cZIItJCSHno=
235237
k8s.io/utils v0.0.0-20241104163129-6fe5fd82f078/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
236-
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
237-
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
238+
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8=
239+
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo=
238240
sigs.k8s.io/structured-merge-diff/v4 v4.4.3 h1:sCP7Vv3xx/CWIuTPVN38lUPx0uw0lcLfzaiDa8Ja01A=
239241
sigs.k8s.io/structured-merge-diff/v4 v4.4.3/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4=
240242
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=

pkg/reconciler/wrappedPod.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/k8snetworkplumbingwg/whereabouts/pkg/storage"
99

1010
v1 "k8s.io/api/core/v1"
11+
v1podutil "k8s.io/kubernetes/pkg/api/v1/pod"
1112
)
1213

1314
type podWrapper struct {
@@ -47,7 +48,7 @@ func indexPods(livePodList []v1.Pod, whereaboutsPodNames map[string]void) map[st
4748
continue
4849
}
4950

50-
if isPodMarkedForDeletion(pod.Status.Conditions) {
51+
if isPodMarkedForDeletion(&pod) {
5152
logging.Debugf("Pod %s is marked for deletion; skipping", podRef)
5253
continue
5354
}
@@ -60,12 +61,18 @@ func indexPods(livePodList []v1.Pod, whereaboutsPodNames map[string]void) map[st
6061
return podMap
6162
}
6263

63-
func isPodMarkedForDeletion(conditions []v1.PodCondition) bool {
64-
for _, c := range conditions {
64+
func isPodMarkedForDeletion(pod *v1.Pod) bool {
65+
for _, c := range pod.Status.Conditions {
6566
if c.Type == v1.DisruptionTarget && c.Status == v1.ConditionTrue && c.Reason == "DeletionByTaintManager" {
6667
return true
6768
}
6869
}
70+
71+
// If a Pod ran to completion, like a Job, consider it dead
72+
if v1podutil.IsPodTerminal(pod) {
73+
return true
74+
}
75+
6976
return false
7077
}
7178

vendor/golang.org/x/exp/LICENSE

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/oauth2/LICENSE

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/oauth2/token.go

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/gengo/v2/Makefile

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/gengo/v2/generator/execute.go

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/gengo/v2/generator/import_tracker.go

Lines changed: 11 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/gengo/v2/parser/parse.go

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)