You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Deps-Test] Deep-merge injected ExtraChefAttributes with the cluster config's existing ones
A test feature (e.g. gb200) may
already set DevSettings.Cookbook.ExtraChefAttributes on the cluster config. The
previous 'inject only if absent' guard then skipped our attributes entirely(
ExtraChefAttributes (python-version,nvidia, etc.) via --extra-chef-attributes), so
cluster init used the cookbook default python and failed with
'Errno::ENOENT: .../pyenv/versions/3.14.2/.../python' (the AMI carries the
upgraded python).
Deep-merge instead: parse the existing JSON string, recursively merge our
injected attributes under it, and re-serialize. The two dicts share branch keys
(cluster, cluster.nvidia) but disjoint children, so a shallow merge would drop
one subtree; recursion preserves both. Test-specific attributes win on leaf
conflicts (existing passed as the override arg).
0 commit comments