Skip to content

Commit e06d83b

Browse files
committed
Renovate: Automate operand version bumps in GPU Operator
1 parent 1c71f98 commit e06d83b

File tree

4 files changed

+135
-16
lines changed

4 files changed

+135
-16
lines changed

.github/renovate.json

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"prHourlyLimit": 10,
4+
"prConcurrentLimit": 10,
5+
"dependencyDashboard": false,
6+
"extends": [
7+
"config:recommended",
8+
":disableDependencyDashboard",
9+
"config:recommended",
10+
":disableDependencyDashboard",
11+
"config:recommended",
12+
":disableDependencyDashboard",
13+
"config:recommended",
14+
":disableDependencyDashboard",
15+
"config:recommended",
16+
":disableDependencyDashboard",
17+
"config:recommended",
18+
":disableDependencyDashboard",
19+
"config:recommended",
20+
":disableDependencyDashboard",
21+
"config:recommended",
22+
":disableDependencyDashboard"
23+
],
24+
"forkProcessing": "enabled",
25+
"ignorePaths": ["vendor/**"],
26+
"enabledManagers": ["custom.regex"],
27+
"recreateWhen": "always",
28+
"separateMultipleMajor": false,
29+
"separateMinorPatch": false,
30+
"customManagers": [
31+
{
32+
"customType": "regex",
33+
"managerFilePatterns": [
34+
"bundle/manifests/gpu-operator-certified.clusterserviceversion.yaml"
35+
],
36+
"matchStrings": [
37+
"[-\\s]*value:\\s*\"?(?<depName>[^:\"]+)(?::(?<currentValue>[^@\"]+))?@(?<currentDigest>sha256:[a-f0-9]{64})\"?",
38+
"[-\\s]*image: (?<depName>.*?)(?::(?<currentValue>.*?))?@(?<currentDigest>sha256:[a-f0-9]{64})",
39+
"- name: (?<suffix>[\\w-]+)[-\\s]*image: (?<depName>.*?)(?::(?<currentValue>.*?))?@(?<currentDigest>sha256:[a-f0-9]{64})"
40+
],
41+
"versioningTemplate": "{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}",
42+
"datasourceTemplate": "docker"
43+
},
44+
{
45+
"customType": "regex",
46+
"managerFilePatterns": [
47+
"deployments/gpu-operator/values.yaml"
48+
],
49+
"matchStrings": [
50+
"[-\\s]*repository:\\s*(?<repo>\\S+)\\s*\\n(?:\\s*#.*\\n|\\s*\\n)*[-\\s]*image:\\s*(?<image>\\S+)\\s*\\n(?:\\s*#.*\\n|\\s*\\n)*[-\\s]*version:\\s*(?<currentValue>\\S+)"
51+
],
52+
"depNameTemplate": "{{repo}}/{{image}}",
53+
"datasourceTemplate": "docker",
54+
"versioningTemplate": "loose"
55+
}
56+
],
57+
"packageRules": [
58+
{
59+
"matchPaths": ["deployments/gpu-operator/values.yaml"],
60+
"matchPackageNames": [
61+
"nvcr.io/nvidia/cloud-native/k8s-driver-manager",
62+
"nvcr.io/nvidia/cloud-native/k8s-kata-manager",
63+
"nvcr.io/nvidia/cloud-native/vgpu-device-manager",
64+
"nvcr.io/nvidia/cloud-native/vgpu-cc-manager",
65+
"nvcr.io/nvidia/kubevirt-gpu-device-plugin",
66+
"nvcr.io/nvidia/k8s-device-plugin"
67+
],
68+
"versioning": "regex:^v?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
69+
"separateMajorMinor": false
70+
},
71+
{
72+
"matchPaths": ["deployments/gpu-operator/values.yaml"],
73+
"matchPackageNames": [
74+
"nvcr.io/nvidia/k8s/container-toolkit",
75+
"nvcr.io/nvidia/cloud-native/k8s-mig-manager"
76+
],
77+
"versioning": "regex:^v?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-ubuntu(?<ubuntu>\\d+\\.\\d+)$",
78+
"separateMajorMinor": false
79+
},
80+
{
81+
"matchPaths": ["deployments/gpu-operator/values.yaml"],
82+
"matchPackageNames": [
83+
"nvcr.io/nvidia/cuda"
84+
],
85+
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-base-ubi9$",
86+
"separateMajorMinor": false
87+
},
88+
{
89+
"groupName": "bump all nvcr packages for deploymens and clusterservice, skip driver",
90+
"matchPackageNames": ["/.*/"]
91+
},
92+
{
93+
"matchPackageNames": ["nvcr.io/nvidia/driver"],
94+
"enabled": false
95+
}
96+
]
97+
}

