| 3310 | } |
| 3311 | |
| 3312 | fn local_image_platform_mismatch( |
| 3313 | image_ref: &str, |
| 3314 | actual_os: Option<&str>, |
| 3315 | actual_arch: Option<&str>, |
| 3316 | ) -> Option<String> { |
| 3317 | let actual_os = actual_os.unwrap_or("unknown"); |
| 3318 | let actual_arch = actual_arch.unwrap_or("unknown"); |
| 3319 | let expected_os = "linux"; |
| 3320 | let expected_arch = linux_oci_arch(); |
| 3321 | |
| 3322 | (actual_os != expected_os || actual_arch != expected_arch).then(|| { |
| 3323 | format!( |
| 3324 | "local Docker image '{image_ref}' is {actual_os}/{actual_arch}, but VM sandboxes require {expected_os}/{expected_arch}" |
| 3325 | ) |
| 3326 | }) |
| 3327 | } |
| 3328 | |
| 3329 | fn is_docker_not_found_error(err: &BollardError) -> bool { |
| 3330 | matches!( |