feat : correctif mineur
This commit is contained in:
@@ -102,7 +102,7 @@ shell_quote() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
rm -f "${BOOTSTRAP_JSON:-}"
|
rm -f "${BOOTSTRAP_JSON:-}" "${REMOTE_RESULT_JSON:-}"
|
||||||
}
|
}
|
||||||
trap cleanup EXIT
|
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}"
|
|| fail "connexion SSH impossible vers la cible ${TARGET_USER}@${TARGET_HOST}"
|
||||||
|
|
||||||
TARGET_CORE_SCRIPT="${TARGET_SCRIPT_DIR}/rebuild-bdd-core.sh"
|
TARGET_CORE_SCRIPT="${TARGET_SCRIPT_DIR}/rebuild-bdd-core.sh"
|
||||||
|
REMOTE_RESULT_JSON="/tmp/run_rebuild_bdd_${REQUEST_ID}.json"
|
||||||
|
|
||||||
REMOTE_BOOTSTRAP_CMD="
|
REMOTE_BOOTSTRAP_CMD="
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
@@ -341,4 +342,42 @@ exec \"\$CORE_SCRIPT\" \
|
|||||||
--json-only
|
--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