.github/workflows/renovate.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Renovate
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "0 9 * * *"
7+
8+
jobs:
9+
renovate:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout code
13+
uses: actions/checkout@v4
14+
15+
- name: Run Renovate
16+
uses: renovatebot/[email protected]
17+
with:
18+
configurationFile: .github/renovate.json
19+
env:
20+
RENOVATE_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21+
RENOVATE_REPOSITORIES: '["shivakunv/gpu-operator"]'
22+
RENOVATE_ONBOARDING: false

bundle/manifests/gpu-operator-certified.clusterserviceversion.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ metadata:
161161
"driverType": "gpu",
162162
"repository": "nvcr.io/nvidia",
163163
"image": "driver",
164-
"version": "sha256:b74c06db9fda39e93d65649e1f447cb7bb82edfdc729936b4e67d11bbf9a4715",
164+
"version": "sha256:6729c252a8877f29a1e5e336b945efa5126ea555db3c83b06e2e3d9843e647c7",
165165
"nodeSelector": {},
166166
"manager": {},
167167
"repoConfig": {
@@ -203,13 +203,13 @@ spec:
203203
- name: gpu-operator-image
204204
image: ghcr.io/nvidia/gpu-operator:main-latest
205205
- name: dcgm-exporter-image
206-
image: nvcr.io/nvidia/k8s/dcgm-exporter@sha256:6c78381d83e2ccd84e9645d35d8768d98a52b73c75d1bb9395b5f030ce9bd3a4
206+
image: nvcr.io/nvidia/k8s/dcgm-exporter@sha256:b848747435dfecb216484d16363a9897f64232b3c3ae7f171dde06525d8606b4
207207
- name: dcgm-image
208-
image: nvcr.io/nvidia/cloud-native/dcgm@sha256:ec473ac9f8e4f638e97ec5ffd6f6d3dbbfc3a53bdd07514745c8868676979bba
208+
image: nvcr.io/nvidia/cloud-native/dcgm@sha256:954cb65ae82d3663903299b2c9dab006df8b2bb6d59115ac5f63262f3b10aa30
209209
- name: container-toolkit-image
210210
image: nvcr.io/nvidia/k8s/container-toolkit@sha256:51c8f71d3b3c08ae4eb4853697e3f8e6f11e435e666e08210178e6a1faf8028f
211211
- name: driver-image
212-
image: nvcr.io/nvidia/driver@sha256:b74c06db9fda39e93d65649e1f447cb7bb82edfdc729936b4e67d11bbf9a4715
212+
image: nvcr.io/nvidia/driver@sha256:6729c252a8877f29a1e5e336b945efa5126ea555db3c83b06e2e3d9843e647c7
213213
- name: driver-image-550
214214
image: nvcr.io/nvidia/driver@sha256:8b89435d54a2e6a33c480dd0659e9a4a73f872a6187f9f9eadd934ecb45ac273
215215
- name: driver-image-535
@@ -901,13 +901,13 @@ spec:
901901
- name: "CONTAINER_TOOLKIT_IMAGE"
902902
value: "nvcr.io/nvidia/k8s/container-toolkit@sha256:51c8f71d3b3c08ae4eb4853697e3f8e6f11e435e666e08210178e6a1faf8028f"
903903
- name: "DCGM_IMAGE"
904-
value: "nvcr.io/nvidia/cloud-native/dcgm@sha256:ec473ac9f8e4f638e97ec5ffd6f6d3dbbfc3a53bdd07514745c8868676979bba"
904+
value: "nvcr.io/nvidia/cloud-native/dcgm@sha256:954cb65ae82d3663903299b2c9dab006df8b2bb6d59115ac5f63262f3b10aa30"
905905
- name: "DCGM_EXPORTER_IMAGE"
906-
value: "nvcr.io/nvidia/k8s/dcgm-exporter@sha256:6c78381d83e2ccd84e9645d35d8768d98a52b73c75d1bb9395b5f030ce9bd3a4"
906+
value: "nvcr.io/nvidia/k8s/dcgm-exporter@sha256:b848747435dfecb216484d16363a9897f64232b3c3ae7f171dde06525d8606b4"
907907
- name: "DEVICE_PLUGIN_IMAGE"
908908
value: "nvcr.io/nvidia/k8s-device-plugin@sha256:037160a36de0f060fc21cc0cb2f795d980282ff1471b55530433ca4350b24c4f"
909909
- name: "DRIVER_IMAGE"
910-
value: "nvcr.io/nvidia/driver@sha256:b74c06db9fda39e93d65649e1f447cb7bb82edfdc729936b4e67d11bbf9a4715"
910+
value: "nvcr.io/nvidia/driver@sha256:6729c252a8877f29a1e5e336b945efa5126ea555db3c83b06e2e3d9843e647c7"
911911
- name: "DRIVER_IMAGE-550"
912912
value: "nvcr.io/nvidia/driver@sha256:8b89435d54a2e6a33c480dd0659e9a4a73f872a6187f9f9eadd934ecb45ac273"
913913
- name: "DRIVER_IMAGE-535"

deployments/gpu-operator/values.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ operator:
8080
# to be passed during helm upgrade.
8181
upgradeCRD: true
8282
initContainer:
83-
image: cuda
8483
repository: nvcr.io/nvidia
84+
image: cuda
8585
version: 12.8.1-base-ubi9
8686
imagePullPolicy: IfNotPresent
8787
tolerations:
@@ -146,7 +146,7 @@ driver:
146146
usePrecompiled: false
147147
repository: nvcr.io/nvidia
148148
image: driver
149-
version: "570.158.01"
149+
version: "570.148.08"
150150
imagePullPolicy: IfNotPresent
151151
imagePullSecrets: []
152152
startupProbe:
@@ -192,8 +192,8 @@ driver:
192192
timeoutSeconds: 300
193193
deleteEmptyDir: false
194194
manager:
195-
image: k8s-driver-manager
196195
repository: nvcr.io/nvidia/cloud-native
196+
image: k8s-driver-manager
197197
# When choosing a different version of k8s-driver-manager, DO NOT downgrade to a version lower than v0.6.4
198198
# to ensure k8s-driver-manager stays compatible with gpu-operator starting from v24.3.0
199199
version: v0.8.0
@@ -234,7 +234,7 @@ toolkit:
234234
enabled: true
235235
repository: nvcr.io/nvidia/k8s
236236
image: container-toolkit
237-
version: v1.17.8-ubuntu20.04
237+
version: v1.17.7-ubuntu20.04
238238
imagePullPolicy: IfNotPresent
239239
imagePullSecrets: []
240240
env: []
@@ -245,7 +245,7 @@ devicePlugin:
245245
enabled: true
246246
repository: nvcr.io/nvidia
247247
image: k8s-device-plugin
248-
version: v0.17.2
248+
version: v0.17.1
249249
imagePullPolicy: IfNotPresent
250250
imagePullSecrets: []
251251
args: []
@@ -303,7 +303,7 @@ dcgm:
303303
enabled: false
304304
repository: nvcr.io/nvidia/cloud-native
305305
image: dcgm
306-
version: 4.2.3-1-ubuntu22.04
306+
version: 4.1.1-2-ubuntu22.04
307307
imagePullPolicy: IfNotPresent
308308
args: []
309309
env: []
@@ -313,7 +313,7 @@ dcgmExporter:
313313
enabled: true
314314
repository: nvcr.io/nvidia/k8s
315315
image: dcgm-exporter
316-
version: 4.2.3-4.1.3-ubuntu22.04
316+
version: 4.2.3-4.1.1-ubuntu22.04
317317
imagePullPolicy: IfNotPresent
318318
env:
319319
- name: DCGM_EXPORTER_LISTEN
@@ -464,8 +464,8 @@ vgpuManager:
464464
env: []
465465
resources: {}
466466
driverManager:
467-
image: k8s-driver-manager
468467
repository: nvcr.io/nvidia/cloud-native
468+
image: k8s-driver-manager
469469
# When choosing a different version of k8s-driver-manager, DO NOT downgrade to a version lower than v0.6.4
470470
# to ensure k8s-driver-manager stays compatible with gpu-operator starting from v24.3.0
471471
version: v0.8.0
@@ -498,8 +498,8 @@ vfioManager:
498498
env: []
499499
resources: {}
500500
driverManager:
501-
image: k8s-driver-manager
502501
repository: nvcr.io/nvidia/cloud-native
502+
image: k8s-driver-manager
503503
# When choosing a different version of k8s-driver-manager, DO NOT downgrade to a version lower than v0.6.4
504504
# to ensure k8s-driver-manager stays compatible with gpu-operator starting from v24.3.0
505505
version: v0.8.0

0 commit comments

Comments
 (0)