Skip to content

Commit f032582

Browse files
lockwobrmchmarny
andauthored
ix(bundler): v0.12 rc1 smoke-test follow-ups (#677)
Co-authored-by: Mark Chmarny <mchmarny@users.noreply.github.com>
1 parent 39e3114 commit f032582

7 files changed

Lines changed: 31 additions & 13 deletions

File tree

docs/user/cli-reference.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -991,7 +991,7 @@ aicr bundle -r recipe.yaml --nodes 8 -o ./bundles
991991
992992
# Day 2 options: workload-gate and workload-selector for nodewright
993993
aicr bundle -r recipe.yaml \
994-
--workload-gate skyhook.io/runtime-required=true:NoSchedule \
994+
--workload-gate skyhook.nvidia.com/runtime-required=true:NoSchedule \
995995
--workload-selector workload-type=training \
996996
-o ./bundles
997997
@@ -1230,7 +1230,7 @@ aicr bundle -r recipe.yaml \
12301230
```shell
12311231
# Generate bundle with day 2 options for training workloads
12321232
aicr bundle -r recipe.yaml \
1233-
--workload-gate skyhook.io/runtime-required=true:NoSchedule \
1233+
--workload-gate skyhook.nvidia.com/runtime-required=true:NoSchedule \
12341234
--workload-selector workload-type=training \
12351235
--workload-selector intent=training \
12361236
--accelerated-node-selector accelerator=nvidia-h100 \

pkg/bundler/config/config_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -831,7 +831,7 @@ func TestDeployerTypeString(t *testing.T) {
831831
func TestWorkloadGateTaintOptions(t *testing.T) {
832832
t.Run("WithWorkloadGateTaint with valid taint", func(t *testing.T) {
833833
taint := &corev1.Taint{
834-
Key: "skyhook.io/runtime-required",
834+
Key: "skyhook.nvidia.com/runtime-required",
835835
Value: "true",
836836
Effect: corev1.TaintEffectNoSchedule,
837837
}
@@ -841,8 +841,8 @@ func TestWorkloadGateTaintOptions(t *testing.T) {
841841
if got == nil {
842842
t.Fatal("WorkloadGateTaint() returned nil")
843843
}
844-
if got.Key != "skyhook.io/runtime-required" {
845-
t.Errorf("WorkloadGateTaint().Key = %s, want skyhook.io/runtime-required", got.Key)
844+
if got.Key != "skyhook.nvidia.com/runtime-required" {
845+
t.Errorf("WorkloadGateTaint().Key = %s, want skyhook.nvidia.com/runtime-required", got.Key)
846846
}
847847
if got.Value != "true" {
848848
t.Errorf("WorkloadGateTaint().Value = %s, want true", got.Value)

pkg/bundler/deployer/argocdhelm/argocdhelm.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,8 @@ func (g *Generator) writeStaticValuesAndBuildStubs(outputDir string) ([]string,
277277
component.RemoveValueByPath(staticValues, path)
278278
component.SetValueByPath(stubs, path, val)
279279
} else {
280+
slog.Warn("dynamic path not found in component values; introducing empty placeholder",
281+
"component", ref.Name, "path", path)
280282
component.SetValueByPath(stubs, path, "")
281283
}
282284
}

pkg/bundler/deployer/helm/helm.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,8 @@ func writeClusterValuesFile(values map[string]any, dynamicPaths []string, compon
520520
component.RemoveValueByPath(values, path)
521521
} else {
522522
val = ""
523+
slog.Warn("dynamic path not found in component values; introducing empty placeholder",
524+
"component", componentName, "path", path)
523525
}
524526
component.SetValueByPath(clusterValues, path, val)
525527
}

pkg/bundler/deployer/helm/templates/README.md.tmpl

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,15 @@ helm upgrade --install {{ .Name }} {{ .Repository }}/{{ .ChartName }} \
8080
--version {{ .Version }} \
8181
-n {{ .Namespace }} --create-namespace \
8282
-f {{ .Name }}/values.yaml \
83+
-f {{ .Name }}/cluster-values.yaml \
8384
--wait --timeout 10m
8485
{{ else -}}
8586
helm upgrade --install {{ .Name }} {{ .ChartName }} \
8687
--repo {{ .Repository }} \
8788
--version {{ .Version }} \
8889
-n {{ .Namespace }} --create-namespace \
8990
-f {{ .Name }}/values.yaml \
91+
-f {{ .Name }}/cluster-values.yaml \
9092
--wait --timeout 10m
9193
{{ end -}}
9294
```
@@ -100,19 +102,27 @@ kubectl apply -f {{ .Name }}/manifests/
100102

101103
## Customization
102104

103-
Each Helm component has its own `values.yaml` in its directory.
104-
Edit the file before deploying to customize component configuration:
105+
Each Helm component has two values files in its directory:
105106

106-
```bash
107-
vim gpu-operator/values.yaml
108-
```
107+
- `values.yaml` — resolved configuration from the recipe. Edit to override defaults:
108+
109+
```bash
110+
vim gpu-operator/values.yaml
111+
```
112+
113+
- `cluster-values.yaml` — install-time parameters. Any paths declared with
114+
`aicr bundle --dynamic <component>:<path>` are pulled out of `values.yaml`
115+
and placed here for you to fill in. The file is always created (empty if
116+
no dynamic paths were declared) and passed to `helm upgrade --install`
117+
alongside `values.yaml` by both `deploy.sh` and the per-component commands
118+
in the "Manual Installation" section above.
109119

110120
## Upgrade
111121

112122
To upgrade a specific Helm component:
113123

114124
```bash
115-
helm upgrade <component> <chart> --version <version> -n <namespace> -f <component>/values.yaml --wait --timeout 10m
125+
helm upgrade <component> <chart> --version <version> -n <namespace> -f <component>/values.yaml -f <component>/cluster-values.yaml --wait --timeout 10m
116126
```
117127

118128
## Uninstall

pkg/bundler/deployer/helm/templates/component-README.md.tmpl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,15 @@ helm upgrade --install {{ .Name }} {{ .Repository }}/{{ .ChartName }} \
4646
--version {{ .Version }} \
4747
-n {{ .Namespace }} --create-namespace \
4848
-f values.yaml \
49+
-f cluster-values.yaml \
4950
--wait --timeout 10m
5051
{{ else -}}
5152
helm upgrade --install {{ .Name }} {{ .ChartName }} \
5253
--repo {{ .Repository }} \
5354
--version {{ .Version }} \
5455
-n {{ .Namespace }} --create-namespace \
5556
-f values.yaml \
57+
-f cluster-values.yaml \
5658
--wait --timeout 10m
5759
{{ end -}}
5860
```
@@ -71,13 +73,15 @@ helm upgrade {{ .Name }} {{ .Repository }}/{{ .ChartName }} \
7173
--version {{ .Version }} \
7274
-n {{ .Namespace }} \
7375
-f values.yaml \
76+
-f cluster-values.yaml \
7477
--wait --timeout 10m
7578
{{ else -}}
7679
helm upgrade {{ .Name }} {{ .ChartName }} \
7780
--repo {{ .Repository }} \
7881
--version {{ .Version }} \
7982
-n {{ .Namespace }} \
8083
-f values.yaml \
84+
-f cluster-values.yaml \
8185
--wait --timeout 10m
8286
{{ end -}}
8387
```

pkg/snapshotter/agent_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,9 @@ func TestParseTaint(t *testing.T) {
141141
}{
142142
{
143143
name: "taint with key, value, and effect",
144-
taintStr: "skyhook.io/runtime-required=true:NoSchedule",
144+
taintStr: "skyhook.nvidia.com/runtime-required=true:NoSchedule",
145145
want: &corev1.Taint{
146-
Key: "skyhook.io/runtime-required",
146+
Key: "skyhook.nvidia.com/runtime-required",
147147
Value: "true",
148148
Effect: corev1.TaintEffectNoSchedule,
149149
},

0 commit comments

Comments
 (0)