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
Require exact driver GPU device lists to be tied to a GPU request, allow a single exact device to use the default countless request, and require explicit matching counts for multi-device lists.
Signed-off-by: Evan Lezar <elezar@nvidia.com>
Copy file name to clipboardExpand all lines: crates/openshell-driver-docker/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ contract:
32
32
|`apparmor=unconfined`| Avoids Docker's default profile blocking required mount operations. |
33
33
|`restart_policy = unless-stopped`| Keeps managed sandboxes resumable across daemon or gateway restarts. |
34
34
|`PidsLimit`| Enforces the sandbox PID budget at the Docker cgroup layer. Set `[openshell.drivers.docker].sandbox_pids_limit = 0` to inherit the Docker/runtime default. |
35
-
| CDI GPU request | Uses `driver_config.cdi_devices` when set; otherwise requests all NVIDIA GPUs when the sandbox spec asks for GPU support and daemon CDI support is detected. Counted GPU requests are rejected. |
35
+
| CDI GPU request | Uses `driver_config.cdi_devices` when set; otherwise requests all NVIDIA GPUs when the sandbox spec asks for GPU support and daemon CDI support is detected. Count-only GPU requests are rejected; exact CDI device lists with more than one entry require an explicit GPU count matching the device list length. |
36
36
37
37
The agent child process does not retain these supervisor privileges.
if gpu_requirements.is_none() && driver_config.cdi_devices.is_some(){
518
-
returnErr(Status::invalid_argument(
519
-
"driver_config.cdi_devices requires gpu=true",
519
+
if gpu_requirements.is_some() && !supports_gpu{
520
+
returnErr(Status::failed_precondition(
521
+
"docker GPU sandboxes require Docker CDI support. Enable CDI on the Docker daemon, then restart the OpenShell gateway/server so GPU capability is detected.",
520
522
));
521
523
}
522
524
523
-
if gpu_requirements.and_then(|gpu| gpu.count).is_some(){
"docker GPU count requests are not supported; use --gpu without a count or driver_config.cdi_devices",
526
535
));
527
536
}
528
537
529
-
if gpu_requirements.is_some() && !supports_gpu {
530
-
returnErr(Status::failed_precondition(
531
-
"docker GPU sandboxes require Docker CDI support. Enable CDI on the Docker daemon, then restart the OpenShell gateway/server so GPU capability is detected.",
Copy file name to clipboardExpand all lines: crates/openshell-driver-podman/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,7 @@ The container spec in `container.rs` sets these security-critical fields:
46
46
|`no_new_privileges`|`true`| Prevents privilege escalation after exec. |
47
47
|`seccomp_profile_path`|`unconfined`| The supervisor installs its own policy-aware BPF filter. A container-level profile can block Landlock/seccomp syscalls during setup. |
48
48
|`mounts`| Private tmpfs at `/run/netns`| Lets the supervisor create named network namespaces in rootless Podman. |
49
-
| CDI GPU devices |`driver_config.cdi_devices` when set, otherwise all NVIDIA GPUs | Exposes requested GPUs to GPU-enabled sandbox containers. Counted GPU requests are rejected. |
49
+
| CDI GPU devices |`driver_config.cdi_devices` when set, otherwise all NVIDIA GPUs | Exposes requested GPUs to GPU-enabled sandbox containers. Count-only GPU requests are rejected; exact CDI device lists with more than one entry require an explicit GPU count matching the device list length. |
50
50
51
51
The restricted agent child does not retain these supervisor privileges.
0 commit comments