runtime: publish NEWFI-260922-NEWFDOM-DR221-418-OWNER-FD-PHASE-RCA419R1
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -0,0 +1,314 @@
|
||||
CHAT_OUTPUT_BEGIN
|
||||
COMMAND_ID=NEWFI-260922-NEWFDOM-DR221-418-OWNER-FD-PHASE-RCA419R1
|
||||
STATUS=OK
|
||||
RC=0
|
||||
HOST=pve01
|
||||
MODE=read-only
|
||||
COMPONENT=newfi-dr221-418-owner-fd-phase-rca
|
||||
REFERENCE_REGISTER_CHECK=OK
|
||||
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
||||
COMMAND_SHA256=086ee022e9b084cfd4a2a9e59bd32b52470059e7d8713bec3b59065215adf353
|
||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||
EXECUTION_STARTED=true
|
||||
CHANGE_DECLARED=false
|
||||
RESULT_CONTRACT_VALID=true
|
||||
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
|
||||
RESULT_CONTRACT_ERROR=NONE
|
||||
COMMAND_RC=0
|
||||
CHANGES_MADE=false
|
||||
ROLLBACK_STARTED=false
|
||||
ROLLBACK_RESTORED=null
|
||||
MUTATION_OUTCOME=NO_MUTATION
|
||||
SANITIZED=yes
|
||||
SECRETS_INCLUDED=no
|
||||
PRIVATE_ADDRESSES_INCLUDED=no
|
||||
RAW_EVIDENCE_SHA256=ff062154f98216b8725381d01e1dd68d7dcceaa4097f2011a73103ceb6b600ad
|
||||
SANITIZED_OUTPUT_SHA256=ff062154f98216b8725381d01e1dd68d7dcceaa4097f2011a73103ceb6b600ad
|
||||
OUTPUT_BEGIN
|
||||
NEWFI419_BEGIN=true
|
||||
COMMAND_ID=NEWFI-260922-NEWFDOM-DR221-418-OWNER-FD-PHASE-RCA419R1
|
||||
MODE=read-only
|
||||
COMPONENT=newfi-dr221-418-owner-fd-phase-rca
|
||||
TARGET=EXACT_CURRENT_HOMELAB_BACKUP_V2_OWNER_PHASE_AND_PROGRESS
|
||||
MUTATION_BOUNDARY=NONE;PROC_AND_SOURCE_READ_ONLY;NO_SIGNAL;NO_PTRACE;NO_KILL;NO_SYSTEMD_ACTION;NO_BACKUP;NO_CLOUD_WRITE;NO_VM_WRITE;NO_GIT_WRITE
|
||||
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
||||
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
||||
RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
|
||||
BACKUP_WRAPPER_SHA256=5077444065c732451cb84898680f62361b21a24ef9eb4f191253e82ead524ea2
|
||||
ACCEPTED_RELEASE=/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b
|
||||
ACCEPTED_RELEASE_GATE=PASS
|
||||
RUNTIME_SOURCE_PHASE_HINTS_BEGIN=true
|
||||
RUNTIME_SOURCE_FILE=entry504.py|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793
|
||||
1-from __future__ import annotations
|
||||
2:import hashlib, importlib, json, os, pathlib, stat, sys, types
|
||||
3-
|
||||
4-BASE=pathlib.Path('/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1')
|
||||
--
|
||||
16-
|
||||
17-def _sha(p):
|
||||
18: h=hashlib.sha256()
|
||||
19- with open(p,'rb',buffering=0) as f:
|
||||
20- while True:
|
||||
--
|
||||
41- def __setattr__(self,n,v): self._g[n]=v
|
||||
42-
|
||||
43:def _wire(wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,base=BASE):
|
||||
44- legacy_path=(pathlib.Path(base)/'legacy_engine.py').resolve()
|
||||
45- found={}
|
||||
--
|
||||
48- g=vars(value); raw=g.get('__file__')
|
||||
49- elif isinstance(value,types.FunctionType):
|
||||
50: g=value.__globals__; raw=g.get('__file__')
|
||||
51- else:
|
||||
52- continue
|
||||
--
|
||||
79- if g.get('choose_due_target') is not scheduler_wired['choose_due_target'] or g.get('write_state') is not scheduler_wired['write_state']:
|
||||
80- raise RuntimeError('SCHEDULER_ADAPTER_BIND_RESULT')
|
||||
81: return {'legacy_globals':g,'legacy':proxy,'original_capture':original,'qemu_patched_capture':qemu_patched,'patched_capture':patched,'scheduler_wired':scheduler_wired}
|
||||
82-
|
||||
83-def _load():
|
||||
--
|
||||
86- sys.path.insert(0,str(BASE))
|
||||
87- wrapper=importlib.import_module('wrapper')
|
||||
88: # Baseline accepted wrapper selftest stays the compatibility gate; no full old legacy selftest is reintroduced.
|
||||
89: wrapper.selftest()
|
||||
90- sys.path.insert(0,str(HERE))
|
||||
91- lxc_adapter=importlib.import_module('lxc_adapter')
|
||||
--
|
||||
97- return wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired
|
||||
98-
|
||||
99:def _target(wrapper,lid):
|
||||
100- rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
|
||||
101- if len(hits)!=1: raise RuntimeError('TARGET_CARDINALITY')
|
||||
102- return hits[0]
|
||||
103-
|
||||
104:def selftest():
|
||||
105- wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired=_load()
|
||||
106: if wired['legacy_globals'].get('capture_pve_guest') is not wired['patched_capture']:
|
||||
107- raise RuntimeError('PATCH_BINDING')
|
||||
108: if wired['legacy_globals'].get('choose_due_target') is not wired['scheduler_wired']['choose_due_target']:
|
||||
109- raise RuntimeError('SCHEDULER_CHOOSE_BINDING')
|
||||
110: if wired['legacy_globals'].get('write_state') is not wired['scheduler_wired']['write_state']:
|
||||
111- raise RuntimeError('SCHEDULER_WRITE_BINDING')
|
||||
112- if [scheduler_adapter.backoff_seconds(n) for n in range(1,7)]!=[1800,3600,7200,14400,21600,21600]:
|
||||
--
|
||||
119-def main(argv=None):
|
||||
120- argv=list(sys.argv[1:] if argv is None else argv)
|
||||
121: if argv==['selftest']:
|
||||
122: return selftest()
|
||||
123- wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired=_load()
|
||||
124- legacy=wired['legacy']
|
||||
125- if argv==['scheduler-proof']:
|
||||
126- import tempfile
|
||||
127: legacy=wired['legacy']; g=wired['legacy_globals']
|
||||
128- old_root=g.get('STATE_ROOT'); old_epoch=g.get('epoch')
|
||||
129- if old_root is None or not callable(old_epoch): raise RuntimeError('SCHEDULER_PROOF_BASE')
|
||||
--
|
||||
133- g['STATE_ROOT']=pathlib.Path(td); (g['STATE_ROOT']/'state').mkdir(mode=0o700)
|
||||
134- g['epoch']=lambda: now[0]
|
||||
135: common={'payload_sha256':'a'*64,'manifest_sha256':'b'*64,'replicas':['proof-r1','proof-r2']}
|
||||
136- legacy.write_state('proof-a','SUCCESS',generation='proof-a-good',**common)
|
||||
137- legacy.write_state('proof-b','SUCCESS',generation='proof-b-good',**common)
|
||||
RUNTIME_SOURCE_FILE=scheduler_adapter.py|SHA256=a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96
|
||||
35- if prior.get('result')=='SUCCESS':
|
||||
36- out={'last_success_epoch':_as_nonneg_int(prior.get('last_success_epoch'),0)}
|
||||
37: mapping=(('generation','last_success_generation'),('payload_sha256','last_success_payload_sha256'),
|
||||
38: ('manifest_sha256','last_success_manifest_sha256'),('replicas','last_success_replicas'),
|
||||
39- ('green_verified','last_success_green_verified'))
|
||||
40- for src,dst in mapping:
|
||||
--
|
||||
42- return out
|
||||
43- out={}
|
||||
44: for k in ('last_success_epoch','last_success_generation','last_success_payload_sha256',
|
||||
45: 'last_success_manifest_sha256','last_success_replicas','last_success_green_verified'):
|
||||
46- if k in prior: out[k]=prior[k]
|
||||
47- return out
|
||||
--
|
||||
53- _need(hasattr(legacy,'STATE_ROOT'),'LEGACY_STATE_ROOT_REQUIRED')
|
||||
54-
|
||||
55: def choose_due_target(targets,state,now=None):
|
||||
56- now=_as_nonneg_int(legacy.epoch() if now is None else now,0)
|
||||
57- _need(isinstance(targets,list) and isinstance(state,dict),'SCHEDULER_INPUT_SCHEMA')
|
||||
RUNTIME_SOURCE_FILE=producer_exec_helper.py|SHA256=b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3
|
||||
1-from __future__ import annotations
|
||||
2:import hashlib, json, os, pathlib, sys
|
||||
3-
|
||||
4-BASE=pathlib.Path('/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411')
|
||||
--
|
||||
8-
|
||||
9-def sha_file(p:pathlib.Path)->str:
|
||||
10: h=hashlib.sha256()
|
||||
11- with open(p,'rb',buffering=0) as f:
|
||||
12- for b in iter(lambda:f.read(1<<20),b''): h.update(b)
|
||||
--
|
||||
19- p=parent/'PRODUCER_PROCESS.json'
|
||||
20- if not p.is_file() or p.is_symlink(): return None
|
||||
21: try: d=json.loads(p.read_bytes())
|
||||
22- except Exception: return {'summary_read':'FAILED'}
|
||||
23: keys=('process_started','producer_rc','capture_success','archive_bytes','stderr_bytes_observed','stderr_bytes_retained','stderr_truncated','stderr_stream_sha256','raw_stderr_exported','child_umask')
|
||||
24- return {k:d.get(k) for k in keys if k in d}
|
||||
25-
|
||||
26:def selftest()->int:
|
||||
27- if sha_file(VZDUMP)!=VZDUMP_SHA: fail('VZDUMP_IDENTITY')
|
||||
28- sys.path.insert(0,str(BASE))
|
||||
--
|
||||
33-
|
||||
34-def main()->int:
|
||||
35: if sys.argv[1:]==['selftest']: return selftest()
|
||||
36- if sys.argv[1:]: fail('ARGC')
|
||||
37- raw=sys.stdin.buffer.read(MAX_INPUT+1)
|
||||
--
|
||||
61- except Exception as e:
|
||||
62- out={'status':'FAIL','exception_class':type(e).__module__+'.'+type(e).__name__,
|
||||
63: 'exception_message_sha256':hashlib.sha256(str(e).encode()).hexdigest(),
|
||||
64- 'process':safe_process_summary(dest.parent)}
|
||||
65- print(json.dumps(out,separators=(',',':'),sort_keys=True),flush=True)
|
||||
--
|
||||
70- except Exception as e:
|
||||
71- print(json.dumps({'status':'FAIL','exception_class':type(e).__module__+'.'+type(e).__name__,
|
||||
72: 'exception_message_sha256':hashlib.sha256(str(e).encode()).hexdigest(),
|
||||
73- 'process':None},separators=(',',':'),sort_keys=True),flush=True)
|
||||
74- raise SystemExit(2)
|
||||
RUNTIME_SOURCE_PHASE_HINTS_END=true
|
||||
MainPID=335341
|
||||
Result=success
|
||||
ExecMainStartTimestamp=Tue 2026-09-22 14:51:24 MSK
|
||||
ExecMainExitTimestamp=
|
||||
ExecMainPID=335341
|
||||
ExecMainStatus=0
|
||||
LoadState=loaded
|
||||
ActiveState=activating
|
||||
SubState=start
|
||||
InvocationID=124bde99379341a1bf82f318f31f9621
|
||||
OWNER_PID_START=335341
|
||||
OWNER_INVOCATION_ID=124bde99379341a1bf82f318f31f9621
|
||||
HEAVY_LOCK_START=BUSY
|
||||
CURRENT_INVOCATION_JOURNAL_LINES=1
|
||||
CURRENT_INVOCATION_JOURNAL_SHA256=25b081a572c3c2feb67855d9294cbfad87cb01cd703b722db59fce65e936bf6b
|
||||
CURRENT_INVOCATION_JOURNAL_BEGIN=true
|
||||
2026-09-22T14:51:25+03:00 pve01 homelab-backup-v2[335341]: SELFTEST_REPLACEMENT486=PASS
|
||||
CURRENT_INVOCATION_JOURNAL_END=true
|
||||
CURRENT_INVOCATION_SELFTEST_PASS=true
|
||||
CURRENT_INVOCATION_TARGET_SEEN=false
|
||||
CURRENT_INVOCATION_RESULT_SEEN=false
|
||||
CURRENT_INVOCATION_LATEST_TARGET=NONE
|
||||
PROC_SNAPSHOT_BEGIN=A
|
||||
PROC_PRESENT_A=true
|
||||
335341 1 10152 S 0.0 0.0 homelab-backup- /usr/bin/python3 /usr/local/sbin/homelab-backup-v2 scheduled
|
||||
WCHAN_A=poll_schedule_timeout.constprop.0
|
||||
SYSCALL_A=7 [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR]
|
||||
IO_A_rchar=2172298800
|
||||
IO_A_wchar=1354968903
|
||||
IO_A_syscr=838052
|
||||
IO_A_syscw=96420
|
||||
IO_A_read_bytes=0
|
||||
IO_A_write_bytes=570032128
|
||||
STATUS_A_STATE=S
|
||||
CTX_A_VOL=31893
|
||||
CTX_A_INVOL=288
|
||||
FD_COUNT_A=7
|
||||
FD_A|fd=0|cat=DEV|pos=0|size=0|base=null|path_sha16=fd5d32feb2d35625
|
||||
FD_A|fd=1|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_A|fd=2|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_A|fd=3|cat=BACKUP_RUN|pos=0|size=0|base=homelab-backup-heavy.lock|path_sha16=2642241b0beaa737
|
||||
FD_A|fd=4|cat=OTHER_FILE|pos=570032128|size=570032128|base=payload.tar.zst|path_sha16=a5bf89245089a1c8
|
||||
FD_A|fd=5|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=18f487fd1dca338f
|
||||
FD_A|fd=7|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=6f3886873903d4f2
|
||||
CHILDREN_A
|
||||
903072 335341 1 S ssh /usr/bin/ssh -o BatchMode=yes -o StrictHostKeyChecking=yes root@pve02 PATH=/usr/sbin:/usr/bin:/sbin:/bin; export PATH; exec qm guest exec 160 --synchronous 1 --timeout 60 -- /usr/bin/python3 -I -B -c 'import base64,sys; p=sys.argv[1]; o=int(sys.argv[2]); n=int(sys.argv[3]); f=open(p,'"'"'rb'"'"'); f.seek(o); b=f.read(n); f.close(); sys.stdout.write(base64.b64encode(b).decode())' /tmp/homelab-v2-xf-0922T115125Z1b7415a2313b.tar.zst 570032128 131072
|
||||
SOCKETS_A
|
||||
PROC_SNAPSHOT_END=A
|
||||
PROC_SNAPSHOT_BEGIN=B
|
||||
PROC_PRESENT_B=true
|
||||
335341 1 10167 S 0.0 0.0 homelab-backup- /usr/bin/python3 /usr/local/sbin/homelab-backup-v2 scheduled
|
||||
WCHAN_B=poll_schedule_timeout.constprop.0
|
||||
SYSCALL_B=7 [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR]
|
||||
IO_B_rchar=2175695809
|
||||
IO_B_wchar=1357149803
|
||||
IO_B_syscr=839397
|
||||
IO_B_syscw=96576
|
||||
IO_B_read_bytes=0
|
||||
IO_B_write_bytes=570949632
|
||||
STATUS_B_STATE=S
|
||||
CTX_B_VOL=31943
|
||||
CTX_B_INVOL=288
|
||||
FD_COUNT_B=7
|
||||
FD_B|fd=0|cat=DEV|pos=0|size=0|base=null|path_sha16=fd5d32feb2d35625
|
||||
FD_B|fd=1|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_B|fd=2|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_B|fd=3|cat=BACKUP_RUN|pos=0|size=0|base=homelab-backup-heavy.lock|path_sha16=2642241b0beaa737
|
||||
FD_B|fd=4|cat=OTHER_FILE|pos=570949632|size=570949632|base=payload.tar.zst|path_sha16=a5bf89245089a1c8
|
||||
FD_B|fd=5|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=3a74719a8d200544
|
||||
FD_B|fd=7|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=27db66d36b35c3d5
|
||||
CHILDREN_B
|
||||
903386 335341 0 S ssh /usr/bin/ssh -o BatchMode=yes -o StrictHostKeyChecking=yes root@pve02 PATH=/usr/sbin:/usr/bin:/sbin:/bin; export PATH; exec qm guest exec 160 --synchronous 1 --timeout 60 -- /usr/bin/python3 -I -B -c 'import base64,sys; p=sys.argv[1]; o=int(sys.argv[2]); n=int(sys.argv[3]); f=open(p,'"'"'rb'"'"'); f.seek(o); b=f.read(n); f.close(); sys.stdout.write(base64.b64encode(b).decode())' /tmp/homelab-v2-xf-0922T115125Z1b7415a2313b.tar.zst 570949632 131072
|
||||
SOCKETS_B
|
||||
PROC_SNAPSHOT_END=B
|
||||
PROC_SNAPSHOT_BEGIN=C
|
||||
PROC_PRESENT_C=true
|
||||
335341 1 10182 S 0.0 0.0 homelab-backup- /usr/bin/python3 /usr/local/sbin/homelab-backup-v2 scheduled
|
||||
WCHAN_C=poll_schedule_timeout.constprop.0
|
||||
SYSCALL_C=7 [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR]
|
||||
IO_C_rchar=2178607641
|
||||
IO_C_wchar=1359019147
|
||||
IO_C_syscr=840546
|
||||
IO_C_syscw=96707
|
||||
IO_C_read_bytes=0
|
||||
IO_C_write_bytes=571736064
|
||||
STATUS_C_STATE=S
|
||||
CTX_C_VOL=31987
|
||||
CTX_C_INVOL=288
|
||||
FD_COUNT_C=7
|
||||
FD_C|fd=0|cat=DEV|pos=0|size=0|base=null|path_sha16=fd5d32feb2d35625
|
||||
FD_C|fd=1|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_C|fd=2|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_C|fd=3|cat=BACKUP_RUN|pos=0|size=0|base=homelab-backup-heavy.lock|path_sha16=2642241b0beaa737
|
||||
FD_C|fd=4|cat=OTHER_FILE|pos=571736064|size=571736064|base=payload.tar.zst|path_sha16=a5bf89245089a1c8
|
||||
FD_C|fd=5|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=e931a2a362f85fd8
|
||||
FD_C|fd=7|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=8d16e18acde67925
|
||||
CHILDREN_C
|
||||
903565 335341 1 S ssh /usr/bin/ssh -o BatchMode=yes -o StrictHostKeyChecking=yes root@pve02 PATH=/usr/sbin:/usr/bin:/sbin:/bin; export PATH; exec qm guest exec 160 --synchronous 1 --timeout 60 -- /usr/bin/python3 -I -B -c 'import base64,sys; p=sys.argv[1]; o=int(sys.argv[2]); n=int(sys.argv[3]); f=open(p,'"'"'rb'"'"'); f.seek(o); b=f.read(n); f.close(); sys.stdout.write(base64.b64encode(b).decode())' /tmp/homelab-v2-xf-0922T115125Z1b7415a2313b.tar.zst 571736064 131072
|
||||
SOCKETS_C
|
||||
PROC_SNAPSHOT_END=C
|
||||
OWNER_END_STATE|active=activating|sub=start|pid=335341|heavy=BUSY
|
||||
PID_STABLE=true
|
||||
DELTA_A_B_rchar=3397009
|
||||
DELTA_A_B_wchar=2180900
|
||||
DELTA_A_B_syscr=1345
|
||||
DELTA_A_B_syscw=156
|
||||
DELTA_A_B_read_bytes=0
|
||||
DELTA_A_B_write_bytes=917504
|
||||
DELTA_B_C_rchar=2911832
|
||||
DELTA_B_C_wchar=1869344
|
||||
DELTA_B_C_syscr=1149
|
||||
DELTA_B_C_syscw=131
|
||||
DELTA_B_C_read_bytes=0
|
||||
DELTA_B_C_write_bytes=786432
|
||||
DELTA_A_C_rchar=6308841
|
||||
DELTA_A_C_wchar=4050244
|
||||
DELTA_A_C_syscr=2494
|
||||
DELTA_A_C_syscw=287
|
||||
DELTA_A_C_read_bytes=0
|
||||
DELTA_A_C_write_bytes=1703936
|
||||
INTERNAL_IO_PROGRESS_30S=true
|
||||
CURRENT_INVOCATION_END_JOURNAL_LINES=1
|
||||
CURRENT_INVOCATION_END_JOURNAL_BEGIN=true
|
||||
2026-09-22T14:51:25+03:00 pve01 homelab-backup-v2[335341]: SELFTEST_REPLACEMENT486=PASS
|
||||
CURRENT_INVOCATION_END_JOURNAL_END=true
|
||||
END_INVOCATION_SELFTEST_PASS=true
|
||||
END_INVOCATION_TARGET_SEEN=false
|
||||
END_INVOCATION_LATEST_TARGET=NONE
|
||||
OWNER_PHASE=ACTIVE_AFTER_SELFTEST_BEFORE_TARGET_MARKER
|
||||
DECISION=PASS_DR221_419_OWNER_PRETARGET_INTERNAL_IO_PROVEN
|
||||
NEXT_GATE=WAIT_NATURAL_OWNER_COMPLETION_THEN_REISSUE_VM210_MEMBERSHIP_AND_FRESH_BACKUP
|
||||
CHANGES_MADE_BY_419=false
|
||||
PRODUCT_MUTATION_BY_419=false
|
||||
VM_MUTATION_BY_419=false
|
||||
CLOUD_MUTATION_BY_419=false
|
||||
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"NEWFI-260922-NEWFDOM-DR221-418-OWNER-FD-PHASE-RCA419R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
|
||||
NEWFI419_END=true
|
||||
|
||||
OUTPUT_END
|
||||
CHAT_OUTPUT_END
|
||||
+11
-11
File diff suppressed because one or more lines are too long
+275
-178
@@ -1,22 +1,22 @@
|
||||
CHAT_OUTPUT_BEGIN
|
||||
COMMAND_ID=NEWFI-260922-NEWFDOM-DR221-417-OWNER-PROGRESS-RCA418R1
|
||||
STATUS=FAIL
|
||||
RC=3
|
||||
COMMAND_ID=NEWFI-260922-NEWFDOM-DR221-418-OWNER-FD-PHASE-RCA419R1
|
||||
STATUS=OK
|
||||
RC=0
|
||||
HOST=pve01
|
||||
MODE=read-only
|
||||
COMPONENT=newfi-dr221-417-owner-progress-rca
|
||||
COMPONENT=newfi-dr221-418-owner-fd-phase-rca
|
||||
REFERENCE_REGISTER_CHECK=OK
|
||||
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
||||
COMMAND_SHA256=4a6ffa7e4be488f5525dbf860d798530d452370e871c3254cb9cb85347478085
|
||||
COMMAND_SHA256=086ee022e9b084cfd4a2a9e59bd32b52470059e7d8713bec3b59065215adf353
|
||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||
EXECUTION_STARTED=true
|
||||
CHANGE_DECLARED=false
|
||||
RESULT_CONTRACT_VALID=true
|
||||
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
|
||||
RESULT_CONTRACT_ERROR=NONE
|
||||
COMMAND_RC=3
|
||||
COMMAND_RC=0
|
||||
CHANGES_MADE=false
|
||||
ROLLBACK_STARTED=false
|
||||
ROLLBACK_RESTORED=null
|
||||
@@ -24,20 +24,154 @@ MUTATION_OUTCOME=NO_MUTATION
|
||||
SANITIZED=yes
|
||||
SECRETS_INCLUDED=no
|
||||
PRIVATE_ADDRESSES_INCLUDED=no
|
||||
RAW_EVIDENCE_SHA256=9d7580ec86a29179a350ddd8360e39c55433c24b55cc87af9923dde088f53054
|
||||
SANITIZED_OUTPUT_SHA256=9d7580ec86a29179a350ddd8360e39c55433c24b55cc87af9923dde088f53054
|
||||
RAW_EVIDENCE_SHA256=ff062154f98216b8725381d01e1dd68d7dcceaa4097f2011a73103ceb6b600ad
|
||||
SANITIZED_OUTPUT_SHA256=ff062154f98216b8725381d01e1dd68d7dcceaa4097f2011a73103ceb6b600ad
|
||||
OUTPUT_BEGIN
|
||||
NEWFI418_BEGIN=true
|
||||
COMMAND_ID=NEWFI-260922-NEWFDOM-DR221-417-OWNER-PROGRESS-RCA418R1
|
||||
NEWFI419_BEGIN=true
|
||||
COMMAND_ID=NEWFI-260922-NEWFDOM-DR221-418-OWNER-FD-PHASE-RCA419R1
|
||||
MODE=read-only
|
||||
COMPONENT=newfi-dr221-417-owner-progress-rca
|
||||
TARGET_FAILURE=NEWFI-260922-NEWFDOM-DR221-VM210-MEMBERSHIP-BACKUP417R1:OWNER_NOT_QUIESCENT
|
||||
MUTATION_BOUNDARY=NONE;NO_SIGNAL;NO_KILL;NO_SYSTEMD_ACTION;NO_BACKUP;NO_CLOUD_WRITE;NO_VM_WRITE;NO_GIT_WRITE
|
||||
COMPONENT=newfi-dr221-418-owner-fd-phase-rca
|
||||
TARGET=EXACT_CURRENT_HOMELAB_BACKUP_V2_OWNER_PHASE_AND_PROGRESS
|
||||
MUTATION_BOUNDARY=NONE;PROC_AND_SOURCE_READ_ONLY;NO_SIGNAL;NO_PTRACE;NO_KILL;NO_SYSTEMD_ACTION;NO_BACKUP;NO_CLOUD_WRITE;NO_VM_WRITE;NO_GIT_WRITE
|
||||
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
||||
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
||||
RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
|
||||
BACKUP_WRAPPER_SHA256=5077444065c732451cb84898680f62361b21a24ef9eb4f191253e82ead524ea2
|
||||
OWNER_SNAPSHOT_BEGIN=A
|
||||
ACCEPTED_RELEASE=/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b
|
||||
ACCEPTED_RELEASE_GATE=PASS
|
||||
RUNTIME_SOURCE_PHASE_HINTS_BEGIN=true
|
||||
RUNTIME_SOURCE_FILE=entry504.py|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793
|
||||
1-from __future__ import annotations
|
||||
2:import hashlib, importlib, json, os, pathlib, stat, sys, types
|
||||
3-
|
||||
4-BASE=pathlib.Path('/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1')
|
||||
--
|
||||
16-
|
||||
17-def _sha(p):
|
||||
18: h=hashlib.sha256()
|
||||
19- with open(p,'rb',buffering=0) as f:
|
||||
20- while True:
|
||||
--
|
||||
41- def __setattr__(self,n,v): self._g[n]=v
|
||||
42-
|
||||
43:def _wire(wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,base=BASE):
|
||||
44- legacy_path=(pathlib.Path(base)/'legacy_engine.py').resolve()
|
||||
45- found={}
|
||||
--
|
||||
48- g=vars(value); raw=g.get('__file__')
|
||||
49- elif isinstance(value,types.FunctionType):
|
||||
50: g=value.__globals__; raw=g.get('__file__')
|
||||
51- else:
|
||||
52- continue
|
||||
--
|
||||
79- if g.get('choose_due_target') is not scheduler_wired['choose_due_target'] or g.get('write_state') is not scheduler_wired['write_state']:
|
||||
80- raise RuntimeError('SCHEDULER_ADAPTER_BIND_RESULT')
|
||||
81: return {'legacy_globals':g,'legacy':proxy,'original_capture':original,'qemu_patched_capture':qemu_patched,'patched_capture':patched,'scheduler_wired':scheduler_wired}
|
||||
82-
|
||||
83-def _load():
|
||||
--
|
||||
86- sys.path.insert(0,str(BASE))
|
||||
87- wrapper=importlib.import_module('wrapper')
|
||||
88: # Baseline accepted wrapper selftest stays the compatibility gate; no full old legacy selftest is reintroduced.
|
||||
89: wrapper.selftest()
|
||||
90- sys.path.insert(0,str(HERE))
|
||||
91- lxc_adapter=importlib.import_module('lxc_adapter')
|
||||
--
|
||||
97- return wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired
|
||||
98-
|
||||
99:def _target(wrapper,lid):
|
||||
100- rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
|
||||
101- if len(hits)!=1: raise RuntimeError('TARGET_CARDINALITY')
|
||||
102- return hits[0]
|
||||
103-
|
||||
104:def selftest():
|
||||
105- wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired=_load()
|
||||
106: if wired['legacy_globals'].get('capture_pve_guest') is not wired['patched_capture']:
|
||||
107- raise RuntimeError('PATCH_BINDING')
|
||||
108: if wired['legacy_globals'].get('choose_due_target') is not wired['scheduler_wired']['choose_due_target']:
|
||||
109- raise RuntimeError('SCHEDULER_CHOOSE_BINDING')
|
||||
110: if wired['legacy_globals'].get('write_state') is not wired['scheduler_wired']['write_state']:
|
||||
111- raise RuntimeError('SCHEDULER_WRITE_BINDING')
|
||||
112- if [scheduler_adapter.backoff_seconds(n) for n in range(1,7)]!=[1800,3600,7200,14400,21600,21600]:
|
||||
--
|
||||
119-def main(argv=None):
|
||||
120- argv=list(sys.argv[1:] if argv is None else argv)
|
||||
121: if argv==['selftest']:
|
||||
122: return selftest()
|
||||
123- wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired=_load()
|
||||
124- legacy=wired['legacy']
|
||||
125- if argv==['scheduler-proof']:
|
||||
126- import tempfile
|
||||
127: legacy=wired['legacy']; g=wired['legacy_globals']
|
||||
128- old_root=g.get('STATE_ROOT'); old_epoch=g.get('epoch')
|
||||
129- if old_root is None or not callable(old_epoch): raise RuntimeError('SCHEDULER_PROOF_BASE')
|
||||
--
|
||||
133- g['STATE_ROOT']=pathlib.Path(td); (g['STATE_ROOT']/'state').mkdir(mode=0o700)
|
||||
134- g['epoch']=lambda: now[0]
|
||||
135: common={'payload_sha256':'a'*64,'manifest_sha256':'b'*64,'replicas':['proof-r1','proof-r2']}
|
||||
136- legacy.write_state('proof-a','SUCCESS',generation='proof-a-good',**common)
|
||||
137- legacy.write_state('proof-b','SUCCESS',generation='proof-b-good',**common)
|
||||
RUNTIME_SOURCE_FILE=scheduler_adapter.py|SHA256=a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96
|
||||
35- if prior.get('result')=='SUCCESS':
|
||||
36- out={'last_success_epoch':_as_nonneg_int(prior.get('last_success_epoch'),0)}
|
||||
37: mapping=(('generation','last_success_generation'),('payload_sha256','last_success_payload_sha256'),
|
||||
38: ('manifest_sha256','last_success_manifest_sha256'),('replicas','last_success_replicas'),
|
||||
39- ('green_verified','last_success_green_verified'))
|
||||
40- for src,dst in mapping:
|
||||
--
|
||||
42- return out
|
||||
43- out={}
|
||||
44: for k in ('last_success_epoch','last_success_generation','last_success_payload_sha256',
|
||||
45: 'last_success_manifest_sha256','last_success_replicas','last_success_green_verified'):
|
||||
46- if k in prior: out[k]=prior[k]
|
||||
47- return out
|
||||
--
|
||||
53- _need(hasattr(legacy,'STATE_ROOT'),'LEGACY_STATE_ROOT_REQUIRED')
|
||||
54-
|
||||
55: def choose_due_target(targets,state,now=None):
|
||||
56- now=_as_nonneg_int(legacy.epoch() if now is None else now,0)
|
||||
57- _need(isinstance(targets,list) and isinstance(state,dict),'SCHEDULER_INPUT_SCHEMA')
|
||||
RUNTIME_SOURCE_FILE=producer_exec_helper.py|SHA256=b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3
|
||||
1-from __future__ import annotations
|
||||
2:import hashlib, json, os, pathlib, sys
|
||||
3-
|
||||
4-BASE=pathlib.Path('/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411')
|
||||
--
|
||||
8-
|
||||
9-def sha_file(p:pathlib.Path)->str:
|
||||
10: h=hashlib.sha256()
|
||||
11- with open(p,'rb',buffering=0) as f:
|
||||
12- for b in iter(lambda:f.read(1<<20),b''): h.update(b)
|
||||
--
|
||||
19- p=parent/'PRODUCER_PROCESS.json'
|
||||
20- if not p.is_file() or p.is_symlink(): return None
|
||||
21: try: d=json.loads(p.read_bytes())
|
||||
22- except Exception: return {'summary_read':'FAILED'}
|
||||
23: keys=('process_started','producer_rc','capture_success','archive_bytes','stderr_bytes_observed','stderr_bytes_retained','stderr_truncated','stderr_stream_sha256','raw_stderr_exported','child_umask')
|
||||
24- return {k:d.get(k) for k in keys if k in d}
|
||||
25-
|
||||
26:def selftest()->int:
|
||||
27- if sha_file(VZDUMP)!=VZDUMP_SHA: fail('VZDUMP_IDENTITY')
|
||||
28- sys.path.insert(0,str(BASE))
|
||||
--
|
||||
33-
|
||||
34-def main()->int:
|
||||
35: if sys.argv[1:]==['selftest']: return selftest()
|
||||
36- if sys.argv[1:]: fail('ARGC')
|
||||
37- raw=sys.stdin.buffer.read(MAX_INPUT+1)
|
||||
--
|
||||
61- except Exception as e:
|
||||
62- out={'status':'FAIL','exception_class':type(e).__module__+'.'+type(e).__name__,
|
||||
63: 'exception_message_sha256':hashlib.sha256(str(e).encode()).hexdigest(),
|
||||
64- 'process':safe_process_summary(dest.parent)}
|
||||
65- print(json.dumps(out,separators=(',',':'),sort_keys=True),flush=True)
|
||||
--
|
||||
70- except Exception as e:
|
||||
71- print(json.dumps({'status':'FAIL','exception_class':type(e).__module__+'.'+type(e).__name__,
|
||||
72: 'exception_message_sha256':hashlib.sha256(str(e).encode()).hexdigest(),
|
||||
73- 'process':None},separators=(',',':'),sort_keys=True),flush=True)
|
||||
74- raise SystemExit(2)
|
||||
RUNTIME_SOURCE_PHASE_HINTS_END=true
|
||||
MainPID=335341
|
||||
Result=success
|
||||
ExecMainStartTimestamp=Tue 2026-09-22 14:51:24 MSK
|
||||
@@ -48,170 +182,133 @@ LoadState=loaded
|
||||
ActiveState=activating
|
||||
SubState=start
|
||||
InvocationID=124bde99379341a1bf82f318f31f9621
|
||||
MAINPID_A=335341
|
||||
MAINPID_PROC_A=present
|
||||
335341 1 9526 S 0.0 0.0 homelab-backup- /usr/bin/python3 /usr/local/sbin/homelab-backup-v2 scheduled
|
||||
MAINPID_IO_A_rchar=2042268866
|
||||
MAINPID_IO_A_wchar=1271471823
|
||||
MAINPID_IO_A_syscr=786464
|
||||
MAINPID_IO_A_syscw=90470
|
||||
MAINPID_IO_A_read_bytes=0
|
||||
MAINPID_IO_A_write_bytes=534904832
|
||||
MAINPID_STAT_A_UTIME=273
|
||||
MAINPID_STAT_A_STIME=78
|
||||
PROCESS_TREE_A
|
||||
335341 1 9526 S 0.0 0.0 homelab-backup- /usr/bin/python3 /usr/local/sbin/homelab-backup-v2 scheduled
|
||||
HEAVY_LOCK_HOLDERS_A
|
||||
HEAVY_LOCK_A=BUSY
|
||||
JOURNAL_A_LINES=220
|
||||
JOURNAL_A_SHA256=cd10cf61914d21797c6a1f23a43639a2ea6d514a82cd2d4062170cfb3ace9e04
|
||||
JOURNAL_A_TAIL_BEGIN=true
|
||||
2026-09-21T23:25:05+03:00 pve01 homelab-backup-v2[1454793]: SCHEDULE_TARGET=xf-zakrutim
|
||||
2026-09-21T23:25:05+03:00 pve01 homelab-backup-v2[1454793]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-21T23:25:27+03:00 pve01 vzdump[1496015]: <root@pam> starting task UPID:pve01:0016D3D0:0C81F46A:6AB192B7:vzdump:110:root@pam:
|
||||
2026-09-21T23:25:27+03:00 pve01 vzdump[1496016]: INFO: starting new backup job: vzdump 110 --remove 0 --prune-backups 'keep-all=1' --compress zstd --tmpdir /var/tmp/homelab-vzdump-v2-v2-ct110-20260921T202514Z-1c872adccfab --mode snapshot --stdexcludes 0 --bwlimit 32768 --ionice 7 --node pve01 --zstd 1 --lockwait 0
|
||||
2026-09-21T23:25:27+03:00 pve01 vzdump[1496016]: INFO: Starting Backup of VM 110 (lxc)
|
||||
2026-09-21T23:27:32+03:00 pve01 vzdump[1496016]: INFO: Finished Backup of VM 110 (00:02:05)
|
||||
2026-09-21T23:27:32+03:00 pve01 vzdump[1496016]: INFO: Backup job finished successfully
|
||||
2026-09-21T23:27:32+03:00 pve01 vzdump[1496015]: <root@pam> end task UPID:pve01:0016D3D0:0C81F46A:6AB192B7:vzdump:110:root@pam: OK
|
||||
2026-09-21T23:27:32+03:00 pve01 homelab-backup-v2[1495880]: SCHEDULE_TARGET=ct110
|
||||
2026-09-21T23:28:28+03:00 pve01 homelab-backup-v2[1495880]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-21T23:30:13+03:00 pve01 homelab-backup-v2[1511723]: SCHEDULE_TARGET=ct111
|
||||
2026-09-21T23:30:55+03:00 pve01 homelab-backup-v2[1511723]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T00:04:00+03:00 pve01 vzdump[1627437]: <root@pam> starting task UPID:pve01:0018D52E:0C857BF7:6AB19BC0:vzdump:210:root@pam:
|
||||
2026-09-22T00:04:00+03:00 pve01 vzdump[1627438]: INFO: starting new backup job: vzdump 210 --mode snapshot --compress zstd --dumpdir /var/tmp/homelab-vzdump-v2-v2-vm210-20260921T210359Z-571fa9dac984
|
||||
2026-09-22T00:04:00+03:00 pve01 vzdump[1627438]: INFO: Starting Backup of VM 210 (qemu)
|
||||
2026-09-22T00:04:14+03:00 pve01 vzdump[1627438]: INFO: Finished Backup of VM 210 (00:00:14)
|
||||
2026-09-22T00:04:14+03:00 pve01 vzdump[1627438]: INFO: Backup job finished successfully
|
||||
2026-09-22T00:04:14+03:00 pve01 vzdump[1627437]: <root@pam> end task UPID:pve01:0018D52E:0C857BF7:6AB19BC0:vzdump:210:root@pam: OK
|
||||
2026-09-22T00:04:14+03:00 pve01 homelab-backup-v2[1627342]: SCHEDULE_TARGET=vm210
|
||||
2026-09-22T00:05:17+03:00 pve01 homelab-backup-v2[1627342]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T02:00:53+03:00 pve01 vzdump[2000007]: <root@pam> starting task UPID:pve01:001E8488:0C902F77:6AB1B725:vzdump:170:root@pam:
|
||||
2026-09-22T02:00:53+03:00 pve01 vzdump[2000008]: INFO: starting new backup job: vzdump 170 --mode snapshot --dumpdir /var/tmp/homelab-vzdump-v2-v2-vm170-20260921T230052Z-7b6556baa842 --compress zstd
|
||||
2026-09-22T02:00:53+03:00 pve01 vzdump[2000008]: INFO: Starting Backup of VM 170 (qemu)
|
||||
2026-09-22T02:02:23+03:00 pve01 vzdump[2000008]: INFO: Finished Backup of VM 170 (00:01:30)
|
||||
2026-09-22T02:02:23+03:00 pve01 vzdump[2000008]: INFO: Backup job finished successfully
|
||||
2026-09-22T02:02:23+03:00 pve01 vzdump[2000007]: <root@pam> end task UPID:pve01:001E8488:0C902F77:6AB1B725:vzdump:170:root@pam: OK
|
||||
2026-09-22T02:02:23+03:00 pve01 homelab-backup-v2[1999915]: SCHEDULE_TARGET=vm170
|
||||
2026-09-22T02:12:47+03:00 pve01 homelab-backup-v2[1999915]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T02:37:13+03:00 pve01 homelab-backup-v2[2121414]: SCHEDULE_TARGET=us-netbird
|
||||
2026-09-22T02:37:13+03:00 pve01 homelab-backup-v2[2121414]: SCHEDULE_RESULT=FAIL
|
||||
2026-09-22T02:37:13+03:00 pve01 homelab-backup-v2[2121414]: SCHEDULE_REASON=PIPE_FAILED
|
||||
2026-09-22T03:46:31+03:00 pve01 homelab-backup-v2[2408783]: SCHEDULE_TARGET=control-bootstrap-v2
|
||||
2026-09-22T03:46:31+03:00 pve01 homelab-backup-v2[2408783]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T04:29:13+03:00 pve01 homelab-backup-v2[2510842]: SCHEDULE_TARGET=vm9130
|
||||
2026-09-22T04:44:11+03:00 pve01 homelab-backup-v2[2510842]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T06:31:51+03:00 pve01 homelab-backup-v2[2931093]: SCHEDULE_TARGET=vm211
|
||||
2026-09-22T06:32:52+03:00 pve01 homelab-backup-v2[2931093]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T07:09:46+03:00 pve01 homelab-backup-v2[3046566]: SCHEDULE_TARGET=node-pve01
|
||||
2026-09-22T07:09:46+03:00 pve01 homelab-backup-v2[3046566]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T08:53:31+03:00 pve01 homelab-backup-v2[3378768]: SCHEDULE_TARGET=us-netbird
|
||||
2026-09-22T08:53:31+03:00 pve01 homelab-backup-v2[3378768]: SCHEDULE_RESULT=FAIL
|
||||
2026-09-22T08:53:31+03:00 pve01 homelab-backup-v2[3378768]: SCHEDULE_REASON=PIPE_FAILED
|
||||
2026-09-22T11:44:22+03:00 pve01 homelab-backup-v2[3608112]: SCHEDULE_TARGET=xf-dsmods
|
||||
2026-09-22T11:44:22+03:00 pve01 homelab-backup-v2[3608112]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T11:54:41+03:00 pve01 homelab-backup-v2[3938337]: SCHEDULE_TARGET=xf-kingofwolk
|
||||
2026-09-22T11:54:41+03:00 pve01 homelab-backup-v2[3938337]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T12:30:38+03:00 pve01 homelab-backup-v2[4066962]: SCHEDULE_TARGET=xf-newfi
|
||||
2026-09-22T12:30:38+03:00 pve01 homelab-backup-v2[4066962]: SCHEDULE_RESULT=SUCCESS
|
||||
JOURNAL_A_TAIL_END=true
|
||||
OWNER_SNAPSHOT_END=A
|
||||
OWNER_SNAPSHOT_BEGIN=B
|
||||
MainPID=335341
|
||||
Result=success
|
||||
ExecMainStartTimestamp=Tue 2026-09-22 14:51:24 MSK
|
||||
ExecMainExitTimestamp=
|
||||
ExecMainPID=335341
|
||||
ExecMainStatus=0
|
||||
LoadState=loaded
|
||||
ActiveState=activating
|
||||
SubState=start
|
||||
InvocationID=124bde99379341a1bf82f318f31f9621
|
||||
MAINPID_B=335341
|
||||
MAINPID_PROC_B=present
|
||||
335341 1 9556 S 0.0 0.0 homelab-backup- /usr/bin/python3 /usr/local/sbin/homelab-backup-v2 scheduled
|
||||
MAINPID_IO_B_rchar=2048577699
|
||||
MAINPID_IO_B_wchar=1275522059
|
||||
MAINPID_IO_B_syscr=788976
|
||||
MAINPID_IO_B_syscw=90763
|
||||
MAINPID_IO_B_read_bytes=0
|
||||
MAINPID_IO_B_write_bytes=536608768
|
||||
MAINPID_STAT_B_UTIME=274
|
||||
MAINPID_STAT_B_STIME=78
|
||||
PROCESS_TREE_B
|
||||
335341 1 9556 S 0.0 0.0 homelab-backup- /usr/bin/python3 /usr/local/sbin/homelab-backup-v2 scheduled
|
||||
HEAVY_LOCK_HOLDERS_B
|
||||
HEAVY_LOCK_B=BUSY
|
||||
JOURNAL_B_LINES=220
|
||||
JOURNAL_B_SHA256=cd10cf61914d21797c6a1f23a43639a2ea6d514a82cd2d4062170cfb3ace9e04
|
||||
JOURNAL_B_TAIL_BEGIN=true
|
||||
2026-09-21T23:25:05+03:00 pve01 homelab-backup-v2[1454793]: SCHEDULE_TARGET=xf-zakrutim
|
||||
2026-09-21T23:25:05+03:00 pve01 homelab-backup-v2[1454793]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-21T23:25:27+03:00 pve01 vzdump[1496015]: <root@pam> starting task UPID:pve01:0016D3D0:0C81F46A:6AB192B7:vzdump:110:root@pam:
|
||||
2026-09-21T23:25:27+03:00 pve01 vzdump[1496016]: INFO: starting new backup job: vzdump 110 --remove 0 --prune-backups 'keep-all=1' --compress zstd --tmpdir /var/tmp/homelab-vzdump-v2-v2-ct110-20260921T202514Z-1c872adccfab --mode snapshot --stdexcludes 0 --bwlimit 32768 --ionice 7 --node pve01 --zstd 1 --lockwait 0
|
||||
2026-09-21T23:25:27+03:00 pve01 vzdump[1496016]: INFO: Starting Backup of VM 110 (lxc)
|
||||
2026-09-21T23:27:32+03:00 pve01 vzdump[1496016]: INFO: Finished Backup of VM 110 (00:02:05)
|
||||
2026-09-21T23:27:32+03:00 pve01 vzdump[1496016]: INFO: Backup job finished successfully
|
||||
2026-09-21T23:27:32+03:00 pve01 vzdump[1496015]: <root@pam> end task UPID:pve01:0016D3D0:0C81F46A:6AB192B7:vzdump:110:root@pam: OK
|
||||
2026-09-21T23:27:32+03:00 pve01 homelab-backup-v2[1495880]: SCHEDULE_TARGET=ct110
|
||||
2026-09-21T23:28:28+03:00 pve01 homelab-backup-v2[1495880]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-21T23:30:13+03:00 pve01 homelab-backup-v2[1511723]: SCHEDULE_TARGET=ct111
|
||||
2026-09-21T23:30:55+03:00 pve01 homelab-backup-v2[1511723]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T00:04:00+03:00 pve01 vzdump[1627437]: <root@pam> starting task UPID:pve01:0018D52E:0C857BF7:6AB19BC0:vzdump:210:root@pam:
|
||||
2026-09-22T00:04:00+03:00 pve01 vzdump[1627438]: INFO: starting new backup job: vzdump 210 --mode snapshot --compress zstd --dumpdir /var/tmp/homelab-vzdump-v2-v2-vm210-20260921T210359Z-571fa9dac984
|
||||
2026-09-22T00:04:00+03:00 pve01 vzdump[1627438]: INFO: Starting Backup of VM 210 (qemu)
|
||||
2026-09-22T00:04:14+03:00 pve01 vzdump[1627438]: INFO: Finished Backup of VM 210 (00:00:14)
|
||||
2026-09-22T00:04:14+03:00 pve01 vzdump[1627438]: INFO: Backup job finished successfully
|
||||
2026-09-22T00:04:14+03:00 pve01 vzdump[1627437]: <root@pam> end task UPID:pve01:0018D52E:0C857BF7:6AB19BC0:vzdump:210:root@pam: OK
|
||||
2026-09-22T00:04:14+03:00 pve01 homelab-backup-v2[1627342]: SCHEDULE_TARGET=vm210
|
||||
2026-09-22T00:05:17+03:00 pve01 homelab-backup-v2[1627342]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T02:00:53+03:00 pve01 vzdump[2000007]: <root@pam> starting task UPID:pve01:001E8488:0C902F77:6AB1B725:vzdump:170:root@pam:
|
||||
2026-09-22T02:00:53+03:00 pve01 vzdump[2000008]: INFO: starting new backup job: vzdump 170 --mode snapshot --dumpdir /var/tmp/homelab-vzdump-v2-v2-vm170-20260921T230052Z-7b6556baa842 --compress zstd
|
||||
2026-09-22T02:00:53+03:00 pve01 vzdump[2000008]: INFO: Starting Backup of VM 170 (qemu)
|
||||
2026-09-22T02:02:23+03:00 pve01 vzdump[2000008]: INFO: Finished Backup of VM 170 (00:01:30)
|
||||
2026-09-22T02:02:23+03:00 pve01 vzdump[2000008]: INFO: Backup job finished successfully
|
||||
2026-09-22T02:02:23+03:00 pve01 vzdump[2000007]: <root@pam> end task UPID:pve01:001E8488:0C902F77:6AB1B725:vzdump:170:root@pam: OK
|
||||
2026-09-22T02:02:23+03:00 pve01 homelab-backup-v2[1999915]: SCHEDULE_TARGET=vm170
|
||||
2026-09-22T02:12:47+03:00 pve01 homelab-backup-v2[1999915]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T02:37:13+03:00 pve01 homelab-backup-v2[2121414]: SCHEDULE_TARGET=us-netbird
|
||||
2026-09-22T02:37:13+03:00 pve01 homelab-backup-v2[2121414]: SCHEDULE_RESULT=FAIL
|
||||
2026-09-22T02:37:13+03:00 pve01 homelab-backup-v2[2121414]: SCHEDULE_REASON=PIPE_FAILED
|
||||
2026-09-22T03:46:31+03:00 pve01 homelab-backup-v2[2408783]: SCHEDULE_TARGET=control-bootstrap-v2
|
||||
2026-09-22T03:46:31+03:00 pve01 homelab-backup-v2[2408783]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T04:29:13+03:00 pve01 homelab-backup-v2[2510842]: SCHEDULE_TARGET=vm9130
|
||||
2026-09-22T04:44:11+03:00 pve01 homelab-backup-v2[2510842]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T06:31:51+03:00 pve01 homelab-backup-v2[2931093]: SCHEDULE_TARGET=vm211
|
||||
2026-09-22T06:32:52+03:00 pve01 homelab-backup-v2[2931093]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T07:09:46+03:00 pve01 homelab-backup-v2[3046566]: SCHEDULE_TARGET=node-pve01
|
||||
2026-09-22T07:09:46+03:00 pve01 homelab-backup-v2[3046566]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T08:53:31+03:00 pve01 homelab-backup-v2[3378768]: SCHEDULE_TARGET=us-netbird
|
||||
2026-09-22T08:53:31+03:00 pve01 homelab-backup-v2[3378768]: SCHEDULE_RESULT=FAIL
|
||||
2026-09-22T08:53:31+03:00 pve01 homelab-backup-v2[3378768]: SCHEDULE_REASON=PIPE_FAILED
|
||||
2026-09-22T11:44:22+03:00 pve01 homelab-backup-v2[3608112]: SCHEDULE_TARGET=xf-dsmods
|
||||
2026-09-22T11:44:22+03:00 pve01 homelab-backup-v2[3608112]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T11:54:41+03:00 pve01 homelab-backup-v2[3938337]: SCHEDULE_TARGET=xf-kingofwolk
|
||||
2026-09-22T11:54:41+03:00 pve01 homelab-backup-v2[3938337]: SCHEDULE_RESULT=SUCCESS
|
||||
2026-09-22T12:30:38+03:00 pve01 homelab-backup-v2[4066962]: SCHEDULE_TARGET=xf-newfi
|
||||
2026-09-22T12:30:38+03:00 pve01 homelab-backup-v2[4066962]: SCHEDULE_RESULT=SUCCESS
|
||||
JOURNAL_B_TAIL_END=true
|
||||
OWNER_SNAPSHOT_END=B
|
||||
LATEST_SCHEDULE_TARGET=xf-newfi
|
||||
LATEST_SCHEDULE_TARGET_LINE=196
|
||||
RESULT_AFTER_LATEST_TARGET=true
|
||||
LATEST_RESULT_LINE=197
|
||||
PROGRESS_EVENT_COUNT=30
|
||||
JOURNAL_PROGRESS_30S=false
|
||||
ACTIVE_BACKUP_CHILD_PRESENT=false
|
||||
OWNER_FINAL_STATE|service=activating|sub=start|pid=335341|heavy=BUSY
|
||||
OWNER_CLASS=ACTIVE_NO_PROGRESS_SIGNAL_30S
|
||||
DECISION=HOLD_DR221_418_OWNER_STALL_SUSPECTED
|
||||
NEXT_GATE=RCA_ONLY_CURRENT_BACKUP_TARGET_AND_CHILD_BEFORE_ANY_SERVICE_ACTION
|
||||
CHANGES_MADE_BY_418=false
|
||||
PRODUCT_MUTATION_BY_418=false
|
||||
VM_MUTATION_BY_418=false
|
||||
CLOUD_MUTATION_BY_418=false
|
||||
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"NEWFI-260922-NEWFDOM-DR221-417-OWNER-PROGRESS-RCA418R1","status":"FAIL","changes_made":false,"rollback_started":false,"rollback_restored":null}
|
||||
NEWFI418_END=true
|
||||
OWNER_PID_START=335341
|
||||
OWNER_INVOCATION_ID=124bde99379341a1bf82f318f31f9621
|
||||
HEAVY_LOCK_START=BUSY
|
||||
CURRENT_INVOCATION_JOURNAL_LINES=1
|
||||
CURRENT_INVOCATION_JOURNAL_SHA256=25b081a572c3c2feb67855d9294cbfad87cb01cd703b722db59fce65e936bf6b
|
||||
CURRENT_INVOCATION_JOURNAL_BEGIN=true
|
||||
2026-09-22T14:51:25+03:00 pve01 homelab-backup-v2[335341]: SELFTEST_REPLACEMENT486=PASS
|
||||
CURRENT_INVOCATION_JOURNAL_END=true
|
||||
CURRENT_INVOCATION_SELFTEST_PASS=true
|
||||
CURRENT_INVOCATION_TARGET_SEEN=false
|
||||
CURRENT_INVOCATION_RESULT_SEEN=false
|
||||
CURRENT_INVOCATION_LATEST_TARGET=NONE
|
||||
PROC_SNAPSHOT_BEGIN=A
|
||||
PROC_PRESENT_A=true
|
||||
335341 1 10152 S 0.0 0.0 homelab-backup- /usr/bin/python3 /usr/local/sbin/homelab-backup-v2 scheduled
|
||||
WCHAN_A=poll_schedule_timeout.constprop.0
|
||||
SYSCALL_A=7 [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR]
|
||||
IO_A_rchar=2172298800
|
||||
IO_A_wchar=1354968903
|
||||
IO_A_syscr=838052
|
||||
IO_A_syscw=96420
|
||||
IO_A_read_bytes=0
|
||||
IO_A_write_bytes=570032128
|
||||
STATUS_A_STATE=S
|
||||
CTX_A_VOL=31893
|
||||
CTX_A_INVOL=288
|
||||
FD_COUNT_A=7
|
||||
FD_A|fd=0|cat=DEV|pos=0|size=0|base=null|path_sha16=fd5d32feb2d35625
|
||||
FD_A|fd=1|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_A|fd=2|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_A|fd=3|cat=BACKUP_RUN|pos=0|size=0|base=homelab-backup-heavy.lock|path_sha16=2642241b0beaa737
|
||||
FD_A|fd=4|cat=OTHER_FILE|pos=570032128|size=570032128|base=payload.tar.zst|path_sha16=a5bf89245089a1c8
|
||||
FD_A|fd=5|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=18f487fd1dca338f
|
||||
FD_A|fd=7|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=6f3886873903d4f2
|
||||
CHILDREN_A
|
||||
903072 335341 1 S ssh /usr/bin/ssh -o BatchMode=yes -o StrictHostKeyChecking=yes root@pve02 PATH=/usr/sbin:/usr/bin:/sbin:/bin; export PATH; exec qm guest exec 160 --synchronous 1 --timeout 60 -- /usr/bin/python3 -I -B -c 'import base64,sys; p=sys.argv[1]; o=int(sys.argv[2]); n=int(sys.argv[3]); f=open(p,'"'"'rb'"'"'); f.seek(o); b=f.read(n); f.close(); sys.stdout.write(base64.b64encode(b).decode())' /tmp/homelab-v2-xf-0922T115125Z1b7415a2313b.tar.zst 570032128 131072
|
||||
SOCKETS_A
|
||||
PROC_SNAPSHOT_END=A
|
||||
PROC_SNAPSHOT_BEGIN=B
|
||||
PROC_PRESENT_B=true
|
||||
335341 1 10167 S 0.0 0.0 homelab-backup- /usr/bin/python3 /usr/local/sbin/homelab-backup-v2 scheduled
|
||||
WCHAN_B=poll_schedule_timeout.constprop.0
|
||||
SYSCALL_B=7 [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR]
|
||||
IO_B_rchar=2175695809
|
||||
IO_B_wchar=1357149803
|
||||
IO_B_syscr=839397
|
||||
IO_B_syscw=96576
|
||||
IO_B_read_bytes=0
|
||||
IO_B_write_bytes=570949632
|
||||
STATUS_B_STATE=S
|
||||
CTX_B_VOL=31943
|
||||
CTX_B_INVOL=288
|
||||
FD_COUNT_B=7
|
||||
FD_B|fd=0|cat=DEV|pos=0|size=0|base=null|path_sha16=fd5d32feb2d35625
|
||||
FD_B|fd=1|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_B|fd=2|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_B|fd=3|cat=BACKUP_RUN|pos=0|size=0|base=homelab-backup-heavy.lock|path_sha16=2642241b0beaa737
|
||||
FD_B|fd=4|cat=OTHER_FILE|pos=570949632|size=570949632|base=payload.tar.zst|path_sha16=a5bf89245089a1c8
|
||||
FD_B|fd=5|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=3a74719a8d200544
|
||||
FD_B|fd=7|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=27db66d36b35c3d5
|
||||
CHILDREN_B
|
||||
903386 335341 0 S ssh /usr/bin/ssh -o BatchMode=yes -o StrictHostKeyChecking=yes root@pve02 PATH=/usr/sbin:/usr/bin:/sbin:/bin; export PATH; exec qm guest exec 160 --synchronous 1 --timeout 60 -- /usr/bin/python3 -I -B -c 'import base64,sys; p=sys.argv[1]; o=int(sys.argv[2]); n=int(sys.argv[3]); f=open(p,'"'"'rb'"'"'); f.seek(o); b=f.read(n); f.close(); sys.stdout.write(base64.b64encode(b).decode())' /tmp/homelab-v2-xf-0922T115125Z1b7415a2313b.tar.zst 570949632 131072
|
||||
SOCKETS_B
|
||||
PROC_SNAPSHOT_END=B
|
||||
PROC_SNAPSHOT_BEGIN=C
|
||||
PROC_PRESENT_C=true
|
||||
335341 1 10182 S 0.0 0.0 homelab-backup- /usr/bin/python3 /usr/local/sbin/homelab-backup-v2 scheduled
|
||||
WCHAN_C=poll_schedule_timeout.constprop.0
|
||||
SYSCALL_C=7 [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR] [PTR]
|
||||
IO_C_rchar=2178607641
|
||||
IO_C_wchar=1359019147
|
||||
IO_C_syscr=840546
|
||||
IO_C_syscw=96707
|
||||
IO_C_read_bytes=0
|
||||
IO_C_write_bytes=571736064
|
||||
STATUS_C_STATE=S
|
||||
CTX_C_VOL=31987
|
||||
CTX_C_INVOL=288
|
||||
FD_COUNT_C=7
|
||||
FD_C|fd=0|cat=DEV|pos=0|size=0|base=null|path_sha16=fd5d32feb2d35625
|
||||
FD_C|fd=1|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_C|fd=2|cat=SOCKET|pos=0|size=NA|base=NA|path_sha16=feb8f1e1f9e2ba39
|
||||
FD_C|fd=3|cat=BACKUP_RUN|pos=0|size=0|base=homelab-backup-heavy.lock|path_sha16=2642241b0beaa737
|
||||
FD_C|fd=4|cat=OTHER_FILE|pos=571736064|size=571736064|base=payload.tar.zst|path_sha16=a5bf89245089a1c8
|
||||
FD_C|fd=5|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=e931a2a362f85fd8
|
||||
FD_C|fd=7|cat=PIPE|pos=0|size=NA|base=NA|path_sha16=8d16e18acde67925
|
||||
CHILDREN_C
|
||||
903565 335341 1 S ssh /usr/bin/ssh -o BatchMode=yes -o StrictHostKeyChecking=yes root@pve02 PATH=/usr/sbin:/usr/bin:/sbin:/bin; export PATH; exec qm guest exec 160 --synchronous 1 --timeout 60 -- /usr/bin/python3 -I -B -c 'import base64,sys; p=sys.argv[1]; o=int(sys.argv[2]); n=int(sys.argv[3]); f=open(p,'"'"'rb'"'"'); f.seek(o); b=f.read(n); f.close(); sys.stdout.write(base64.b64encode(b).decode())' /tmp/homelab-v2-xf-0922T115125Z1b7415a2313b.tar.zst 571736064 131072
|
||||
SOCKETS_C
|
||||
PROC_SNAPSHOT_END=C
|
||||
OWNER_END_STATE|active=activating|sub=start|pid=335341|heavy=BUSY
|
||||
PID_STABLE=true
|
||||
DELTA_A_B_rchar=3397009
|
||||
DELTA_A_B_wchar=2180900
|
||||
DELTA_A_B_syscr=1345
|
||||
DELTA_A_B_syscw=156
|
||||
DELTA_A_B_read_bytes=0
|
||||
DELTA_A_B_write_bytes=917504
|
||||
DELTA_B_C_rchar=2911832
|
||||
DELTA_B_C_wchar=1869344
|
||||
DELTA_B_C_syscr=1149
|
||||
DELTA_B_C_syscw=131
|
||||
DELTA_B_C_read_bytes=0
|
||||
DELTA_B_C_write_bytes=786432
|
||||
DELTA_A_C_rchar=6308841
|
||||
DELTA_A_C_wchar=4050244
|
||||
DELTA_A_C_syscr=2494
|
||||
DELTA_A_C_syscw=287
|
||||
DELTA_A_C_read_bytes=0
|
||||
DELTA_A_C_write_bytes=1703936
|
||||
INTERNAL_IO_PROGRESS_30S=true
|
||||
CURRENT_INVOCATION_END_JOURNAL_LINES=1
|
||||
CURRENT_INVOCATION_END_JOURNAL_BEGIN=true
|
||||
2026-09-22T14:51:25+03:00 pve01 homelab-backup-v2[335341]: SELFTEST_REPLACEMENT486=PASS
|
||||
CURRENT_INVOCATION_END_JOURNAL_END=true
|
||||
END_INVOCATION_SELFTEST_PASS=true
|
||||
END_INVOCATION_TARGET_SEEN=false
|
||||
END_INVOCATION_LATEST_TARGET=NONE
|
||||
OWNER_PHASE=ACTIVE_AFTER_SELFTEST_BEFORE_TARGET_MARKER
|
||||
DECISION=PASS_DR221_419_OWNER_PRETARGET_INTERNAL_IO_PROVEN
|
||||
NEXT_GATE=WAIT_NATURAL_OWNER_COMPLETION_THEN_REISSUE_VM210_MEMBERSHIP_AND_FRESH_BACKUP
|
||||
CHANGES_MADE_BY_419=false
|
||||
PRODUCT_MUTATION_BY_419=false
|
||||
VM_MUTATION_BY_419=false
|
||||
CLOUD_MUTATION_BY_419=false
|
||||
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"NEWFI-260922-NEWFDOM-DR221-418-OWNER-FD-PHASE-RCA419R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
|
||||
NEWFI419_END=true
|
||||
|
||||
OUTPUT_END
|
||||
CHAT_OUTPUT_END
|
||||
|
||||
Reference in New Issue
Block a user