| 2636 | } |
| 2637 | |
| 2638 | fn docker_resource_limits( |
| 2639 | template: &DriverSandboxTemplate, |
| 2640 | ) -> Result<DockerResourceLimits, Status> { |
| 2641 | let Some(resources) = template.resources.as_ref() else { |
| 2642 | return Ok(DockerResourceLimits::default()); |
| 2643 | }; |
| 2644 | |
| 2645 | if !resources.cpu_request.trim().is_empty() { |
| 2646 | return Err(Status::failed_precondition( |
| 2647 | "docker compute driver does not support resources.requests.cpu", |
| 2648 | )); |
| 2649 | } |
| 2650 | if !resources.memory_request.trim().is_empty() { |
| 2651 | return Err(Status::failed_precondition( |
| 2652 | "docker compute driver does not support resources.requests.memory", |
| 2653 | )); |
| 2654 | } |
| 2655 | |
| 2656 | Ok(DockerResourceLimits { |
| 2657 | nano_cpus: parse_cpu_limit(&resources.cpu_limit)?, |
| 2658 | memory_bytes: parse_memory_limit(&resources.memory_limit)?, |
| 2659 | }) |
| 2660 | } |
| 2661 | |
| 2662 | fn validate_sandbox_pids_limit(value: i64) -> CoreResult<()> { |
| 2663 | if value < 0 { |