runtime-rs: fix stop failed in azure

Fix the stop failed in azure.

Fixes: #4740
Signed-off-by: Quanwei Zhou <quanweiZhou@linux.alibaba.com>
This commit is contained in:
Quanwei Zhou 2022-07-26 11:43:00 +08:00 committed by quanwei.zqw
parent 3f4dd92c2d
commit 57c556a801
2 changed files with 9 additions and 3 deletions

View File

@ -100,13 +100,16 @@ impl CgroupsResource {
for cg_pid in self.cgroup_manager.tasks() {
self.cgroup_manager.remove_task(cg_pid);
}
self.cgroup_manager.delete()?;
self.cgroup_manager
.delete()
.context("delete cgroup manager")?;
if let Some(overhead) = self.overhead_cgroup_manager.as_ref() {
for cg_pid in overhead.tasks() {
overhead.remove_task(cg_pid);
}
overhead.delete()?;
overhead.delete().context("delete overhead")?;
}
Ok(())

View File

@ -210,13 +210,16 @@ impl Sandbox for VirtSandbox {
async fn stop(&self) -> Result<()> {
info!(sl!(), "begin stop sandbox");
// TODO: stop sandbox
self.hypervisor.stop_vm().await.context("stop vm")?;
Ok(())
}
async fn shutdown(&self) -> Result<()> {
info!(sl!(), "shutdown");
self.stop().await.context("stop")?;
info!(sl!(), "delete cgroup");
self.resource_manager
.delete_cgroups()
.await