Skip to content

Commit 607dfef

Browse files
committed
minimal port to Kueue 0.10
1 parent 9e53dc3 commit 607dfef

File tree

10 files changed

+111
-68
lines changed

10 files changed

+111
-68
lines changed

go.mod

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ require (
66
github.com/distribution/reference v0.5.0
77
github.com/go-logr/logr v1.4.2
88
github.com/golangci/golangci-lint v1.60.1
9-
github.com/onsi/ginkgo/v2 v2.21.0
10-
github.com/onsi/gomega v1.35.1
11-
github.com/open-policy-agent/cert-controller v0.11.0
9+
github.com/onsi/ginkgo/v2 v2.22.0
10+
github.com/onsi/gomega v1.36.1
11+
github.com/open-policy-agent/cert-controller v0.12.0
1212
go.uber.org/zap v1.27.0
13-
k8s.io/api v0.31.2
14-
k8s.io/apimachinery v0.31.2
15-
k8s.io/client-go v0.31.2
13+
k8s.io/api v0.31.4
14+
k8s.io/apimachinery v0.31.4
15+
k8s.io/client-go v0.31.4
1616
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8
17-
sigs.k8s.io/controller-runtime v0.19.1
17+
sigs.k8s.io/controller-runtime v0.19.3
1818
sigs.k8s.io/controller-tools v0.16.5
19-
sigs.k8s.io/kueue v0.9.2
19+
sigs.k8s.io/kueue v0.10.0
2020
sigs.k8s.io/kustomize/kustomize/v5 v5.5.0
2121
sigs.k8s.io/yaml v1.4.0
2222
)
@@ -29,7 +29,6 @@ require (
2929
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
3030
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
3131
github.com/fatih/color v1.18.0 // indirect
32-
github.com/fsnotify/fsnotify v1.8.0 // indirect
3332
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
3433
github.com/go-errors/errors v1.4.2 // indirect
3534
github.com/go-logr/zapr v1.3.0 // indirect
@@ -82,7 +81,7 @@ require (
8281
golang.org/x/sys v0.28.0 // indirect
8382
golang.org/x/term v0.27.0 // indirect
8483
golang.org/x/text v0.21.0 // indirect
85-
golang.org/x/time v0.5.0 // indirect
84+
golang.org/x/time v0.6.0 // indirect
8685
golang.org/x/tools v0.26.0 // indirect
8786
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
8887
google.golang.org/protobuf v1.35.1 // indirect
@@ -91,13 +90,14 @@ require (
9190
gopkg.in/yaml.v2 v2.4.0 // indirect
9291
gopkg.in/yaml.v3 v3.0.1 // indirect
9392
k8s.io/apiextensions-apiserver v0.31.2 // indirect
94-
k8s.io/apiserver v0.31.2 // indirect
95-
k8s.io/component-base v0.31.2 // indirect
93+
k8s.io/apiserver v0.31.4 // indirect
94+
k8s.io/component-base v0.31.4 // indirect
95+
k8s.io/component-helpers v0.31.4 // indirect
9696
k8s.io/klog/v2 v2.130.1 // indirect
9797
k8s.io/kube-openapi v0.0.0-20240812233141-91dab695df6f // indirect
98-
sigs.k8s.io/jobset v0.7.0 // indirect
98+
sigs.k8s.io/jobset v0.7.1 // indirect
9999
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
100100
sigs.k8s.io/kustomize/api v0.18.0 // indirect
101101
sigs.k8s.io/kustomize/kyaml v0.18.1 // indirect
102-
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
102+
sigs.k8s.io/structured-merge-diff/v4 v4.4.3 // indirect
103103
)

go.sum

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,14 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
103103
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
104104
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
105105
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
106-
github.com/onsi/ginkgo/v2 v2.21.0 h1:7rg/4f3rB88pb5obDgNZrNHrQ4e6WpjonchcpuBRnZM=
107-
github.com/onsi/ginkgo/v2 v2.21.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
108-
github.com/onsi/gomega v1.35.1 h1:Cwbd75ZBPxFSuZ6T+rN/WCb/gOc6YgFBXLlZLhC7Ds4=
109-
github.com/onsi/gomega v1.35.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
110-
github.com/open-policy-agent/cert-controller v0.11.0 h1:zXaXeaS4eRAZXhUH5SxWqky681Y2KWjQv/z3X8iMcaQ=
111-
github.com/open-policy-agent/cert-controller v0.11.0/go.mod h1:456gr2XKHzxDOjxJZUST5rLIX8olrHkBUymy49FZzps=
112-
github.com/open-policy-agent/frameworks/constraint v0.0.0-20230822235116-f0b62fe1e4c4 h1:5dum5SLEz+95JDLkMls7Z7IDPjvSq3UhJSFe4f5einQ=
113-
github.com/open-policy-agent/frameworks/constraint v0.0.0-20230822235116-f0b62fe1e4c4/go.mod h1:54/KzLMvA5ndBVpm7B1OjLeV0cUtTLTz2bZ2OtydLpU=
106+
github.com/onsi/ginkgo/v2 v2.22.0 h1:Yed107/8DjTr0lKCNt7Dn8yQ6ybuDRQoMGrNFKzMfHg=
107+
github.com/onsi/ginkgo/v2 v2.22.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
108+
github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw=
109+
github.com/onsi/gomega v1.36.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
110+
github.com/open-policy-agent/cert-controller v0.12.0 h1:RKXlBafMcCh+++I1geJetXo77tAjyb4542DQc/+aZIw=
111+
github.com/open-policy-agent/cert-controller v0.12.0/go.mod h1:N5bCFXdAXMYx0PdS6ZQ9lrDQQMz+F6deoChym6VleXw=
112+
github.com/open-policy-agent/frameworks/constraint v0.0.0-20241101234656-e78c8abd754a h1:gQtOJ50XFyL2Xh3lDD9zP4KQ2PY4mZKQ9hDcWc81Sp8=
113+
github.com/open-policy-agent/frameworks/constraint v0.0.0-20241101234656-e78c8abd754a/go.mod h1:tI7nc6H6os2UYZRvSm9Y7bq4oMoXqhwA0WfnqKpoAgc=
114114
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
115115
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
116116
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -201,8 +201,8 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
201201
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
202202
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
203203
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
204-
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
205-
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
204+
golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
205+
golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
206206
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
207207
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
208208
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@@ -226,49 +226,50 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
226226
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
227227
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
228228
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
229-
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
230229
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
231230
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
232231
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
233232
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
234233
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
235-
k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0=
236-
k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk=
234+
k8s.io/api v0.31.4 h1:I2QNzitPVsPeLQvexMEsj945QumYraqv9m74isPDKhM=
235+
k8s.io/api v0.31.4/go.mod h1:d+7vgXLvmcdT1BCo79VEgJxHHryww3V5np2OYTr6jdw=
237236
k8s.io/apiextensions-apiserver v0.31.2 h1:W8EwUb8+WXBLu56ser5IudT2cOho0gAKeTOnywBLxd0=
238237
k8s.io/apiextensions-apiserver v0.31.2/go.mod h1:i+Geh+nGCJEGiCGR3MlBDkS7koHIIKWVfWeRFiOsUcM=
239-
k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw=
240-
k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
241-
k8s.io/apiserver v0.31.2 h1:VUzOEUGRCDi6kX1OyQ801m4A7AUPglpsmGvdsekmcI4=
242-
k8s.io/apiserver v0.31.2/go.mod h1:o3nKZR7lPlJqkU5I3Ove+Zx3JuoFjQobGX1Gctw6XuE=
243-
k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc=
244-
k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs=
245-
k8s.io/component-base v0.31.2 h1:Z1J1LIaC0AV+nzcPRFqfK09af6bZ4D1nAOpWsy9owlA=
246-
k8s.io/component-base v0.31.2/go.mod h1:9PeyyFN/drHjtJZMCTkSpQJS3U9OXORnHQqMLDz0sUQ=
238+
k8s.io/apimachinery v0.31.4 h1:8xjE2C4CzhYVm9DGf60yohpNUh5AEBnPxCryPBECmlM=
239+
k8s.io/apimachinery v0.31.4/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
240+
k8s.io/apiserver v0.31.4 h1:JbtnTaXVYEAYIHJil6Wd74Wif9sd8jVcBw84kwEmp7o=
241+
k8s.io/apiserver v0.31.4/go.mod h1:JJjoTjZ9PTMLdIFq7mmcJy2B9xLN3HeAUebW6xZyIP0=
242+
k8s.io/client-go v0.31.4 h1:t4QEXt4jgHIkKKlx06+W3+1JOwAFU/2OPiOo7H92eRQ=
243+
k8s.io/client-go v0.31.4/go.mod h1:kvuMro4sFYIa8sulL5Gi5GFqUPvfH2O/dXuKstbaaeg=
244+
k8s.io/component-base v0.31.4 h1:wCquJh4ul9O8nNBSB8N/o8+gbfu3BVQkVw9jAUY/Qtw=
245+
k8s.io/component-base v0.31.4/go.mod h1:G4dgtf5BccwiDT9DdejK0qM6zTK0jwDGEKnCmb9+u/s=
246+
k8s.io/component-helpers v0.31.4 h1:pqokuXozyWVrVBMmx0AMcKqNWqXhR00OZvpAE5hG5NM=
247+
k8s.io/component-helpers v0.31.4/go.mod h1:Ddq5GYRK/1uNoPNgJh9N5osPutvBweQEcIG6b8kcvgQ=
247248
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
248249
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
249-
k8s.io/kube-aggregator v0.30.3 h1:hy5zfQ7p6BuJgc/XtGp3GBh2MPfOj6b1n3raKKMHOQE=
250-
k8s.io/kube-aggregator v0.30.3/go.mod h1:2SP0IckvQoOwwZN8lmtWUnTZTgIpwOWvidWtxyqLwuk=
250+
k8s.io/kube-aggregator v0.31.2 h1:Uw1zUP2D/4wiSjKWVVzSOcCGLuW/+IdRwjjC0FJooYU=
251+
k8s.io/kube-aggregator v0.31.2/go.mod h1:41/VIXH+/Qcg9ERNAY6bRF/WQR6xL1wFgYagdHac1X4=
251252
k8s.io/kube-openapi v0.0.0-20240812233141-91dab695df6f h1:bnWtxXWdAl5bVOCEPoNdvMkyj6cTW3zxHuwKIakuV9w=
252253
k8s.io/kube-openapi v0.0.0-20240812233141-91dab695df6f/go.mod h1:G0W3eI9gG219NHRq3h5uQaRBl4pj4ZpwzRP5ti8y770=
253254
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A=
254255
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
255-
sigs.k8s.io/controller-runtime v0.19.1 h1:Son+Q40+Be3QWb+niBXAg2vFiYWolDjjRfO8hn/cxOk=
256-
sigs.k8s.io/controller-runtime v0.19.1/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
256+
sigs.k8s.io/controller-runtime v0.19.3 h1:XO2GvC9OPftRst6xWCpTgBZO04S2cbp0Qqkj8bX1sPw=
257+
sigs.k8s.io/controller-runtime v0.19.3/go.mod h1:j4j87DqtsThvwTv5/Tc5NFRyyF/RF0ip4+62tbTSIUM=
257258
sigs.k8s.io/controller-tools v0.16.5 h1:5k9FNRqziBPwqr17AMEPPV/En39ZBplLAdOwwQHruP4=
258259
sigs.k8s.io/controller-tools v0.16.5/go.mod h1:8vztuRVzs8IuuJqKqbXCSlXcw+lkAv/M2sTpg55qjMY=
259-
sigs.k8s.io/jobset v0.7.0 h1:CbPG6VpokBALa1MEGnTz5bjtJz+V4dwSL/AKcUQeOZc=
260-
sigs.k8s.io/jobset v0.7.0/go.mod h1:cbBuQ6QrTU88x5PrDqcC5AI28YyTSQCIcRTLNTJoHDE=
260+
sigs.k8s.io/jobset v0.7.1 h1:m28IaaKrQyZ8qa0Q7jK3U5/6TEW+27QPALjlalLP/0A=
261+
sigs.k8s.io/jobset v0.7.1/go.mod h1:cbBuQ6QrTU88x5PrDqcC5AI28YyTSQCIcRTLNTJoHDE=
261262
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
262263
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
263-
sigs.k8s.io/kueue v0.9.2 h1:KzuUPVkek42liH8Ujdm6R5Ths9m141noCnLFKIIrE+8=
264-
sigs.k8s.io/kueue v0.9.2/go.mod h1:RUqCq2RoyrKcPIrUiBsqwJfDoMq5/Z1ZP8iJqFF/T4M=
264+
sigs.k8s.io/kueue v0.10.0 h1:GDQlZbMLCyImRMIdlCO9yyI1JWoX+Ab6x9fodcJBva4=
265+
sigs.k8s.io/kueue v0.10.0/go.mod h1:mE9yoJMkIl7i0afQZsO7cnfOUawTHnESJAYqxp9nJy8=
265266
sigs.k8s.io/kustomize/api v0.18.0 h1:hTzp67k+3NEVInwz5BHyzc9rGxIauoXferXyjv5lWPo=
266267
sigs.k8s.io/kustomize/api v0.18.0/go.mod h1:f8isXnX+8b+SGLHQ6yO4JG1rdkZlvhaCf/uZbLVMb0U=
267268
sigs.k8s.io/kustomize/kustomize/v5 v5.5.0 h1:o1mtt6vpxsxDYaZKrw3BnEtc+pAjLz7UffnIvHNbvW0=
268269
sigs.k8s.io/kustomize/kustomize/v5 v5.5.0/go.mod h1:AeFCmgCrXzmvjWWaeZCyBp6XzG1Y0w1svYus8GhJEOE=
269270
sigs.k8s.io/kustomize/kyaml v0.18.1 h1:WvBo56Wzw3fjS+7vBjN6TeivvpbW9GmRaWZ9CIVmt4E=
270271
sigs.k8s.io/kustomize/kyaml v0.18.1/go.mod h1:C3L2BFVU1jgcddNBE1TxuVLgS46TjObMwW5FT9FcjYo=
271-
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
272-
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
272+
sigs.k8s.io/structured-merge-diff/v4 v4.4.3 h1:sCP7Vv3xx/CWIuTPVN38lUPx0uw0lcLfzaiDa8Ja01A=
273+
sigs.k8s.io/structured-merge-diff/v4 v4.4.3/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4=
273274
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
274275
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=

hack/e2e-util.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ function update_test_host {
6262
which kind >/dev/null 2>&1
6363
if [ $? -ne 0 ]
6464
then
65-
# Download kind binary (0.25.0)
66-
echo "Downloading and installing kind v0.25.0...."
65+
# Download kind binary (0.26.0)
66+
echo "Downloading and installing kind v0.26.0...."
6767
sudo curl -o /usr/local/bin/kind -L https://github.com/kubernetes-sigs/kind/releases/download/v0.26.0/kind-linux-${arch} && \
6868
sudo chmod +x /usr/local/bin/kind
6969
[ $? -ne 0 ] && echo "Failed to download kind" && exit 1
@@ -161,16 +161,16 @@ function kind_up_cluster {
161161
v0.26.0)
162162
case $KIND_K8S_VERSION in
163163
1.29)
164-
KIND_NODE_TAG=${KIND_NODE_TAG:="kindest/node:v1.29.12@sha256:62c0672ba99a4afd7396512848d6fc382906b8f33349ae68fb1dbfe549f70dec"}
164+
KIND_NODE_TAG=${KIND_NODE_TAG:="v1.29.12@sha256:62c0672ba99a4afd7396512848d6fc382906b8f33349ae68fb1dbfe549f70dec"}
165165
;;
166166
1.30)
167-
KIND_NODE_TAG=${KIND_NODE_TAG:="kindest/node:v1.30.8@sha256:17cd608b3971338d9180b00776cb766c50d0a0b6b904ab4ff52fd3fc5c6369bf"}
167+
KIND_NODE_TAG=${KIND_NODE_TAG:="v1.30.8@sha256:17cd608b3971338d9180b00776cb766c50d0a0b6b904ab4ff52fd3fc5c6369bf"}
168168
;;
169169
1.31)
170-
KIND_NODE_TAG=${KIND_NODE_TAG:="kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30"}
170+
KIND_NODE_TAG=${KIND_NODE_TAG:="v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30"}
171171
;;
172172
1.32)
173-
KIND_NODE_TAG=${KIND_NODE_TAG:="kindest/node:v1.32.0@sha256:c48c62eac5da28cdadcf560d1d8616cfa6783b58f0d94cf63ad1bf49600cb027"}
173+
KIND_NODE_TAG=${KIND_NODE_TAG:="v1.32.0@sha256:c48c62eac5da28cdadcf560d1d8616cfa6783b58f0d94cf63ad1bf49600cb027"}
174174
;;
175175
*)
176176
echo "Unexpected kubernetes version: $KIND_K8S__VERSION"

