feat : correctif mineur
This commit is contained in:
@@ -102,7 +102,7 @@ shell_quote() {
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
rm -f "${BOOTSTRAP_JSON:-}"
|
||||
rm -f "${BOOTSTRAP_JSON:-}" "${REMOTE_RESULT_JSON:-}"
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
@@ -269,6 +269,7 @@ ssh "${SSH_OPTS[@]}" "${TARGET_USER}@${TARGET_HOST}" "exit 0" >/dev/null 2>&1 \
|
||||
|| fail "connexion SSH impossible vers la cible ${TARGET_USER}@${TARGET_HOST}"
|
||||
|
||||
TARGET_CORE_SCRIPT="${TARGET_SCRIPT_DIR}/rebuild-bdd-core.sh"
|
||||
REMOTE_RESULT_JSON="/tmp/run_rebuild_bdd_${REQUEST_ID}.json"
|
||||
|
||||
REMOTE_BOOTSTRAP_CMD="
|
||||
set -euo pipefail
|
||||
@@ -341,4 +342,42 @@ exec \"\$CORE_SCRIPT\" \
|
||||
--json-only
|
||||
"
|
||||
|
||||
ssh "${SSH_OPTS[@]}" "${TARGET_USER}@${TARGET_HOST}" "$REMOTE_BOOTSTRAP_CMD"
|
||||
ssh "${SSH_OPTS[@]}" "${TARGET_USER}@${TARGET_HOST}" "$REMOTE_BOOTSTRAP_CMD" >"$REMOTE_RESULT_JSON" \
|
||||
|| {
|
||||
cat "$REMOTE_RESULT_JSON" 2>/dev/null || true
|
||||
fail "échec d'exécution distante sur la cible ${TARGET}"
|
||||
}
|
||||
|
||||
REMOTE_STATUS="$(
|
||||
python3 - <<'PY' "$REMOTE_RESULT_JSON"
|
||||
import json, sys
|
||||
with open(sys.argv[1], 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
print(data.get("status", "error"))
|
||||
PY
|
||||
)"
|
||||
|
||||
if [[ "$REMOTE_STATUS" != "success" ]]; then
|
||||
cat "$REMOTE_RESULT_JSON"
|
||||
fail "restauration distante échouée pour la cible ${TARGET}"
|
||||
fi
|
||||
|
||||
python3 - <<'PY' "$REMOTE_RESULT_JSON"
|
||||
import json, sys
|
||||
|
||||
with open(sys.argv[1], 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
|
||||
message = data.get("message", "restauration terminée")
|
||||
environment = data.get("environment") or "N/A"
|
||||
database = data.get("database") or "N/A"
|
||||
request_id = data.get("request_id") or "N/A"
|
||||
dump_file = data.get("dump_file") or "N/A"
|
||||
log_file = data.get("log_file") or "N/A"
|
||||
|
||||
print(f"[{request_id}] {message}")
|
||||
print(f"Environnement : {environment}")
|
||||
print(f"Base : {database}")
|
||||
print(f"Dump : {dump_file}")
|
||||
print(f"Log : {log_file}")
|
||||
PY
|
||||
|
||||
Reference in New Issue
Block a user