1313# See the License for the specific language governing permissions and
1414# limitations under the License.
1515
16- """Generate a complete list of container images required to run the GPU Operator.
16+ """Generate a complete list of container images that could be pulled and deployed
17+ by the GPU Operator.
1718
1819Parses the Helm chart's values.yaml (and the bundled NFD subchart) to produce a
1920plain-text file with one fully-qualified image reference per line. The list is
@@ -207,7 +208,7 @@ def _extract_operator_images(
207208 """
208209 images : set [str ] = set ()
209210
210- def add (repo : str , img : str , ver : str | None ) -> None :
211+ def add_image_ref (repo : str , img : str , ver : str | None ) -> None :
211212 """Add a single-tag image, substituting app_version when version is absent."""
212213 if ver == "" :
213214 return # empty string = user-supplied image not set; skip
@@ -241,7 +242,7 @@ def add_os_variants(repo: str, img: str, ver: str) -> None:
241242 comp = values .get (key , {})
242243 # Use explicit version from component if specified, otherwise use override if provided
243244 version = comp .get ("version" ) or operator_version
244- add (comp .get ("repository" , "" ), comp .get ("image" , "" ), version )
245+ add_image_ref (comp .get ("repository" , "" ), comp .get ("image" , "" ), version )
245246
246247 # ------------------------------------------------------------------
247248 # Components with explicit, pinned versions
@@ -257,31 +258,31 @@ def add_os_variants(repo: str, img: str, ver: str) -> None:
257258
258259 # k8s-driver-manager sidecar
259260 dm = driver .get ("manager" , {})
260- add (dm .get ("repository" , "" ), dm .get ("image" , "" ), dm .get ("version" , "" ))
261+ add_image_ref (dm .get ("repository" , "" ), dm .get ("image" , "" ), dm .get ("version" , "" ))
261262
262263 # Container Toolkit
263264 tk = values .get ("toolkit" , {})
264- add (tk .get ("repository" , "" ), tk .get ("image" , "" ), tk .get ("version" , "" ))
265+ add_image_ref (tk .get ("repository" , "" ), tk .get ("image" , "" ), tk .get ("version" , "" ))
265266
266267 # Device Plugin
267268 dp = values .get ("devicePlugin" , {})
268- add (dp .get ("repository" , "" ), dp .get ("image" , "" ), dp .get ("version" , "" ))
269+ add_image_ref (dp .get ("repository" , "" ), dp .get ("image" , "" ), dp .get ("version" , "" ))
269270
270271 # Standalone DCGM hostengine (optional, disabled by default)
271272 dcgm = values .get ("dcgm" , {})
272- add (dcgm .get ("repository" , "" ), dcgm .get ("image" , "" ), dcgm .get ("version" , "" ))
273+ add_image_ref (dcgm .get ("repository" , "" ), dcgm .get ("image" , "" ), dcgm .get ("version" , "" ))
273274
274275 # DCGM Exporter
275276 de = values .get ("dcgmExporter" , {})
276- add (de .get ("repository" , "" ), de .get ("image" , "" ), de .get ("version" , "" ))
277+ add_image_ref (de .get ("repository" , "" ), de .get ("image" , "" ), de .get ("version" , "" ))
277278
278279 # GPU Feature Discovery (shares the device-plugin image)
279280 gfd = values .get ("gfd" , {})
280- add (gfd .get ("repository" , "" ), gfd .get ("image" , "" ), gfd .get ("version" , "" ))
281+ add_image_ref (gfd .get ("repository" , "" ), gfd .get ("image" , "" ), gfd .get ("version" , "" ))
281282
282283 # MIG Manager
283284 mm = values .get ("migManager" , {})
284- add (mm .get ("repository" , "" ), mm .get ("image" , "" ), mm .get ("version" , "" ))
285+ add_image_ref (mm .get ("repository" , "" ), mm .get ("image" , "" ), mm .get ("version" , "" ))
285286
286287 # GPUDirect Storage – OS-specific image (e.g. 2.27.3-ubuntu22.04)
287288 gds = values .get ("gds" , {})
@@ -303,29 +304,29 @@ def add_os_variants(repo: str, img: str, ver: str) -> None:
303304 # The driverManager sidecar is pinned.
304305 vgpu = values .get ("vgpuManager" , {})
305306 vgpu_dm = vgpu .get ("driverManager" , {})
306- add (vgpu_dm .get ("repository" , "" ), vgpu_dm .get ("image" , "" ), vgpu_dm .get ("version" , "" ))
307+ add_image_ref (vgpu_dm .get ("repository" , "" ), vgpu_dm .get ("image" , "" ), vgpu_dm .get ("version" , "" ))
307308
308309 # vGPU Device Manager
309310 vdm = values .get ("vgpuDeviceManager" , {})
310- add (vdm .get ("repository" , "" ), vdm .get ("image" , "" ), vdm .get ("version" , "" ))
311+ add_image_ref (vdm .get ("repository" , "" ), vdm .get ("image" , "" ), vdm .get ("version" , "" ))
311312
312313 # VFIO Manager (and its driverManager sidecar)
313314 vfio = values .get ("vfioManager" , {})
314- add (vfio .get ("repository" , "" ), vfio .get ("image" , "" ), vfio .get ("version" , "" ))
315+ add_image_ref (vfio .get ("repository" , "" ), vfio .get ("image" , "" ), vfio .get ("version" , "" ))
315316 vfio_dm = vfio .get ("driverManager" , {})
316- add (vfio_dm .get ("repository" , "" ), vfio_dm .get ("image" , "" ), vfio_dm .get ("version" , "" ))
317+ add_image_ref (vfio_dm .get ("repository" , "" ), vfio_dm .get ("image" , "" ), vfio_dm .get ("version" , "" ))
317318
318319 # Sandbox Device Plugin (KubeVirt GPU passthrough)
319320 sdp = values .get ("sandboxDevicePlugin" , {})
320- add (sdp .get ("repository" , "" ), sdp .get ("image" , "" ), sdp .get ("version" , "" ))
321+ add_image_ref (sdp .get ("repository" , "" ), sdp .get ("image" , "" ), sdp .get ("version" , "" ))
321322
322323 # Kata Sandbox Device Plugin
323324 ksdp = values .get ("kataSandboxDevicePlugin" , {})
324- add (ksdp .get ("repository" , "" ), ksdp .get ("image" , "" ), ksdp .get ("version" , "" ))
325+ add_image_ref (ksdp .get ("repository" , "" ), ksdp .get ("image" , "" ), ksdp .get ("version" , "" ))
325326
326327 # Confidential Computing Manager
327328 cc = values .get ("ccManager" , {})
328- add (cc .get ("repository" , "" ), cc .get ("image" , "" ), cc .get ("version" , "" ))
329+ add_image_ref (cc .get ("repository" , "" ), cc .get ("image" , "" ), cc .get ("version" , "" ))
329330
330331 # kataManager has no image fields in values.yaml (operator-managed); skip.
331332
0 commit comments