hack/kueue-config/controller_manager_config.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ controller:
1616
Pod: 5
1717
Workload.kueue.x-k8s.io: 5
1818
LocalQueue.kueue.x-k8s.io: 1
19+
Cohort.kueue.x-k8s.io: 1
1920
ClusterQueue.kueue.x-k8s.io: 1
2021
ResourceFlavor.kueue.x-k8s.io: 1
2122
clientConnection:
@@ -32,6 +33,9 @@ clientConnection:
3233
# backoffBaseSeconds: 60
3334
# backoffMaxSeconds: 3600
3435
manageJobsWithoutQueueName: true
36+
#managedJobsNamespaceSelector:
37+
# matchLabels:
38+
# kueue-managed: "true"
3539
#internalCertManagement:
3640
# enable: false
3741
# webhookServiceName: ""
@@ -49,6 +53,8 @@ integrations:
4953
- "kubeflow.org/tfjob"
5054
- "kubeflow.org/xgboostjob"
5155
# - "pod"
56+
# - "deployment" # requires enabling pod integration
57+
# - "statefulset" # requires enabling pod integration
5258
externalFrameworks:
5359
- "AppWrapper.v1beta2.workload.codeflare.dev"
5460
# podOptions:
@@ -62,3 +68,9 @@ integrations:
6268
# preemptionStrategies: [LessThanOrEqualToFinalShare, LessThanInitialShare]
6369
#resources:
6470
# excludeResourcePrefixes: []
71+
# transformations:
72+
# - input: nvidia.com/mig-4g.5gb
73+
# strategy: Replace | Retain
74+
# outputs:
75+
# example.com/accelerator-memory: 5Gi
76+
# example.com/accelerator-gpc: 4

