runtime: publish HOMELAB-VM-2CLOUD-EXACT-SELECTION-438
This commit is contained in:
+88
-19
@@ -1,5 +1,5 @@
|
||||
CHAT_OUTPUT_BEGIN
|
||||
COMMAND_ID=HOMELAB-VM-2CLOUD-SELECTION-LOGIC-437
|
||||
COMMAND_ID=HOMELAB-VM-2CLOUD-EXACT-SELECTION-438
|
||||
STATUS=OK
|
||||
RC=0
|
||||
HOST=pve01
|
||||
@@ -9,19 +9,30 @@ REFERENCE_REGISTER_CHECK=OK
|
||||
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752
|
||||
COMMAND_SHA256=ad4b5c1c52b4eaffa790b5ebe2bda18624ef1905c2e4259c94c24b9c7d9c1165
|
||||
COMMAND_SHA256=458a61bfe476e4aeab9fdefc2057f75cf06c246702c653458e91f8c84eb823f2
|
||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||
EXECUTION_STARTED=true
|
||||
CHANGES_MADE=false
|
||||
SANITIZED=yes
|
||||
SECRETS_INCLUDED=no
|
||||
PRIVATE_ADDRESSES_INCLUDED=no
|
||||
RAW_EVIDENCE_SHA256=51b679ab8afb22764728c1e4338d954989e990db1de09b0c0e331ebc32674a6a
|
||||
SANITIZED_OUTPUT_SHA256=51b679ab8afb22764728c1e4338d954989e990db1de09b0c0e331ebc32674a6a
|
||||
RAW_EVIDENCE_SHA256=1a2e8ce33d51e8861acf1434ee15eee384f0fcb6316b36d3b3fd87c946570531
|
||||
SANITIZED_OUTPUT_SHA256=1a2e8ce33d51e8861acf1434ee15eee384f0fcb6316b36d3b3fd87c946570531
|
||||
OUTPUT_BEGIN
|
||||
DETAIL=RUNTIME_SHA256=0ded6ba72e49b9cf7522c7f3d8840cc1026d2a173d4909dd3b4cfc5ff8831115
|
||||
DETAIL=DESIRED_SHA256=0ded6ba72e49b9cf7522c7f3d8840cc1026d2a173d4909dd3b4cfc5ff8831115
|
||||
<string>:33: FutureWarning: Possible nested set at position 2
|
||||
<string>:33: FutureWarning: Possible nested set at position 29
|
||||
<string>:43: FutureWarning: Possible nested set at position 2
|
||||
<string>:43: FutureWarning: Possible nested set at position 29
|
||||
DETAIL=SCRIPT_SHA256=0ded6ba72e49b9cf7522c7f3d8840cc1026d2a173d4909dd3b4cfc5ff8831115
|
||||
DETAIL=SELECTION_SOURCE_RANGE=14-290
|
||||
DETAIL=SELECTION_SOURCE_BEGIN
|
||||
DETAIL=SOURCE_LINE=0014:TS="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
||||
DETAIL=SOURCE_LINE=0015:JOB_TS="$(date -u +%Y%m%dT%H%M%SZ)"
|
||||
DETAIL=SOURCE_LINE=0016:NODE="$(hostname -s)"
|
||||
DETAIL=SOURCE_LINE=0017:BAD=0
|
||||
DETAIL=SOURCE_LINE=0018:COUNT=0
|
||||
DETAIL=SOURCE_LINE=0019:TOTAL=0
|
||||
DETAIL=SOURCE_LINE=0020:CHUNKED=0
|
||||
DETAIL=SOURCE_LINE=0021:VMIDS="${VMIDS:-110 112 150}"
|
||||
DETAIL=SOURCE_LINE=0022:
|
||||
DETAIL=SOURCE_LINE=0023:source /etc/homelab-backup.env 2>/dev/null || BAD=1
|
||||
@@ -93,7 +104,31 @@ DETAIL=SOURCE_LINE=0088: items.append({
|
||||
DETAIL=SOURCE_LINE=0089: "vmid":p[0],
|
||||
DETAIL=SOURCE_LINE=0090: "kind":p[1],
|
||||
DETAIL=SOURCE_LINE=0091: "size_bytes":int(p[2]),
|
||||
DETAIL=SOURCE_LINE=...
|
||||
DETAIL=SOURCE_LINE=0092: "sha256":p[3],
|
||||
DETAIL=SOURCE_LINE=0093: "mtime_utc":p[4],
|
||||
DETAIL=SOURCE_LINE=0094: "filename":p[5],
|
||||
DETAIL=SOURCE_LINE=0095: "source_path":p[6],
|
||||
DETAIL=SOURCE_LINE=0096: "mode":p[7],
|
||||
DETAIL=SOURCE_LINE=0097: "parts":int(p[8]),
|
||||
DETAIL=SOURCE_LINE=0098: })
|
||||
DETAIL=SOURCE_LINE=0099:print(json.dumps({
|
||||
DETAIL=SOURCE_LINE=0100: "job_id":job,
|
||||
DETAIL=SOURCE_LINE=0101: "node":node,
|
||||
DETAIL=SOURCE_LINE=0102: "generated_utc":ts,
|
||||
DETAIL=SOURCE_LINE=0103: "vmids":vmids.split(),
|
||||
DETAIL=SOURCE_LINE=0104: "count":int(count),
|
||||
DETAIL=SOURCE_LINE=0105: "total_bytes":int(total),
|
||||
DETAIL=SOURCE_LINE=0106: "chunked_count":int(chunked),
|
||||
DETAIL=SOURCE_LINE=0107: "chunk_size_bytes":int(chunk_size),
|
||||
DETAIL=SOURCE_LINE=0108: "items":items,
|
||||
DETAIL=SOURCE_LINE=0109:}, indent=2))
|
||||
DETAIL=SOURCE_LINE=0110:PY
|
||||
DETAIL=SOURCE_LINE=0111:
|
||||
DETAIL=SOURCE_LINE=0112:DEST_A="${REMOTE_A%/}/${NODE}/vm-local-dumps/${JOB_ID}"
|
||||
DETAIL=SOURCE_LINE=0113:DEST_B="${REMOTE_B%/}/${NODE}/vm-local-dumps/${JOB_ID}"
|
||||
DETAIL=SOURCE_LINE=0114:
|
||||
DETAIL=SOURCE_LINE=0115:upload_one_dest() {
|
||||
DETAIL=SOURCE_LINE=0116: DEST="$1"
|
||||
DETAIL=SOURCE_LINE=0117: rclone mkdir "$DEST/files" >> "$LOG" 2>&1 || BAD=$((BAD+1))
|
||||
DETAIL=SOURCE_LINE=0118: while IFS="$(printf "\t")" read -r id kind size sha mt bn path mode parts; do
|
||||
DETAIL=SOURCE_LINE=0119: if [ "$mode" = "chunked" ]; then
|
||||
@@ -158,7 +193,23 @@ DETAIL=SOURCE_LINE=0177:fi
|
||||
DETAIL=SOURCE_LINE=0178:
|
||||
DETAIL=SOURCE_LINE=0179:if [ "$BAD" -eq 0 ]; then
|
||||
DETAIL=SOURCE_LINE=0180: verify_one_dest "A" "$DEST_A"
|
||||
DETAIL=SOURCE_LINE=...
|
||||
DETAIL=SOURCE_LINE=0181: verify_one_dest "B" "$DEST_B"
|
||||
DETAIL=SOURCE_LINE=0182:fi
|
||||
DETAIL=SOURCE_LINE=0183:
|
||||
DETAIL=SOURCE_LINE=0184:rm -rf "$VERIFY_ROOT/$JOB_ID"
|
||||
DETAIL=SOURCE_LINE=0185:rm -rf "$CHUNK_ROOT/$JOB_ID"
|
||||
DETAIL=SOURCE_LINE=0186:
|
||||
DETAIL=SOURCE_LINE=0187:# HOMELAB_NO_LOCAL_AFTER_DUAL_CLOUD_434
|
||||
DETAIL=SOURCE_LINE=0188:LOCAL_DUMPS_DELETED=false
|
||||
DETAIL=SOURCE_LINE=0189:DELETED_COUNT=0
|
||||
DETAIL=SOURCE_LINE=0190:DELETED_BYTES=0
|
||||
DETAIL=SOURCE_LINE=0191:
|
||||
DETAIL=SOURCE_LINE=0192:if [ "$BAD" -eq 0 ]; then
|
||||
DETAIL=SOURCE_LINE=0193: echo "PREDELETE_VALIDATION_BEGIN" >> "$LOG"
|
||||
DETAIL=SOURCE_LINE=0194:
|
||||
DETAIL=SOURCE_LINE=0195: while IFS="$(printf " ")" read -r id kind size sha mt bn path mode parts; do
|
||||
DETAIL=SOURCE_LINE=0196: case "$path" in
|
||||
DETAIL=SOURCE_LINE=0197: /var/lib/vz/dump/*)
|
||||
DETAIL=SOURCE_LINE=0198: ;;
|
||||
DETAIL=SOURCE_LINE=0199: *)
|
||||
DETAIL=SOURCE_LINE=0200: echo "REFUSE_DELETE_OUTSIDE_ALLOWED_ROOT path=$path" >> "$LOG"
|
||||
@@ -207,7 +258,9 @@ DETAIL=SOURCE_LINE=0242:
|
||||
DETAIL=SOURCE_LINE=0243: while IFS="$(printf " ")" read -r id kind size sha mt bn path mode parts; do
|
||||
DETAIL=SOURCE_LINE=0244: if rm -f -- "$path" 2>>"$LOG"; then
|
||||
DETAIL=SOURCE_LINE=0245: if [ ! -e "$path" ] && [ ! -L "$path" ]; then
|
||||
DETAIL=SOURCE_LINE=...
|
||||
DETAIL=SOURCE_LINE=0246: DELETED_COUNT=$((DELETED_COUNT+1))
|
||||
DETAIL=SOURCE_LINE=0247: DELETED_BYTES=$((DELETED_BYTES+size))
|
||||
DETAIL=SOURCE_LINE=0248: echo "LOCAL_PAYLOAD_DELETED path=$path bytes=$size" >> "$LOG"
|
||||
DETAIL=SOURCE_LINE=0249: else
|
||||
DETAIL=SOURCE_LINE=0250: echo "LOCAL_PAYLOAD_DELETE_CONFIRM_FAILED path=$path" >> "$LOG"
|
||||
DETAIL=SOURCE_LINE=0251: BAD=$((BAD+1))
|
||||
@@ -227,18 +280,34 @@ DETAIL=SOURCE_LINE=0264:fi
|
||||
DETAIL=SOURCE_LINE=0265:
|
||||
DETAIL=SOURCE_LINE=0266:if [ "$BAD" -eq 0 ] && [ "$LOCAL_DUMPS_DELETED" = true ]; then
|
||||
DETAIL=SOURCE_LINE=0267: STATUS="OK"
|
||||
DETAIL=SOURCE_LINE=0268:else
|
||||
DETAIL=SOURCE_LINE=0269: STATUS="WARN"
|
||||
DETAIL=SOURCE_LINE=0270:fi
|
||||
DETAIL=SOURCE_LINE=0271:
|
||||
DETAIL=SOURCE_LINE=0272:jq -n \
|
||||
DETAIL=SOURCE_LINE=0273: --arg job_id "$JOB_ID" \
|
||||
DETAIL=SOURCE_LINE=0274: --arg status "$STATUS" \
|
||||
DETAIL=SOURCE_LINE=0275: --arg node "$NODE" \
|
||||
DETAIL=SOURCE_LINE=0276: --arg remote_a "$DEST_A" \
|
||||
DETAIL=SOURCE_LINE=0277: --arg remote_b "$DEST_B" \
|
||||
DETAIL=SOURCE_LINE=0278: --argjson count "$COUNT" \
|
||||
DETAIL=SOURCE_LINE=0279: --argjson total_bytes "$TOTAL" \
|
||||
DETAIL=SOURCE_LINE=0280: --argjson chunked_count "$CHUNKED" \
|
||||
DETAIL=SOURCE_LINE=0281: --argjson chunk_size_bytes "$CHUNK_SIZE_BYTES" \
|
||||
DETAIL=SOURCE_LINE=0282: --arg log "$LOG" \
|
||||
DETAIL=SOURCE_LINE=0283: --argjson local_dumps_deleted "$LOCAL_DUMPS_DELETED" \
|
||||
DETAIL=SOURCE_LINE=0284: --argjson deleted_count "$DELETED_COUNT" \
|
||||
DETAIL=SOURCE_LINE=0285: --argjson deleted_bytes "$DELETED_BYTES" \
|
||||
DETAIL=SOURCE_LINE=0286: "{job_id:\$job_id,status:\$status,node:\$node,remote_a:\$remote_a,remote_b:\$remote_b,count:\$count,total_bytes:\$total_bytes,chunked_count:\$chunked_count,chunk_size_bytes:\$chunk_size_bytes,log:\$log,local_dumps_deleted:\$local_dumps_deleted,deleted_count:\$deleted_count,deleted_bytes:\$deleted_bytes}" \
|
||||
DETAIL=SOURCE_LINE=0287: > "$ROOT/latest-vm-local-dumps-cloud.json"
|
||||
DETAIL=SOURCE_LINE=0288:
|
||||
DETAIL=SOURCE_LINE=0289:echo "STATUS=$STATUS TS=$TS TYPE=vm-local-dumps-cloud BAD=$BAD COUNT=$COUNT CHUNKED=$CHUNKED TOTAL_BYTES=$TOTAL JOB=$JOB_ID REMOTE_A=$DEST_A REMOTE_B=$DEST_B LOCAL_DUMPS_DELETED=$LOCAL_DUMPS_DELETED DELETED_COUNT=$DELETED_COUNT DELETED_BYTES=$DELETED_BYTES LOG=$LOG" > "$OUT"
|
||||
DETAIL=SOURCE_LINE=0290:cat "$OUT"
|
||||
DETAIL=SELECTION_SOURCE_END
|
||||
DETAIL=INVENTORY_GROUP_COUNT=3
|
||||
DETAIL=INVENTORY_GROUP=KIND:lxc|ID:110|COUNT:4|TOTAL_BYTES:1337879243|LATEST_PATH:/var/lib/vz/dump/vzdump-lxc-110-2026_07_24-03_30_02.tar.zst|LATEST_BYTES:339140622
|
||||
DETAIL=INVENTORY_GROUP=KIND:lxc|ID:112|COUNT:4|TOTAL_BYTES:891239268|LATEST_PATH:/var/lib/vz/dump/vzdump-lxc-112-2026_07_24-03_30_11.tar.zst|LATEST_BYTES:222859457
|
||||
DETAIL=INVENTORY_GROUP=KIND:qemu|ID:150|COUNT:4|TOTAL_BYTES:28114919054|LATEST_PATH:/var/lib/vz/dump/vzdump-qemu-150-2026_07_24-03_30_16.vma.zst|LATEST_BYTES:7016624549
|
||||
DETAIL=ALL_ARCHIVE_COUNT=12
|
||||
DETAIL=ALL_ARCHIVE_BYTES=30344037565
|
||||
DETAIL=LATEST_PER_OBJECT_COUNT=3
|
||||
DETAIL=LATEST_PER_OBJECT_BYTES=7578624628
|
||||
DETAIL=BACKUP_PAYLOAD_CHANGED=NO
|
||||
DETAIL=ARCHIVES_CHANGED=NO
|
||||
DETAIL=SERVICE_STARTED=NO
|
||||
DETAIL=SECRET_VALUES_OUTPUT=NONE
|
||||
DETAIL=VM_2CLOUD_SELECTION_LOGIC_AUDIT=PASS
|
||||
DETAIL=EXACT_SELECTION_AUDIT=PASS
|
||||
CHANGES_MADE=NO
|
||||
|
||||
OUTPUT_END
|
||||
|
||||
Reference in New Issue
Block a user