fix #4343: updated view_task_result to bail on task failure

Now we make an additional request on `api2/json/.../tasks/{upid}/status` to
get the `exitstatus` of the task. This allows us to `bail` and thus
get a non-zero exit code in the cli.

Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
This commit is contained in:
Gabriel Goller 2023-09-08 15:32:19 +02:00 committed by Thomas Lamprecht
parent 2aae8544b7
commit bc0735fee7

View File

@ -96,6 +96,14 @@ pub async fn display_task_log(
}
}
let status_path = format!("api2/json/nodes/localhost/tasks/{upid_encoded}/status");
let status_result = client.get(&status_path, None).await?;
if status_result["data"]["status"].as_str() == Some("stopped")
&& status_result["data"]["exitstatus"].as_str() != Some("OK")
{
bail!("task failed");
}
Ok(())
};