hack/kueue-config/kustomization.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
22
kind: Kustomization
33

44
resources:
5-
- "https://github.com/kubernetes-sigs/kueue/config/default?ref=v0.9.2"
5+
- "https://github.com/kubernetes-sigs/kueue/config/default?ref=v0.10.0"
66

77
configMapGenerator:
88
- name: manager-config
@@ -13,7 +13,7 @@ configMapGenerator:
1313
images:
1414
- name: us-central1-docker.pkg.dev/k8s-staging-images/kueue/kueue
1515
newName: registry.k8s.io/kueue/kueue
16-
newTag: v0.9.2
16+
newTag: v0.10.0
1717

1818
patches:
1919
- target:

internal/controller/appwrapper/appwrapper_controller.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,14 @@ func (r *AppWrapperReconciler) Reconcile(ctx context.Context, req ctrl.Request)
169169
if r.Config.DefaultQueueName != "" {
170170
aw.Labels = utilmaps.MergeKeepFirst(aw.Labels, map[string]string{"kueue.x-k8s.io/queue-name": r.Config.DefaultQueueName})
171171
}
172-
jobframework.ApplyDefaultForSuspend((*wlc.AppWrapper)(aw), r.Config.KueueJobReconciller.ManageJobsWithoutQueueName)
172+
nsSelector, err := metav1.LabelSelectorAsSelector(r.Config.KueueJobReconciller.ManageJobsNamespaceSelector)
173+
if err != nil {
174+
return ctrl.Result{}, err
175+
}
176+
err = jobframework.ApplyDefaultForSuspend(ctx, (*wlc.AppWrapper)(aw), r.Client, r.Config.KueueJobReconciller.ManageJobsWithoutQueueName, nsSelector)
177+
if err != nil {
178+
return ctrl.Result{}, err
179+
}
173180
}
174181
controllerutil.AddFinalizer(aw, AppWrapperFinalizer)
175182
if err := r.Update(ctx, aw); err != nil {

internal/webhook/appwrapper_webhook.go

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import (
3333
utilmaps "sigs.k8s.io/kueue/pkg/util/maps"
3434

3535
ctrl "sigs.k8s.io/controller-runtime"
36+
"sigs.k8s.io/controller-runtime/pkg/client"
3637
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
3738
"sigs.k8s.io/controller-runtime/pkg/log"
3839
"sigs.k8s.io/controller-runtime/pkg/webhook"
@@ -56,6 +57,7 @@ const (
5657
type AppWrapperWebhook struct {
5758
Config *config.AppWrapperConfig
5859
SubjectAccessReviewer authClientv1.SubjectAccessReviewInterface
60+
client client.Client
5961
DiscoveryClient *discovery.DiscoveryClient
6062
kindToResourceCache map[string]string
6163
}
@@ -77,7 +79,14 @@ func (w *AppWrapperWebhook) Default(ctx context.Context, obj runtime.Object) err
7779
if w.Config.DefaultQueueName != "" {
7880
aw.Labels = utilmaps.MergeKeepFirst(aw.Labels, map[string]string{QueueNameLabel: w.Config.DefaultQueueName})
7981
}
80-
jobframework.ApplyDefaultForSuspend((*wlc.AppWrapper)(aw), w.Config.KueueJobReconciller.ManageJobsWithoutQueueName)
82+
nsSelector, err := metav1.LabelSelectorAsSelector(w.Config.KueueJobReconciller.ManageJobsNamespaceSelector)
83+
if err != nil {
84+
return err
85+
}
86+
err = jobframework.ApplyDefaultForSuspend(ctx, (*wlc.AppWrapper)(aw), w.client, w.Config.KueueJobReconciller.ManageJobsWithoutQueueName, nsSelector)
87+
if err != nil {
88+
return err
89+
}
8190
}
8291

8392
// inject labels with user name and id
@@ -305,14 +314,19 @@ func (w *AppWrapperWebhook) lookupResource(gvk *schema.GroupVersionKind) string
305314
return "*"
306315
}
307316

308-
func (wh *AppWrapperWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error {
317+
func SetupAppWrapperWebhook(mgr ctrl.Manager, awConfig *config.AppWrapperConfig) error {
309318
kubeClient, err := kubernetes.NewForConfig(mgr.GetConfig())
310319
if err != nil {
311320
return err
312321
}
313-
wh.SubjectAccessReviewer = kubeClient.AuthorizationV1().SubjectAccessReviews()
314-
wh.DiscoveryClient = kubeClient.DiscoveryClient
315-
wh.kindToResourceCache = make(map[string]string)
322+
wh := &AppWrapperWebhook{
323+
Config: awConfig,
324+
client: mgr.GetClient(),
325+
DiscoveryClient: kubeClient.DiscoveryClient,
326+
SubjectAccessReviewer: kubeClient.AuthorizationV1().SubjectAccessReviews(),
327+
kindToResourceCache: make(map[string]string),
328+
}
329+
316330
return ctrl.NewWebhookManagedBy(mgr).
317331
For(&workloadv1beta2.AppWrapper{}).
318332
WithDefaulter(wh).

internal/webhook/suite_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ var _ = BeforeSuite(func() {
161161

162162
conf := config.NewAppWrapperConfig()
163163
conf.DefaultQueueName = defaultQueueName // add default queue name
164-
err = (&AppWrapperWebhook{Config: conf}).SetupWebhookWithManager(mgr)
164+
err = SetupAppWrapperWebhook(mgr, conf)
165165
Expect(err).NotTo(HaveOccurred())
166166

167167
//+kubebuilder:scaffold:webhook

0 commit comments

Comments
 (0)