mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-03 18:35:55 +00:00
core/vm's: ensure script state is sent on script exit (#11991)
* Ensure API update is sent on script exit Add exit-time telemetry handling across scripts to avoid orphaned "installing" records. Introduce local exit_code capture in api_exit_script and cleanup handlers and, when POST_TO_API_DONE is true but POST_UPDATE_DONE is not, post a final status (marking failures on non-zero exit codes, or marking done/failed in VM cleanups based on exit code). Changes touch misc/build.func, misc/vm-core.func and various vm/*-vm.sh cleanup functions to reliably send post_update_to_api on normal or early exits. * Update api.func * fix(telemetry): add missing exit codes to explain_exit_code() - Add curl error codes: 4, 5, 8, 23, 25, 30, 56, 78 - Add code 10: Docker/privileged mode required (used in ~15 scripts) - Add code 75: Temporary failure (retry later) - Add BSD sysexits.h codes: 64-77 - Sync error_handler.func fallback with canonical api.func
This commit is contained in:
committed by
GitHub
parent
96389a02cb
commit
896714e06f
@@ -101,8 +101,15 @@ function cleanup_vmid() {
|
||||
}
|
||||
|
||||
function cleanup() {
|
||||
local exit_code=$?
|
||||
popd >/dev/null
|
||||
post_update_to_api "done" "none"
|
||||
if [[ "${POST_TO_API_DONE:-}" == "true" && "${POST_UPDATE_DONE:-}" != "true" ]]; then
|
||||
if [[ $exit_code -eq 0 ]]; then
|
||||
post_update_to_api "done" "none"
|
||||
else
|
||||
post_update_to_api "failed" "$exit_code"
|
||||
fi
|
||||
fi
|
||||
rm -rf $TEMP_DIR
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user