CHAT_OUTPUT_BEGIN
COMMAND_ID=SUPPORT-260916-INFRA-DR-BACKUPV2-REPLACEMENT-INTEGRATION-SOURCE-CAPSULE-475R1
STATUS=OK
RC=0
HOST=pve01
MODE=read-only
COMPONENT=infra-dr-backupv2-replacement-integration-source-capsule
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=e4906ee950fcb0929de08b9e7c41a4d134106d29dd2c478ec80910e29a17277a
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=2e0b8f6d6f3b7feeb770c1a0fdd53230c42624d34b66e9315861459993aa04e3
SANITIZED_OUTPUT_SHA256=2e0b8f6d6f3b7feeb770c1a0fdd53230c42624d34b66e9315861459993aa04e3
OUTPUT_BEGIN
CAPSULE475_BEGIN
{"candidate411":{"files":{"adapter.py":{"bytes":2989,"sha256":"18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3","zlib_b64":"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"},"guest266.py":{"bytes":7385,"sha256":"86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868","zlib_b64":"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"},"large264.py":{"bytes":16514,"sha256":"5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a","zlib_b64":"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"},"pve265.py":{"bytes":12888,"sha256":"cd2f634414a8e38a3789015aeca5a9b47821f77d7d1fa61dcdbdc866172963be","zlib_b64":"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"},"pve270.py":{"bytes":19595,"sha256":"97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef","zlib_b64":"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"},"pve282.py":{"bytes":6195,"sha256":"73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012","zlib_b64":"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"},"restore262.py":{"bytes":14701,"sha256":"56d1b961c8d5654d5e2ee2755268db46bd2202bca11e69788febf991cfaa79f1","zlib_b64":"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"},"stream263.py":{"bytes":8831,"sha256":"a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16","zlib_b64":"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"},"v2core.py":{"bytes":11755,"sha256":"e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2","zlib_b64":"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"}},"root":"/opt/homelab-backup-v2/candidates/pve-lxc-adapter-411r1"},"command_id":"SUPPORT-260916-INFRA-DR-BACKUPV2-REPLACEMENT-INTEGRATION-SOURCE-CAPSULE-475R1","decision":"SOURCE_CAPSULE_COMPLETE_FOR_REPLACEMENT_INTEGRATION","driver454":{"bytes":4214,"path":"representative_driver.py","root":"/opt/homelab-backup-v2/candidates/representative-validation-454r1","sha256":"b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2","zlib_b64":"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"},"engine":{"bytes":59719,"defs":{"backup_target":{"calls":["BackupError","Path","bool","capture_target","cleanup_source","control_verify","ensure_dir","epoch","exists","generation_id","reconstruct_replica","rmtree","unlink","upload_and_seal","validate_payload","write_state"],"end_lineno":926,"globals":["BackupError","WORK_ROOT","capture_target","cleanup_source","control_verify","e","ensure_dir","epoch","generation_id","pathlib","reconstruct_replica","shutil","upload_and_seal","validate_payload","write_state"],"lineno":903,"sha256":"d7eae37028d383c842bfe35267b5088421a01713f481b4f3551a44bb2745dc65","source":"def backup_target(t,green_verify=False):\n    if t['type']=='control': return control_verify(t)\n    gen=generation_id(t['logical_id']); work=ensure_dir(WORK_ROOT/gen,0o700)\n    payload=None; cleanup=None; sealed=False\n    try:\n        payload,meta,cleanup=capture_target(t,gen,work); meta['generation']=gen\n        manifest,msha,alloc=upload_and_seal(t,payload,meta); sealed=True\n        # SEALED-first cleanup invariant: only now remove source/local payload.\n        try:\n            if pathlib.Path(payload).exists(): pathlib.Path(payload).unlink()\n        finally: cleanup_source(cleanup)\n        if green_verify:\n            a=work/'verify-a.bin'; b=work/'verify-b.bin'\n            ha=reconstruct_replica(manifest,manifest['replicas'][0],a); validate_payload(t,a)\n            hb=reconstruct_replica(manifest,manifest['replicas'][1],b); validate_payload(t,b)\n            if ha!=hb or ha!=manifest['payload_sha256']: raise BackupError('GREEN_REPLICA_COMPARE')\n            a.unlink(missing_ok=True); b.unlink(missing_ok=True)\n        shutil.rmtree(work,ignore_errors=True)\n        write_state(t['logical_id'],'SUCCESS',generation=gen,payload_sha256=manifest['payload_sha256'],manifest_sha256=msha,replicas=manifest['replicas'],green_verified=bool(green_verify),last_success_epoch=epoch())\n        return {'logical_id':t['logical_id'],'generation':gen,'result':'SUCCESS','payload_bytes':manifest['payload_bytes'],'replicas':2,'allocator_healthy':alloc['healthy']}\n    except BackupError as e:\n        result='PARTIAL_VALID' if sealed else 'FAIL'\n        write_state(t['logical_id'],result,generation=gen,reason=e.code,sealed=sealed)\n        raise"},"capture_pve_guest":{"calls":["BackupError","Path","_default_unprivileged_lxc","_require_exact_source","_stream_argv_to_local","cluster_inventory","decode","get","int","is_file","len","mapped_scratch_probe","proven_lxc_dump_argv","run","splitlines","ssh_remote","stat","str","strip"],"end_lineno":541,"globals":["BackupError","P270","P270_SHA","P282","P282_SHA","SCP","_default_unprivileged_lxc","_require_exact_source","_stream_argv_to_local","cluster_inventory","mapped_scratch_probe","pathlib","proven_lxc_dump_argv","run","ssh_remote"],"lineno":505,"sha256":"c4c22625a9c6a954d0ed93dfc63f0501af0644ca9f5e6781d3b2e50a7e2563ea","source":"def capture_pve_guest(t,gen,work):\n    vmid=int(t['vmid']); rows=[r for r in cluster_inventory() if int(r.get('vmid',-1))==vmid]\n    if len(rows)!=1: raise BackupError('PVE_GUEST_NOT_UNIQUE')\n    row=rows[0]; node=row.get('node'); typ=row.get('type')\n    if typ!=t['guest_type']: raise BackupError('PVE_GUEST_TYPE_DRIFT')\n    if typ=='lxc':\n        _require_exact_source(P270,P270_SHA,'P270_IDENTITY');_require_exact_source(P282,P282_SHA,'P282_IDENTITY')\n        _default_unprivileged_lxc(node,vmid)\n        scratch=f'/var/tmp/homelab-vzdump-v2-{gen}'\n        ssh_remote(node,['install','-d','-m','710','-o','0','-g','100000',scratch],timeout=30)\n        q=ssh_remote(node,['stat','-c','%a:%u:%g',scratch],timeout=30)\n        if q.stdout.decode().strip()!='710:0:100000': raise BackupError('PVE_MAPPED_SCRATCH_ACCESS_CONTRACT')\n        try:\n            mapped_scratch_probe(node,scratch)\n            argv,job=proven_lxc_dump_argv(t,row,node,scratch)\n            local=work/'payload.bin'\n            _stream_argv_to_local(node,argv,local,timeout=7200)\n            if local.stat().st_size>int(job['archive_cap_bytes']): raise BackupError('VZDUMP_ARCHIVE_CAP_EXCEEDED')\n        except Exception:\n            ssh_remote(node,['rm','-rf','--',scratch],timeout=60,check=False);raise\n        cleanup={'kind':'pve_source_dir','node':node,'path':scratch}\n        return local,{'generation':gen,'source_class':'pve_guest','vmid':vmid,'guest_type':typ,'node':node,'status':row.get('status'),'producer_contract':'proven-270-282-stream'},cleanup\n    # QEMU path remains unchanged: bounded dedicated dumpdir with later cloud readback/reconstruction.\n    srcdir=f'/var/tmp/homelab-vzdump-v2-{gen}'\n    ssh_remote(node,['install','-d','-m','700','-o','0','-g','0',srcdir],timeout=30)\n    try:\n        ssh_remote(node,['vzdump',str(vmid),'--mode','snapshot','--compress','zstd','--dumpdir',srcdir],timeout=7200)\n        p=ssh_remote(node,['find',srcdir,'-maxdepth','1','-type','f','-printf','%p\\n'],timeout=30)\n        files=[x for x in p.stdout.decode().splitlines() if x.strip()]\n        if len(files)!=1: raise BackupError('VZDUMP_OUTPUT_NOT_UNIQUE')\n        src=files[0];local=work/'payload.bin'\n        if node=='pve01': local=pathlib.Path(src)\n        else: run([SCP,'-q','-o','BatchMode=yes','-o','StrictHostKeyChecking=yes','root@'+node+':'+src,str(local)],timeout=7200)\n        if not pathlib.Path(local).is_file() or pathlib.Path(local).stat().st_size<=0: raise BackupError('VZDUMP_PAYLOAD_MISSING')\n    except Exception:\n        ssh_remote(node,['rm','-rf','--',srcdir],timeout=60,check=False);raise\n    return pathlib.Path(local),{'generation':gen,'source_class':'pve_guest','vmid':vmid,'guest_type':typ,'node':node,'status':row.get('status')},{'kind':'pve_source_dir','node':node,'path':srcdir}"},"capture_target":{"calls":["BackupError","capture_node_bundle","capture_pve_guest","capture_router","capture_vps_md","capture_vps_spb","capture_vps_us","capture_xenforo"],"end_lineno":880,"globals":["BackupError","capture_node_bundle","capture_pve_guest","capture_router","capture_vps_md","capture_vps_spb","capture_vps_us","capture_xenforo"],"lineno":871,"sha256":"f52cec3a28467da247da0efaffb9523a775b1bb0cab2ce7fef1b1a5923a765bb","source":"def capture_target(t,gen,work):\n    typ=t['type']\n    if typ=='pve_guest': return capture_pve_guest(t,gen,work)\n    if typ=='pve_node_bundle': return capture_node_bundle(t,gen,work)\n    if typ=='vps_md': return capture_vps_md(t,gen,work)\n    if typ=='vps_spb': return capture_vps_spb(t,gen,work)\n    if typ=='vps_us': return capture_vps_us(t,gen,work)\n    if typ=='router': return capture_router(t,gen,work)\n    if typ=='xenforo': return capture_xenforo(t,gen,work)\n    raise BackupError('CAPTURE_TYPE_UNKNOWN')"},"default_targets":{"calls":["append","str"],"end_lineno":174,"globals":[],"lineno":149,"sha256":"0bed1b714e8631494626410eb8791d20d33463cbbb385a680d2f032d656f4c47","source":"def default_targets():\n    d=86400\n    out=[]\n    # PVE guests. Source node is resolved live every run.\n    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:\n        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})\n    for node in ('pve01','pve02','pve03'):\n        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})\n    out += [\n      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'85.121.4.192','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},\n      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'185.225.35.6','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},\n      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'46.16.34.129','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh/fePUci42dfY58I6q0lFiiPHn0/M+mckypmE','due_seconds':d,'enabled':True,'green1':True},\n      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},\n    ]\n    sites=[\n      ('codevipe',160,'pve02','/var/www/forums/codevipe/public','xf_codevipe','single_transaction'),\n      ('dsmods',160,'pve02','/var/www/forums/dsmods/public','xf_dsmods','single_transaction'),\n      ('kingofwolk',160,'pve02','/var/www/forums/kingofwolk/public','xf_kingofwolk','single_transaction'),\n      ('newfi',210,'pve01','/var/www/forums/newfi/public','xf_newfi','single_transaction'),\n      ('gamevipe',160,'pve02','/var/www/forums/gamevipe/public','xf_gamevipe','global_read_lock'),\n      ('hkmods',160,'pve02','/var/www/forums/hkmods/public','xf_hkmods','global_read_lock'),\n      ('zakrutim',160,'pve02','/var/www/forums/zakrutim/public','xf_zakrutim','global_read_lock')]\n    for slug,vmid,node,root,db,strategy in sites:\n        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})\n    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})\n    return out"},"green_run":{"calls":["BackupError","append","backup_target","bootstrap_vps_keys","dumps","ensure_router_known_hosts","get","join","len","load_targets","print","sub","sum","upper"],"end_lineno":953,"globals":["BackupError","backup_target","bootstrap_vps_keys","e","ensure_router_known_hosts","json","load_targets","re"],"lineno":928,"sha256":"b56b1733abaa16f96d93caa0c4dc16a868303aa6ec045acdfdd73bd7cd6e48c1","source":"def green_run(label):\n    targets=load_targets(); chosen=[t for t in targets if t.get('green1')]\n    # Bootstrap is idempotent and only affects authorized_keys for the already-proven operator accounts.\n    boots=bootstrap_vps_keys(targets)\n    ensure_router_known_hosts()\n    print('VPS_OPERATOR_KEY_BOOTSTRAP='+json.dumps(boots,sort_keys=True,separators=(',',':')))\n    results=[]; failures=[]\n    for t in chosen:\n        key=re.sub(r'[^A-Za-z0-9]+','_',t['logical_id']).upper()\n        try:\n            r=backup_target(t,green_verify=(t['type']!='control'))\n            results.append(r); print(f'{label}_{key}=PASS')\n            print(f'{label}_{key}_GENERATION={r[\"generation\"]}')\n            print(f'{label}_{key}_PAYLOAD_BYTES={r.get(\"payload_bytes\",0)}')\n            print(f'{label}_{key}_REPLICAS={r.get(\"replicas\",0)}')\n            if 'allocator_healthy' in r: print(f'{label}_{key}_ALLOCATOR_HEALTHY={r[\"allocator_healthy\"]}')\n        except BackupError as e:\n            failures.append((t['logical_id'],e.code)); print(f'{label}_{key}=FAIL'); print(f'{label}_{key}_REASON={e.code}')\n    print(f'{label}_TARGET_COUNT={len(chosen)}')\n    print(f'{label}_PASS_COUNT={len(results)}')\n    print(f'{label}_FAIL_COUNT={len(failures)}')\n    print(f'{label}_CLOUD_BACKUP_TARGET_COUNT={sum(1 for t in chosen if t[\"type\"]!=\"control\")}')\n    print(f'{label}_CONTROL_VERIFY_TARGET_COUNT={sum(1 for t in chosen if t[\"type\"]==\"control\")}')\n    if failures: raise BackupError(label+'_TARGET_FAILURES',','.join(x[0] for x in failures))\n    print(f'{label}=PASS')\n    return 0"},"load_targets":{"calls":["BackupError","get","isinstance","len","loads","read_text","set"],"end_lineno":241,"globals":["BackupError","TARGETS_PATH","json"],"lineno":236,"sha256":"5eb044cbf911794272bd845409ac17191e79ef933a3875e10e057c17ac1c6787","source":"def load_targets():\n    j=json.loads(TARGETS_PATH.read_text())\n    if j.get('schema')!=1 or not isinstance(j.get('targets'),list): raise BackupError('TARGET_MANIFEST_SCHEMA')\n    ids=[x.get('logical_id') for x in j['targets']]\n    if len(ids)!=len(set(ids)): raise BackupError('TARGET_MANIFEST_DUPLICATE')\n    return j['targets']"},"main":{"calls":["discover","green_run","len","print","scheduled_run","selftest"],"end_lineno":1011,"globals":["discover","green_run","scheduled_run","selftest"],"lineno":1003,"sha256":"ce5195c9e6a88c411449b1bb57a694c67abc63e1368c96e83fbfc2aadaa08107","source":"def main(argv):\n    if len(argv)<2: print('USAGE'); return 64\n    cmd=argv[1]\n    if cmd=='selftest': return selftest()\n    if cmd=='green1': return green_run('GREEN1')\n    if cmd=='green2': return green_run('GREEN2')\n    if cmd=='scheduled': return scheduled_run()\n    if cmd=='discover' and len(argv)==3: return discover(argv[2])\n    print('UNKNOWN_COMMAND'); return 64"},"scheduled_run":{"calls":["backup_target","choose_due_target","load_state_all","load_targets","print"],"end_lineno":963,"globals":["BackupError","backup_target","choose_due_target","e","load_state_all","load_targets"],"lineno":955,"sha256":"e082c5c8141f2c00c0dd8a74da199fd480f34792f64c591757bcbd2893b084d8","source":"def scheduled_run():\n    targets=load_targets(); state=load_state_all(); t=choose_due_target(targets,state)\n    if t is None:\n        print('SCHEDULE_DECISION=DEFER_NO_DUE_TARGET'); return 0\n    print('SCHEDULE_TARGET='+t['logical_id'])\n    try: backup_target(t,green_verify=False)\n    except BackupError as e:\n        print('SCHEDULE_RESULT=FAIL'); print('SCHEDULE_REASON='+e.code); return 2\n    print('SCHEDULE_RESULT=SUCCESS'); return 0"},"selftest":{"calls":["_isolated_release_graph_selftest","_pve_dumpdir_spec","default_targets","get","is_file","len","print","proven_lxc_dump_argv"],"end_lineno":1001,"globals":["GUEST266","GUEST266_SHA","P282_SHA","PART_SIZE","REMOTES","_isolated_release_graph_selftest","_pve_dumpdir_spec","default_targets","proven_lxc_dump_argv"],"lineno":987,"sha256":"0ed8f5298ec16a19de775b6206f592fac396dc2b0800d10ebc241b25787a40f3","source":"def selftest():\n    assert PART_SIZE==536870912\n    assert len(REMOTES)==13 and len({p for _,p in REMOTES})==13\n    assert len(default_targets())>=28\n    assert {t['logical_id'] for t in default_targets() if t.get('green1')}=={'ct112','node-pve01','md-relay','spb-ingress','us-netbird','router-netcraze','xf-codevipe','xf-zakrutim','control-bootstrap-v2'}\n    assert _pve_dumpdir_spec('lxc')==(0o710,100000)\n    assert _pve_dumpdir_spec('qemu')==(0o700,0)\n    assert GUEST266_SHA=='86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868'\n    assert P282_SHA=='73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012'\n    if GUEST266.is_file():\n        assert _isolated_release_graph_selftest() is True\n        av,_=proven_lxc_dump_argv({'vmid':112},{'maxdisk':8350298112,'maxmem':536870912,'status':'running','name':'unbound1'},'pve01','/var/tmp/homelab-vzdump-selftest')\n        assert '--stdout' in av and '--tmpdir' in av and '/var/tmp/homelab-vzdump-selftest' in av\n    print('SELFTEST_ENGINE396=10')\n    return 0"},"write_state":{"calls":["BackupError","atomic_write","canonical_json","epoch","utcnow"],"end_lineno":258,"globals":["BackupError","RESULT_CLASSES","STATE_ROOT","atomic_write","canonical_json","epoch","utcnow"],"lineno":253,"sha256":"8e436f41fb499386eb844cf0a8dfe272342e7ac4c16651c54fbbbdf3aa61a989","source":"def write_state(logical_id,result,**kw):\n    if result not in RESULT_CLASSES: raise BackupError('RESULT_CLASS_INVALID')\n    j={'schema':1,'logical_id':logical_id,'result':result,'updated_at_utc':utcnow(),**kw}\n    if result=='SUCCESS': j['last_success_epoch']=epoch()\n    atomic_write(STATE_ROOT/'state'/(logical_id+'.json'),canonical_json(j)+b'\\n',0o600)\n    return j"}},"missing_optional":[],"path":"/usr/local/sbin/homelab-backup-v2","sha256":"b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7"},"scope":"READ_ONLY_SOURCE_CAPSULE_EXACT_CODE_ONLY_NO_CONFIG_NO_SECRET_NO_BACKUP_NO_CLOUD_NO_SYSTEMD_NO_MUTATION"}
CAPSULE475_END

OUTPUT_END
CHAT_OUTPUT_END
