]> git.proxmox.com Git - proxmox-backup.git/commitdiff
fix #4343: updated `view_task_result` to bail on task failure
authorGabriel Goller <g.goller@proxmox.com>
Fri, 8 Sep 2023 13:32:19 +0000 (15:32 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 18 Sep 2023 14:40:02 +0000 (16:40 +0200)
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>
pbs-client/src/task_log.rs

index 0bbb928df75be3c98d127e4e302644d9151837d2..709d0d088d51330806d1c669eb0241593cd8b3a7 100644 (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(())
     };