(self, request: ResizeVmRequest)
| 483 | |
| 484 | #[tracing::instrument(skip(self, request), fields(id = request.id))] |
| 485 | async fn resize_vm(self, request: ResizeVmRequest) -> Result<()> { |
| 486 | info!("Resizing VM: {:?}", request); |
| 487 | let vm_work_dir = self.app.work_dir(&request.id); |
| 488 | let mut manifest = vm_work_dir.manifest().context("failed to read manifest")?; |
| 489 | self.apply_resource_updates( |
| 490 | &request.id, |
| 491 | &mut manifest, |
| 492 | &vm_work_dir, |
| 493 | request.vcpu, |
| 494 | request.memory, |
| 495 | request.disk_size, |
| 496 | request.image.as_deref(), |
| 497 | ) |
| 498 | .await?; |
| 499 | vm_work_dir |
| 500 | .put_manifest(&manifest) |
| 501 | .context("failed to update manifest")?; |
| 502 | self.app |
| 503 | .load_vm(vm_work_dir.path(), &Default::default(), false) |
| 504 | .await |
| 505 | .context("Failed to load VM")?; |
| 506 | Ok(()) |
| 507 | } |
| 508 | |
| 509 | async fn shutdown_vm(self, request: Id) -> Result<()> { |
| 510 | self.guest_agent_client(&request.id)?.shutdown().await?; |
nothing calls this directly
no test coverage detected