Merge pull request 'chore(smoke): surface PVE response body on API failure' (#6) from debug-smoke-errors into main
Reviewed-on: #6
This commit is contained in:
commit
931d62149f
1 changed files with 15 additions and 2 deletions
|
|
@ -43,9 +43,22 @@ SHORT_SHA="${SHA:0:12}"
|
||||||
API="https://${PVE_TEST_HOST}:8006/api2/json"
|
API="https://${PVE_TEST_HOST}:8006/api2/json"
|
||||||
|
|
||||||
api() {
|
api() {
|
||||||
curl --silent --show-error --fail-with-body -k \
|
# Wrapper so that on non-2xx we print the PVE response body to stderr
|
||||||
|
# before bubbling the failure — otherwise `--fail-with-body` output
|
||||||
|
# gets swallowed by callers that pipe to /dev/null, and you're left
|
||||||
|
# staring at "curl: (22)" with no idea which permission is missing.
|
||||||
|
local body rc
|
||||||
|
body=$(curl --silent --show-error --fail-with-body -k \
|
||||||
--header "Authorization: PVEAPIToken=${PVE_TEST_TOKEN}" \
|
--header "Authorization: PVEAPIToken=${PVE_TEST_TOKEN}" \
|
||||||
"$@"
|
"$@" 2>&1)
|
||||||
|
rc=$?
|
||||||
|
if [[ $rc -ne 0 ]]; then
|
||||||
|
echo "!! PVE API call failed (rc=$rc)" >&2
|
||||||
|
echo "!! request: $*" >&2
|
||||||
|
[[ -n "$body" ]] && echo "!! response: $body" >&2
|
||||||
|
return $rc
|
||||||
|
fi
|
||||||
|
printf '%s' "$body"
|
||||||
}
|
}
|
||||||
|
|
||||||
# PVE returns {"data": <payload>}; grab .data into a python expression.
|
# PVE returns {"data": <payload>}; grab .data into a python expression.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue