CHAT_OUTPUT_BEGIN
COMMAND_ID=SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-VALIDATE-JOB-CONTRACT-RCA-418R1
STATUS=OK
RC=0
HOST=pve01
MODE=read-only
COMPONENT=infra-dr-backupv2-pve-lxc-validate-job-contract-rca
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=487104a0f1e32fc27a061c9ca66626190f1b705acf24ee60565ac281c6b27193
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=83df9c98a4c471a512513a93f3200dda903362005293932c39b5a0320135e029
SANITIZED_OUTPUT_SHA256=83df9c98a4c471a512513a93f3200dda903362005293932c39b5a0320135e029
OUTPUT_BEGIN
COMMAND_ID=SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-VALIDATE-JOB-CONTRACT-RCA-418R1
MODE=READ_ONLY_PVE_LXC_VALIDATE_JOB_CONTRACT_RCA
NO_PVE_SUBPROCESS=YES
NO_BACKUP_EXECUTION=YES
NO_VZDUMP_EXECUTION=YES
NO_CLOUD_ACCESS=YES
NO_SYSTEMD_MUTATION=YES
NO_PRODUCTION_PROMOTION=YES
ANCHOR_BINDINGS=PASS
PRODUCTION_AND_CANDIDATE_IDENTITY=PASS
EXACT_OWNER_GRAPH=PASS
PVE265_VALIDATE_JOB_CONTRACT={"need_calls":[{"code":"JOB_SCHEMA","line":2,"predicate":"type(job) is dict and type(now) is int"},{"code":"VMID","line":3,"predicate":"type(job.get('vmid')) is int and 100 <= job['vmid'] <= 999999999"},{"code":"JOB_KIND","line":4,"predicate":"job.get('type') in ('qemu', 'lxc') and np.valid_id(job.get('node'))"},{"code":"JOB_BLOCKED","line":5,"predicate":"job.get('coverage_eligible') is True and job.get('blockers') == []"},{"code":"PLAN_STALE_OR_FUTURE","line":6,"predicate":"type(job.get('observed_at')) is int and 0 <= now - job['observed_at'] <= PLAN_TTL"},{"code":"JOB_CONFIG_ANCHOR","line":7,"predicate":"core.valid_hash(job.get('config_sha256'))"},{"code":"ARCHIVE_CAP","line":8,"predicate":"type(job.get('archive_cap_bytes')) is int and 0 < job['archive_cap_bytes'] <= stream.MAX_BYTES"},{"code":"JOB_STATE","line":9,"predicate":"job.get('status') == 'running' and job.get('template') is False"}],"signature":"(job, now)","source":"def validate_job(job,now):\n    need(type(job) is dict and type(now) is int,'JOB_SCHEMA')\n    need(type(job.get('vmid')) is int and 100<=job['vmid']<=999999999,'VMID')\n    need(job.get('type') in ('qemu','lxc') and np.valid_id(job.get('node')),'JOB_KIND')\n    need(job.get('coverage_eligible') is True and job.get('blockers')==[],'JOB_BLOCKED')\n    need(type(job.get('observed_at')) is int and 0<=now-job['observed_at']<=PLAN_TTL,'PLAN_STALE_OR_FUTURE')\n    need(core.valid_hash(job.get('config_sha256')),'JOB_CONFIG_ANCHOR')\n    need(type(job.get('archive_cap_bytes')) is int and 0<job['archive_cap_bytes']<=stream.MAX_BYTES,'ARCHIVE_CAP')\n    need(job.get('status')=='running' and job.get('template') is False,'JOB_STATE')\n","source_sha256":"89276143f6864d62730eee7eddca2320660106018517d2d144b8a79a92e01133"}
PVE265_PRODUCE_SIGNATURE="(job, work, tools, guard, seconds=14400)"
PVE270_PRODUCE_SIGNATURE="(job, work, tools, guard, *, mapping, seconds=14400, emit=<function <lambda> at 0x7b121a4313a0>)"
PVE282_PRODUCE_SIGNATURE="(job, work, tools, guard, *, mapping, expected_config, seconds=14400, emit=<function <lambda> at 0x7b121a433880>)"
PVE282_SELECT112_SIGNATURE="(current, baseline, now)"
VALIDATE_JOB_CALL_SITES=[{"calls":[{"call":"validate_job(job, now)","line":133,"owner":"dump_argv"},{"call":"validate_job(job, int(time.time()))","line":205,"owner":"produce"}],"file":"pve265.py","sha256":"cd2f634414a8e38a3789015aeca5a9b47821f77d7d1fa61dcdbdc866172963be"},{"calls":[{"call":"old.validate_job(job, int(time.time()))","line":293,"owner":"produce"}],"file":"pve270.py","sha256":"97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef"},{"calls":[{"call":"old.validate_job(job, now)","line":39,"owner":"select112"},{"call":"old.validate_job(job, int(time.time()))","line":66,"owner":"produce"}],"file":"pve282.py","sha256":"73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012"},{"calls":[{"call":"producer.validate_job(job, clock())","line":85,"owner":"run_flow"},{"call":"producer.validate_job(job, now)","line":38,"owner":"choose"}],"file":"guest266.py","sha256":"86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868"},{"calls":[],"file":"test_pve265.py","sha256":"16a9407d01bf73db687ef38684c59205fc2e6a9223cd9cee6ec6e8dde9d38707"},{"calls":[],"file":"test_pve270.py","sha256":"9fccd20b490613fdd5b14b4105cf0d9fd744f204e1ed1d6893e54c9f69bf6fb4"},{"calls":[],"file":"test_producer282.py","sha256":"a67d927cc428935791f9eecc3acf571d089f80761162f4589b7d684fba6b8af7"},{"calls":[],"file":"test_pve282.py","sha256":"1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4"}]
PVE265_PRODUCE_SOURCE_SHA256=d0659237df958ee02e24360721d2664177266e8a53bd5eb68d6655480e923f67
PVE270_PRODUCE_SOURCE_SHA256=8054e713b79b176819d990bb21c0430b909a11732850662638f60550fe574bdc
PVE282_PRODUCE_SOURCE_SHA256=a0d4189cc4f06d9ab9dbf34e619f93554f6386789c48d55b41d97294fa32f2e3
PVE265_PRODUCE_RELEVANT_LINES=[{"line":7,"text":"need(callable(guard),'GUARD_REQUIRED');guard();validate_job(job,int(time.time()));validate_tools(tools)"},{"line":16,"text":"result=capture_archive(dump_argv(job,tools['vzdump']['path'],tmp,int(time.time())),dest,job['archive_cap_bytes'],seconds,free_guard)"},{"line":17,"text":"guard();validate_tools(tools)"},{"line":22,"text":"guard();validate_tools(tools)"}]
PVE270_PRODUCE_RELEVANT_LINES=[{"line":2,"text":"need(callable(guard),'GUARD_REQUIRED');guard();old.validate_job(job,int(time.time()));old.validate_tools(tools)"},{"line":4,"text":"uid,gid=validate_mapping(mapping)"},{"line":12,"text":"scratch=MappedScratch(gid)"},{"line":21,"text":"result=capture_archive(old.dump_argv(job,tools['vzdump']['path'],scratch.path,int(time.time())),dest,job['archive_cap_bytes'],seconds,free_guard)"},{"line":22,"text":"guard();old.validate_tools(tools)"},{"line":27,"text":"guard();old.validate_tools(tools);scratch.close(empty_only=True);complete=True;emit('PVE_TEMP_EMPTY_REMOVED','YES')"}]
PVE282_PRODUCE_RELEVANT_LINES=[{"line":2,"text":"need(callable(guard),'GUARD_REQUIRED');guard();old.validate_job(job,int(time.time()));old.validate_tools(tools)"},{"line":4,"text":"uid,gid=validate_mapping(mapping)"},{"line":12,"text":"scratch=MappedScratch(gid)"},{"line":21,"text":"result=capture_archive(old.dump_argv(job,tools['vzdump']['path'],scratch.path,int(time.time())),dest,job['archive_cap_bytes'],seconds,free_guard)"},{"line":22,"text":"guard();old.validate_tools(tools)"},{"line":27,"text":"guard();old.validate_tools(tools);scratch.close(empty_only=True);complete=True;emit('PVE_TEMP_EMPTY_REMOVED','YES')"}]
PRODUCTION_POST_RCA_UNCHANGED=PASS
CANDIDATE_POST_RCA_UNCHANGED=PASS
STATUS=OK
PHASE=COMPLETE
REASON=NONE
NEXT_GATE=PVE_LXC_CORRECTED_VALIDATE_JOB_FRESH_PLAN_DRY_RUN
CHANGES_MADE=false
MUTATION_OUTCOME=NO_MUTATION
PRODUCTION_PROMOTION=NO
BACKUP_EXECUTIONS=0
VZDUMP_EXECUTIONS=0
CLOUD_WRITES=0
CLOUD_DELETIONS=0
SYSTEMD_MUTATIONS=0
SCHEDULER_CUTOVER=NO
LEGACY_BACKUP_DISABLES=0
HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-VALIDATE-JOB-CONTRACT-RCA-418R1","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}

OUTPUT_END
CHAT_OUTPUT_END
