all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup v3] fix #4343: updated `view_task_result` to bail on task failure
@ 2023-09-08 13:32 Gabriel Goller
  2023-09-11  6:56 ` Maximiliano Sandoval
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Gabriel Goller @ 2023-09-08 13:32 UTC (permalink / raw)
  To: pbs-devel

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>
---

changes v2:
 - removed unrelated cleanup

changes v1:
 - check on each iteration if the task is finished, then bubble up the 
   original error of the task. This was inpractical though, so we print
   the error and return a generic error.

 pbs-client/src/task_log.rs | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/pbs-client/src/task_log.rs b/pbs-client/src/task_log.rs
index 0bbb928d..709d0d08 100644
--- a/pbs-client/src/task_log.rs
+++ b/pbs-client/src/task_log.rs
@@ -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(())
     };
 
-- 
2.39.2





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-09-27 15:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-08 13:32 [pbs-devel] [PATCH proxmox-backup v3] fix #4343: updated `view_task_result` to bail on task failure Gabriel Goller
2023-09-11  6:56 ` Maximiliano Sandoval
2023-09-11  8:36   ` Gabriel Goller
2023-09-18 14:40 ` [pbs-devel] applied: " Thomas Lamprecht
2023-09-27 14:38 ` [pbs-devel] " Thomas Lamprecht
2023-09-27 15:32   ` Gabriel Goller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal