From: Gabriel Goller <g.goller@proxmox.com>
To: Proxmox Backup Server development discussion
<pbs-devel@lists.proxmox.com>,
Maximiliano Sandoval <m.sandoval@proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox-backup v3] fix #4343: updated `view_task_result` to bail on task failure
Date: Mon, 11 Sep 2023 10:36:50 +0200 [thread overview]
Message-ID: <85aec3f3-defb-5823-a46b-9115d1d8ef3c@proxmox.com> (raw)
In-Reply-To: <ab8de40a-4fdc-416b-8792-3e69661462cb@proxmox.com>
On 9/11/23 08:56, Maximiliano Sandoval wrote:
>
> On 9/8/23 15:32, Gabriel Goller wrote:
>> 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");
> The info about the exit status is not propagated, maybe one could
> display it too?
Then the error would be duplicated on the console. We already print the
whole task log,
which includes the error. Including the error in `bail` would produce an
output simillar to this:
```
root@debian:~# PBS_LOG=info proxmox-backup-manager pull 18.201 test1 test1
pull datastore 'test1' from '18.201/test1'
TASK ERROR: Querying namespaces failed - HTTP error 400 Bad Request - no
such datastore 'test1'
Error: Querying namespaces failed - HTTP error 400 Bad Request - no such
datastore 'test1'
root@debian:~#
```
>> + }
>> +
>> Ok(())
>> };
>
>
> _______________________________________________
> pbs-devel mailing list
> pbs-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
>
>
next prev parent reply other threads:[~2023-09-11 8:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-08 13:32 Gabriel Goller
2023-09-11 6:56 ` Maximiliano Sandoval
2023-09-11 8:36 ` Gabriel Goller [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=85aec3f3-defb-5823-a46b-9115d1d8ef3c@proxmox.com \
--to=g.goller@proxmox.com \
--cc=m.sandoval@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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