(&self, state_dir: &Path)
| 1353 | } |
| 1354 | |
| 1355 | async fn ensure_extension_state_dirs(&self, state_dir: &Path) -> Result<(), Status> { |
| 1356 | for extension_name in self.lifecycle_extensions.names() { |
| 1357 | let extension_dir = extension_state_dir(state_dir, &extension_name).map_err(|err| { |
| 1358 | Status::failed_precondition(format!( |
| 1359 | "invalid VM lifecycle extension '{}': {}", |
| 1360 | extension_name, |
| 1361 | err.message() |
| 1362 | )) |
| 1363 | })?; |
| 1364 | create_private_dir_all(&extension_dir) |
| 1365 | .await |
| 1366 | .map_err(|err| { |
| 1367 | Status::internal(format!( |
| 1368 | "create VM lifecycle extension state dir '{}' failed: {err}", |
| 1369 | extension_dir.display() |
| 1370 | )) |
| 1371 | })?; |
| 1372 | } |
| 1373 | Ok(()) |
| 1374 | } |
| 1375 | |
| 1376 | #[allow(clippy::result_large_err)] |
| 1377 | fn resolve_launch_plan_backend( |
no test coverage detected