Describe the bug
When running standalone k8s-mig-manager on Talos Linux with preinstalled NVIDIA drivers/toolkit from Talos system extensions, v0.14.0 observes changes to the nvidia.com/mig.config node label but does not perform a real MIG geometry transition.
The underlying nvidia-mig-parted command works manually in the same pod. Downgrading the manager image to v0.12.3-ubuntu20.04 makes label-driven reconfiguration work.
To Reproduce
MIG mode was enabled on both A100s. The node initially had this applied profile:
nvidia.com/mig.config=all-1g.5gb
nvidia.com/mig.config.state=success
With v0.14.0, changing the label:
kubectl label node gx06 nvidia.com/mig.config=all-balanced --overwrite
updated the node label, but the hardware geometry did not change.
k8s-mig-manager logs stopped after:
Using custom config: /mig-parted-config/config.yaml
Waiting for change to 'nvidia.com/mig.config' label
Updating to MIG config: all-1g.5gb
No later logs such as applying the config or successfully updating appeared.
nvidia-smi -L still showed the old all-1g.5gb layout.
Manual assert for the requested config failed:
kubectl exec -n nvidia-mig-manager ds/nvidia-mig-manager -- nvidia-mig-parted -d assert -f /mig-parted-config/config.yaml -c all-balanced
Output included:
Not all GPUs match the specified config
Assertion failure: selected configuration not currently applied
However, manual apply from inside the same pod worked:
kubectl exec -n nvidia-mig-manager ds/nvidia-mig-manager -- nvidia-mig-parted -d apply -f /mig-parted-config/config.yaml -c all-balanced
Expected behavior
k8s-mig-manager v0.14.0 should apply the selected profile when nvidia.com/mig.config changes, then set:
nvidia.com/mig.config.state=success
Environment (please provide the following information):
- OS: Talos Linux v1.12.6
- Kubernetes: v1.34.6
- Node:
gx06
- GPUs: 2x NVIDIA A100-PCIE-40GB
- NVIDIA driver/toolkit: provided by Talos system extensions (580.126.20)
- Kernel Version: 6.18.18-talos
- GPU Operator: not installed
- RuntimeClass:
nvidia
- MIG Manager image that fails:
nvcr.io/nvidia/cloud-native/k8s-mig-manager:v0.14.0
- MIG Manager image that works:
nvcr.io/nvidia/cloud-native/k8s-mig-manager:v0.12.3-ubuntu20.04
Notes
This appears specific to the standalone k8s-mig-manager v0.14.0 controller path, not to nvidia-mig-parted itself. The same container could run nvidia-mig-parted apply manually.
One visible difference is that newer v0.14.0 uses the Go-native reconfigure path, while v0.12.3 uses the older shell-based reconfigure-mig.sh path.
Describe the bug
When running standalone
k8s-mig-manageron Talos Linux with preinstalled NVIDIA drivers/toolkit from Talos system extensions,v0.14.0observes changes to thenvidia.com/mig.confignode label but does not perform a real MIG geometry transition.The underlying
nvidia-mig-partedcommand works manually in the same pod. Downgrading the manager image tov0.12.3-ubuntu20.04makes label-driven reconfiguration work.To Reproduce
MIG mode was enabled on both A100s. The node initially had this applied profile:
With
v0.14.0, changing the label:updated the node label, but the hardware geometry did not change.
k8s-mig-managerlogs stopped after:No later logs such as applying the config or successfully updating appeared.
nvidia-smi -Lstill showed the oldall-1g.5gblayout.Manual assert for the requested config failed:
kubectl exec -n nvidia-mig-manager ds/nvidia-mig-manager -- nvidia-mig-parted -d assert -f /mig-parted-config/config.yaml -c all-balancedOutput included:
However, manual apply from inside the same pod worked:
kubectl exec -n nvidia-mig-manager ds/nvidia-mig-manager -- nvidia-mig-parted -d apply -f /mig-parted-config/config.yaml -c all-balancedExpected behavior
k8s-mig-manager v0.14.0should apply the selected profile whennvidia.com/mig.configchanges, then set:Environment (please provide the following information):
gx06nvidianvcr.io/nvidia/cloud-native/k8s-mig-manager:v0.14.0nvcr.io/nvidia/cloud-native/k8s-mig-manager:v0.12.3-ubuntu20.04Notes
This appears specific to the standalone
k8s-mig-manager v0.14.0controller path, not tonvidia-mig-parteditself. The same container could runnvidia-mig-parted applymanually.One visible difference is that newer
v0.14.0uses the Go-native reconfigure path, whilev0.12.3uses the older shell-basedreconfigure-mig.shpath.