mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-09 05:25:14 +09:00
The wrapper chart named the kernel-module ConfigMap from its own kernelModuleConfig.name key, while the NVIDIA driver mounts the ConfigMap referenced by gpu-operator.driver.kernelModuleConfig.name. The two keys defaulted to the same value but were never linked, so overriding only the driver reference left the driver pointing at a ConfigMap that is never rendered and the NVreg_NvLinkDisable=1 parameters were silently dropped. Derive the ConfigMap name from the driver's effective reference, falling back to the wrapper key when unset, so the rendered ConfigMap and the driver reference can no longer diverge. Add helm-unittest coverage for the rendered name, namespace, data key, and the create=false no-op. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
26 lines
1.0 KiB
YAML
26 lines
1.0 KiB
YAML
{{- if .Values.kernelModuleConfig.create }}
|
|
{{- /*
|
|
Name the ConfigMap after the driver's effective kernelModuleConfig
|
|
reference (gpu-operator.driver.kernelModuleConfig.name) — that is the
|
|
name the operator mounts into the driver pod. Falling back to the
|
|
wrapper's own kernelModuleConfig.name keeps the two from ever diverging:
|
|
overriding only the driver reference would otherwise leave the driver
|
|
pointing at a ConfigMap that is never rendered.
|
|
*/}}
|
|
{{- $gpuOperator := index .Values "gpu-operator" | default dict -}}
|
|
{{- $driver := index $gpuOperator "driver" | default dict -}}
|
|
{{- $driverKmc := index $driver "kernelModuleConfig" | default dict -}}
|
|
{{- $name := $driverKmc.name | default .Values.kernelModuleConfig.name -}}
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: {{ $name }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
app.kubernetes.io/name: gpu-operator
|
|
data:
|
|
nvidia.conf: |
|
|
{{- .Values.kernelModuleConfig.content | nindent 4 }}
|
|
{{- end }}
|