runtime: publish SUPPORT-260927-HOMELAB-BACKUP-CT110-CONTROLLED-HELPER-REPLAY-1226R1
This commit is contained in:
+38
File diff suppressed because one or more lines are too long
+143
@@ -0,0 +1,143 @@
|
|||||||
|
CHAT_OUTPUT_BEGIN
|
||||||
|
COMMAND_ID=SUPPORT-260927-HOMELAB-BACKUP-CT110-CONTROLLED-HELPER-REPLAY-1226R1
|
||||||
|
STATUS=OK
|
||||||
|
RC=0
|
||||||
|
HOST=pve01
|
||||||
|
MODE=read-only
|
||||||
|
COMPONENT=homelab-backup-ct110-controlled-helper-replay
|
||||||
|
REFERENCE_REGISTER_CHECK=OK
|
||||||
|
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
||||||
|
ERROR_REGISTER_CHECK=OK
|
||||||
|
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
||||||
|
COMMAND_SHA256=32a5e6c027972640a0f44b6bdd014c002fc0caf8a527b7c84e7ecbf8799f0239
|
||||||
|
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=78769cfe154169eb8d04145ec7c1d4c210deff8c7af9abdada3e9206ec9c2ea5
|
||||||
|
SANITIZED_OUTPUT_SHA256=78769cfe154169eb8d04145ec7c1d4c210deff8c7af9abdada3e9206ec9c2ea5
|
||||||
|
OUTPUT_BEGIN
|
||||||
|
BACKUP_CT110_CONTROLLED_HELPER_REPLAY_BEGIN=true
|
||||||
|
COMMAND_ID=SUPPORT-260927-HOMELAB-BACKUP-CT110-CONTROLLED-HELPER-REPLAY-1226R1
|
||||||
|
MODE=read-only
|
||||||
|
COMPONENT=homelab-backup-ct110-controlled-helper-replay
|
||||||
|
MUTATION_BOUNDARY=TEMP_SCRATCH_UNDER_RUN_PLUS_READ_ONLY_PVESH_PCT_SYSTEMCTL_PS_AND_EXECUTE_ONLY_STATIC_PROVEN_PLANNING_HELPER;NO_CAPTURE_PVE_GUEST;NO_VZDUMP_EXECUTION;NO_BACKUP_UPLOAD;NO_RETENTION;NO_AUDIT_RUN;NO_SYSTEMD_ACTION;NO_LOCK_BREAK;NO_MAIL;NO_GIT_WRITE;NO_NETBIRD_SKLADCHIK_CHANGE
|
||||||
|
HOST=pve01
|
||||||
|
CLUSTER_QUORATE=Yes
|
||||||
|
RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
|
||||||
|
SOURCE_1225_STATUS=OK
|
||||||
|
SOURCE_1225_DECISION=PASS_HELPER_REPLAY_STATIC_SAFETY_PROVEN
|
||||||
|
SOURCE_1225_NEXT_GATE=CONTROLLED_CT110_HELPER_REPLAY_ONLY
|
||||||
|
=== SOURCE_IDENTITY ===
|
||||||
|
LXC_SHA256=3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d
|
||||||
|
HELPER_SHA256=dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011
|
||||||
|
LXC_SHA_MATCH=true
|
||||||
|
HELPER_SHA_MATCH=true
|
||||||
|
=== CONTROLLED_REPLAY ===
|
||||||
|
DIAG_SCRATCH=/run/workers2-1226-gg5z91zs
|
||||||
|
LXC_ENV_AST={'PATH': '/usr/sbin:/usr/bin:/sbin:/bin', 'LC_ALL': 'C', 'LANG': 'C', 'HOME': '/root', 'PYTHONDONTWRITEBYTECODE': '1'}
|
||||||
|
LXC_PVESH_SHA_EXPECTED=9ed13d4c2d82e7864ff0192c428da7669af263f81dfcc84d5a981ca98fee8439
|
||||||
|
LXC_VZDUMP_SHA_EXPECTED=21339d009afd55cb7ec613b64c1f493b2a7dbd18b85b4d712909ef6d6710f4ea
|
||||||
|
LXC_HELPER_CONST=None
|
||||||
|
ENV_RESOLUTION=PASS
|
||||||
|
ENV_KEYS=HOME,LANG,LC_ALL,PATH,PYTHONDONTWRITEBYTECODE
|
||||||
|
ENV_SHA256=456f8e8fc9ebad1ab3986b95605b59ddc935705e06dc61932168f9570df76c90
|
||||||
|
LIVE_PVESH_SHA=9ed13d4c2d82e7864ff0192c428da7669af263f81dfcc84d5a981ca98fee8439
|
||||||
|
LIVE_VZDUMP_SHA=21339d009afd55cb7ec613b64c1f493b2a7dbd18b85b4d712909ef6d6710f4ea
|
||||||
|
PVESH_IDENTITY_MATCH=true
|
||||||
|
VZDUMP_IDENTITY_MATCH=true
|
||||||
|
TOOL_IDENTITY_GATE=PASS
|
||||||
|
CT110_UNPRIVILEGED=true
|
||||||
|
CT110_CONFIG_GATE=PASS
|
||||||
|
BACKUP_SERVICE_STATE_RAW=failed/failed
|
||||||
|
ACTIVE_VZDUMP_PROCESS_COUNT=0
|
||||||
|
CONCURRENCY_GATE=PASS
|
||||||
|
RUN1_INPUT_BYTES=186216
|
||||||
|
RUN1_INPUT_SHA256=430372537fe5a38c3de0ea08d2f30b165177d16fe6b3fe55a90bc823e8265fbf
|
||||||
|
RUN1_ROW_COUNT=15
|
||||||
|
RUN1_CONFIG_COUNT=8
|
||||||
|
RUN1_TASK_COUNT=749
|
||||||
|
RUN1_STAGING_FREE=285682868224
|
||||||
|
RUN1_RC=1
|
||||||
|
RUN1_STDOUT_BYTES=0
|
||||||
|
RUN1_STDOUT_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
||||||
|
RUN1_STDOUT_BEGIN
|
||||||
|
|
||||||
|
RUN1_STDOUT_END
|
||||||
|
RUN1_STDERR_BYTES=898
|
||||||
|
RUN1_STDERR_SHA256=ee3d762267c6d073c4a78f5f96ce6d98ce9b395fecb645ed23853cba7305f9a9
|
||||||
|
RUN1_STDERR_BEGIN
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/fresh_lxc_helper.py", line 45, in <module>
|
||||||
|
raise SystemExit(main())
|
||||||
|
~~~~^^
|
||||||
|
File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/fresh_lxc_helper.py", line 34, in main
|
||||||
|
pve265.validate_job(job,now)
|
||||||
|
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
|
||||||
|
File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/pve265.py", line 126, in validate_job
|
||||||
|
need(job.get('coverage_eligible') is True and job.get('blockers')==[],'JOB_BLOCKED')
|
||||||
|
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/pve265.py", line 32, in need
|
||||||
|
if not ok:raise PVEError(reason)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
pve265.PVEError: JOB_BLOCKED
|
||||||
|
|
||||||
|
RUN1_STDERR_END
|
||||||
|
RUN1_FAILURE_MODE=NONZERO_RC
|
||||||
|
RUN2_INPUT_BYTES=186199
|
||||||
|
RUN2_INPUT_SHA256=09cd393d63f56e95700a678037ebd0099c118036dc7b6fb497482a562473b92f
|
||||||
|
RUN2_ROW_COUNT=15
|
||||||
|
RUN2_CONFIG_COUNT=8
|
||||||
|
RUN2_TASK_COUNT=749
|
||||||
|
RUN2_STAGING_FREE=285682868224
|
||||||
|
RUN2_RC=1
|
||||||
|
RUN2_STDOUT_BYTES=0
|
||||||
|
RUN2_STDOUT_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
||||||
|
RUN2_STDOUT_BEGIN
|
||||||
|
|
||||||
|
RUN2_STDOUT_END
|
||||||
|
RUN2_STDERR_BYTES=898
|
||||||
|
RUN2_STDERR_SHA256=ee3d762267c6d073c4a78f5f96ce6d98ce9b395fecb645ed23853cba7305f9a9
|
||||||
|
RUN2_STDERR_BEGIN
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/fresh_lxc_helper.py", line 45, in <module>
|
||||||
|
raise SystemExit(main())
|
||||||
|
~~~~^^
|
||||||
|
File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/fresh_lxc_helper.py", line 34, in main
|
||||||
|
pve265.validate_job(job,now)
|
||||||
|
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
|
||||||
|
File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/pve265.py", line 126, in validate_job
|
||||||
|
need(job.get('coverage_eligible') is True and job.get('blockers')==[],'JOB_BLOCKED')
|
||||||
|
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/pve265.py", line 32, in need
|
||||||
|
if not ok:raise PVEError(reason)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
pve265.PVEError: JOB_BLOCKED
|
||||||
|
|
||||||
|
RUN2_STDERR_END
|
||||||
|
RUN2_FAILURE_MODE=NONZERO_RC
|
||||||
|
RUN_MODE_STABLE=true
|
||||||
|
RUN_RC_STABLE=true
|
||||||
|
RUN_STDERR_SHA_STABLE=true
|
||||||
|
RUN_JOB_SHA_STABLE=true
|
||||||
|
RUN_ARGV_SHA_STABLE=true
|
||||||
|
REPLAY_PRIMARY_FAILURE_MODE=NONZERO_RC
|
||||||
|
DIAG_SCRATCH_REMOVED=true
|
||||||
|
CONTROLLED_REPLAY_DIAG_RC=0
|
||||||
|
TASK_RESULT=PASS_CT110_CONTROLLED_HELPER_REPLAY_COLLECTED
|
||||||
|
DECISION=PASS_CT110_CONTROLLED_HELPER_REPLAY_COLLECTED
|
||||||
|
NEXT_GATE=READ_EXACT_1226_AND_FIX_ONLY_PROVEN_HELPER_FAILURE_MODE
|
||||||
|
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260927-HOMELAB-BACKUP-CT110-CONTROLLED-HELPER-REPLAY-1226R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
|
||||||
|
|
||||||
|
OUTPUT_END
|
||||||
|
CHAT_OUTPUT_END
|
||||||
+8
-8
File diff suppressed because one or more lines are too long
+112
-132
@@ -1,15 +1,15 @@
|
|||||||
CHAT_OUTPUT_BEGIN
|
CHAT_OUTPUT_BEGIN
|
||||||
COMMAND_ID=SUPPORT-260927-HOMELAB-BACKUP-CT110-HELPER-TRANSITIVE-STATIC-RCA-1225R1
|
COMMAND_ID=SUPPORT-260927-HOMELAB-BACKUP-CT110-CONTROLLED-HELPER-REPLAY-1226R1
|
||||||
STATUS=OK
|
STATUS=OK
|
||||||
RC=0
|
RC=0
|
||||||
HOST=pve01
|
HOST=pve01
|
||||||
MODE=read-only
|
MODE=read-only
|
||||||
COMPONENT=homelab-backup-ct110-helper-transitive-static-rca
|
COMPONENT=homelab-backup-ct110-controlled-helper-replay
|
||||||
REFERENCE_REGISTER_CHECK=OK
|
REFERENCE_REGISTER_CHECK=OK
|
||||||
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
||||||
ERROR_REGISTER_CHECK=OK
|
ERROR_REGISTER_CHECK=OK
|
||||||
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
||||||
COMMAND_SHA256=6d64e36c947c6baf0c7e53d2c17497d65666c040e09535e4223e53e5c8dbfa19
|
COMMAND_SHA256=32a5e6c027972640a0f44b6bdd014c002fc0caf8a527b7c84e7ecbf8799f0239
|
||||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||||
EXECUTION_STARTED=true
|
EXECUTION_STARTED=true
|
||||||
CHANGE_DECLARED=false
|
CHANGE_DECLARED=false
|
||||||
@@ -24,140 +24,120 @@ MUTATION_OUTCOME=NO_MUTATION
|
|||||||
SANITIZED=yes
|
SANITIZED=yes
|
||||||
SECRETS_INCLUDED=no
|
SECRETS_INCLUDED=no
|
||||||
PRIVATE_ADDRESSES_INCLUDED=no
|
PRIVATE_ADDRESSES_INCLUDED=no
|
||||||
RAW_EVIDENCE_SHA256=6d6b105d469ee853c1554e02708bf1d9d5be7c963d4a5f9e7ac8024b6ed2c41b
|
RAW_EVIDENCE_SHA256=78769cfe154169eb8d04145ec7c1d4c210deff8c7af9abdada3e9206ec9c2ea5
|
||||||
SANITIZED_OUTPUT_SHA256=6d6b105d469ee853c1554e02708bf1d9d5be7c963d4a5f9e7ac8024b6ed2c41b
|
SANITIZED_OUTPUT_SHA256=78769cfe154169eb8d04145ec7c1d4c210deff8c7af9abdada3e9206ec9c2ea5
|
||||||
OUTPUT_BEGIN
|
OUTPUT_BEGIN
|
||||||
BACKUP_CT110_HELPER_TRANSITIVE_STATIC_RCA_BEGIN=true
|
BACKUP_CT110_CONTROLLED_HELPER_REPLAY_BEGIN=true
|
||||||
COMMAND_ID=SUPPORT-260927-HOMELAB-BACKUP-CT110-HELPER-TRANSITIVE-STATIC-RCA-1225R1
|
COMMAND_ID=SUPPORT-260927-HOMELAB-BACKUP-CT110-CONTROLLED-HELPER-REPLAY-1226R1
|
||||||
MODE=read-only
|
MODE=read-only
|
||||||
COMPONENT=homelab-backup-ct110-helper-transitive-static-rca
|
COMPONENT=homelab-backup-ct110-controlled-helper-replay
|
||||||
MUTATION_BOUNDARY=PURE_STATIC_AST_ONLY_NO_PROJECT_IMPORT_NO_HELPER_EXECUTION_NO_VZDUMP_NO_SYSTEMD_ACTION_NO_BACKUP_NO_AUDIT_NO_FILE_MUTATION_NO_LOCK_BREAK_NO_GIT_WRITE_NO_NETBIRD_SKLADCHIK_CHANGE
|
MUTATION_BOUNDARY=TEMP_SCRATCH_UNDER_RUN_PLUS_READ_ONLY_PVESH_PCT_SYSTEMCTL_PS_AND_EXECUTE_ONLY_STATIC_PROVEN_PLANNING_HELPER;NO_CAPTURE_PVE_GUEST;NO_VZDUMP_EXECUTION;NO_BACKUP_UPLOAD;NO_RETENTION;NO_AUDIT_RUN;NO_SYSTEMD_ACTION;NO_LOCK_BREAK;NO_MAIL;NO_GIT_WRITE;NO_NETBIRD_SKLADCHIK_CHANGE
|
||||||
HOST=pve01
|
HOST=pve01
|
||||||
CLUSTER_QUORATE=Yes
|
CLUSTER_QUORATE=Yes
|
||||||
RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
|
RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
|
||||||
SOURCE_1224_STATUS=OK
|
SOURCE_1225_STATUS=OK
|
||||||
SOURCE_1224_DECISION=PASS_CT110_HELPER_STATIC_RCA_COLLECTED
|
SOURCE_1225_DECISION=PASS_HELPER_REPLAY_STATIC_SAFETY_PROVEN
|
||||||
SOURCE_1224_NEXT_GATE=READ_EXACT_1224_AND_DECIDE_SAFE_HELPER_REPLAY_OR_SOURCE_FIX
|
SOURCE_1225_NEXT_GATE=CONTROLLED_CT110_HELPER_REPLAY_ONLY
|
||||||
=== TRANSITIVE_STATIC_AST ===
|
=== SOURCE_IDENTITY ===
|
||||||
C411_PY_COUNT=17
|
LXC_SHA256=3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d
|
||||||
C411_FILE=adapter|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/adapter.py|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|BYTES=2989
|
HELPER_SHA256=dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011
|
||||||
C411_FILE=guest266|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/guest266.py|SHA256=86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868|BYTES=7385
|
LXC_SHA_MATCH=true
|
||||||
C411_FILE=large264|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/large264.py|SHA256=5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a|BYTES=16514
|
HELPER_SHA_MATCH=true
|
||||||
C411_FILE=nodeplan263|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/nodeplan263.py|SHA256=db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060|BYTES=4603
|
=== CONTROLLED_REPLAY ===
|
||||||
C411_FILE=pve265|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/pve265.py|SHA256=cd2f634414a8e38a3789015aeca5a9b47821f77d7d1fa61dcdbdc866172963be|BYTES=12888
|
DIAG_SCRATCH=/run/workers2-1226-gg5z91zs
|
||||||
C411_FILE=pve270|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/pve270.py|SHA256=97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef|BYTES=19595
|
LXC_ENV_AST={'PATH': '/usr/sbin:/usr/bin:/sbin:/bin', 'LC_ALL': 'C', 'LANG': 'C', 'HOME': '/root', 'PYTHONDONTWRITEBYTECODE': '1'}
|
||||||
C411_FILE=pve282|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/pve282.py|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|BYTES=6195
|
LXC_PVESH_SHA_EXPECTED=9ed13d4c2d82e7864ff0192c428da7669af263f81dfcc84d5a981ca98fee8439
|
||||||
C411_FILE=restore262|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/restore262.py|SHA256=56d1b961c8d5654d5e2ee2755268db46bd2202bca11e69788febf991cfaa79f1|BYTES=14701
|
LXC_VZDUMP_SHA_EXPECTED=21339d009afd55cb7ec613b64c1f493b2a7dbd18b85b4d712909ef6d6710f4ea
|
||||||
C411_FILE=stream263|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/stream263.py|SHA256=a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16|BYTES=8831
|
LXC_HELPER_CONST=None
|
||||||
C411_FILE=test_guest266|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/test_guest266.py|SHA256=460b950924a475ce0a28dc759512e7dbe2323ae2cc42f7ef4c6181710a2a13da|BYTES=10752
|
ENV_RESOLUTION=PASS
|
||||||
C411_FILE=test_perl270|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/test_perl270.py|SHA256=50fc10865078a7b9b255dc627059824184441a47c4ede52e23f24c1186e3512f|BYTES=5441
|
ENV_KEYS=HOME,LANG,LC_ALL,PATH,PYTHONDONTWRITEBYTECODE
|
||||||
C411_FILE=test_producer282|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/test_producer282.py|SHA256=a67d927cc428935791f9eecc3acf571d089f80761162f4589b7d684fba6b8af7|BYTES=12215
|
ENV_SHA256=456f8e8fc9ebad1ab3986b95605b59ddc935705e06dc61932168f9570df76c90
|
||||||
C411_FILE=test_pve265|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/test_pve265.py|SHA256=16a9407d01bf73db687ef38684c59205fc2e6a9223cd9cee6ec6e8dde9d38707|BYTES=11781
|
LIVE_PVESH_SHA=9ed13d4c2d82e7864ff0192c428da7669af263f81dfcc84d5a981ca98fee8439
|
||||||
C411_FILE=test_pve270|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/test_pve270.py|SHA256=9fccd20b490613fdd5b14b4105cf0d9fd744f204e1ed1d6893e54c9f69bf6fb4|BYTES=12077
|
LIVE_VZDUMP_SHA=21339d009afd55cb7ec613b64c1f493b2a7dbd18b85b4d712909ef6d6710f4ea
|
||||||
C411_FILE=test_pve282|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/test_pve282.py|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|BYTES=5785
|
PVESH_IDENTITY_MATCH=true
|
||||||
C411_FILE=transport261|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/transport261.py|SHA256=b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688|BYTES=15364
|
VZDUMP_IDENTITY_MATCH=true
|
||||||
C411_FILE=v2core|PATH=/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/v2core.py|SHA256=e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2|BYTES=11755
|
TOOL_IDENTITY_GATE=PASS
|
||||||
=== ADAPTER_FULL_SOURCE_BEGIN ===
|
CT110_UNPRIVILEGED=true
|
||||||
0001:#!/usr/bin/python3
|
CT110_CONFIG_GATE=PASS
|
||||||
0002:import hashlib,inspect,json,pathlib,sys
|
BACKUP_SERVICE_STATE_RAW=failed/failed
|
||||||
0003:BASE=pathlib.Path(__file__).resolve().parent
|
ACTIVE_VZDUMP_PROCESS_COUNT=0
|
||||||
0004:EXPECTED={
|
CONCURRENCY_GATE=PASS
|
||||||
0005:'v2core.py':'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2',
|
RUN1_INPUT_BYTES=186216
|
||||||
0006:'transport261.py':'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688',
|
RUN1_INPUT_SHA256=430372537fe5a38c3de0ea08d2f30b165177d16fe6b3fe55a90bc823e8265fbf
|
||||||
0007:'restore262.py':'56d1b961c8d5654d5e2ee2755268db46bd2202bca11e69788febf991cfaa79f1',
|
RUN1_ROW_COUNT=15
|
||||||
0008:'stream263.py':'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16',
|
RUN1_CONFIG_COUNT=8
|
||||||
0009:'nodeplan263.py':'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060',
|
RUN1_TASK_COUNT=749
|
||||||
0010:'large264.py':'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a',
|
RUN1_STAGING_FREE=285682868224
|
||||||
0011:'pve265.py':'cd2f634414a8e38a3789015aeca5a9b47821f77d7d1fa61dcdbdc866172963be',
|
RUN1_RC=1
|
||||||
0012:'guest266.py':'86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868',
|
RUN1_STDOUT_BYTES=0
|
||||||
0013:'pve270.py':'97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef',
|
RUN1_STDOUT_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
||||||
0014:'pve282.py':'73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012'}
|
RUN1_STDOUT_BEGIN
|
||||||
0015:def sha(p):
|
|
||||||
0016: h=hashlib.sha256()
|
RUN1_STDOUT_END
|
||||||
0017: with open(p,'rb') as f:
|
RUN1_STDERR_BYTES=898
|
||||||
0018: for b in iter(lambda:f.read(1048576),b''):h.update(b)
|
RUN1_STDERR_SHA256=ee3d762267c6d073c4a78f5f96ce6d98ce9b395fecb645ed23853cba7305f9a9
|
||||||
0019: return h.hexdigest()
|
RUN1_STDERR_BEGIN
|
||||||
0020:def verify_sources():
|
Traceback (most recent call last):
|
||||||
0021: for name,want in EXPECTED.items():
|
File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/fresh_lxc_helper.py", line 45, in <module>
|
||||||
0022: p=BASE/name
|
raise SystemExit(main())
|
||||||
0023: if not p.is_file() or p.is_symlink() or sha(p)!=want:raise RuntimeError('SOURCE_IDENTITY_'+name)
|
~~~~^^
|
||||||
0024:def load_graph():
|
File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/fresh_lxc_helper.py", line 34, in main
|
||||||
0025: import guest266,pve265,pve270,pve282
|
pve265.validate_job(job,now)
|
||||||
0026: if hasattr(guest266,'dump_argv'):raise RuntimeError('GUEST266_UNEXPECTED_DUMP_ARGV')
|
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
|
||||||
0027: if not hasattr(pve265,'dump_argv'):raise RuntimeError('PVE265_DUMP_ARGV_MISSING')
|
File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/pve265.py", line 126, in validate_job
|
||||||
0028: if getattr(pve270,'old',None) is not pve265:raise RuntimeError('PVE270_OLD_NOT_PVE265')
|
need(job.get('coverage_eligible') is True and job.get('blockers')==[],'JOB_BLOCKED')
|
||||||
0029: if getattr(pve282,'old',None) is not pve265:raise RuntimeError('PVE282_OLD_NOT_PVE265')
|
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
0030: if getattr(pve282,'proven',None) is not pve270:raise RuntimeError('PVE282_PROVEN_NOT_PVE270')
|
File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/pve265.py", line 32, in need
|
||||||
0031: for n in ('MappedScratch','capture_archive','validate_mapping'):
|
if not ok:raise PVEError(reason)
|
||||||
0032: if not hasattr(pve270,n):raise RuntimeError('PVE270_'+n.upper()+'_MISSING')
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
0033: if getattr(pve282,n,None) is not getattr(pve270,n):raise RuntimeError('PVE282_ALIAS_'+n.upper()+'_MISMATCH')
|
pve265.PVEError: JOB_BLOCKED
|
||||||
0034: return guest266,pve265,pve270,pve282
|
|
||||||
0035:def describe():
|
RUN1_STDERR_END
|
||||||
0036: _,p265,p270,p282=load_graph()
|
RUN1_FAILURE_MODE=NONZERO_RC
|
||||||
0037: funcs={'pve265.dump_argv':p265.dump_argv,'pve265.validate_job':p265.validate_job,'pve265.make_plan':p265.make_plan,'pve270.validate_mapping':p270.validate_mapping,'pve270.capture_archive':p270.capture_archive,'pve270.produce':p270.produce,'pve282.select112':p282.select112,'pve282.produce':p282.produce}
|
RUN2_INPUT_BYTES=186199
|
||||||
0038: return {'schema':1,'bundle':'pve-lxc-adapter-411r1','source_sha256':EXPECTED,'signatures':{k:str(inspect.signature(v)) for k,v in funcs.items()},'owner':{'dump_argv':'pve265','MappedScratch':'pve270','capture_archive':'pve270','validate_mapping':'pve270','pve282.old':'pve265','pve282.proven':'pve270'}}
|
RUN2_INPUT_SHA256=09cd393d63f56e95700a678037ebd0099c118036dc7b6fb497482a562473b92f
|
||||||
0039:def main():
|
RUN2_ROW_COUNT=15
|
||||||
0040: verify_sources(); mode=sys.argv[1] if len(sys.argv)>1 else 'selftest'; d=describe()
|
RUN2_CONFIG_COUNT=8
|
||||||
0041: if mode not in ('selftest','describe'):raise SystemExit(2)
|
RUN2_TASK_COUNT=749
|
||||||
0042: print(json.dumps(d,sort_keys=True,separators=(',',':')))
|
RUN2_STAGING_FREE=285682868224
|
||||||
0043: if mode=='selftest':print('ADAPTER_SELFTEST=PASS')
|
RUN2_RC=1
|
||||||
0044:if __name__=='__main__':main()
|
RUN2_STDOUT_BYTES=0
|
||||||
=== ADAPTER_FULL_SOURCE_END ===
|
RUN2_STDOUT_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
||||||
=== ADAPTER_FUNC_verify_sources_BEGIN ===
|
RUN2_STDOUT_BEGIN
|
||||||
0001:def verify_sources():
|
|
||||||
0002: for name,want in EXPECTED.items():
|
RUN2_STDOUT_END
|
||||||
0003: p=BASE/name
|
RUN2_STDERR_BYTES=898
|
||||||
0004: if not p.is_file() or p.is_symlink() or sha(p)!=want:raise RuntimeError('SOURCE_IDENTITY_'+name)
|
RUN2_STDERR_SHA256=ee3d762267c6d073c4a78f5f96ce6d98ce9b395fecb645ed23853cba7305f9a9
|
||||||
=== ADAPTER_FUNC_verify_sources_END ===
|
RUN2_STDERR_BEGIN
|
||||||
=== ADAPTER_FUNC_load_graph_BEGIN ===
|
Traceback (most recent call last):
|
||||||
0001:def load_graph():
|
File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/fresh_lxc_helper.py", line 45, in <module>
|
||||||
0002: import guest266,pve265,pve270,pve282
|
raise SystemExit(main())
|
||||||
0003: if hasattr(guest266,'dump_argv'):raise RuntimeError('GUEST266_UNEXPECTED_DUMP_ARGV')
|
~~~~^^
|
||||||
0004: if not hasattr(pve265,'dump_argv'):raise RuntimeError('PVE265_DUMP_ARGV_MISSING')
|
File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/fresh_lxc_helper.py", line 34, in main
|
||||||
0005: if getattr(pve270,'old',None) is not pve265:raise RuntimeError('PVE270_OLD_NOT_PVE265')
|
pve265.validate_job(job,now)
|
||||||
0006: if getattr(pve282,'old',None) is not pve265:raise RuntimeError('PVE282_OLD_NOT_PVE265')
|
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
|
||||||
0007: if getattr(pve282,'proven',None) is not pve270:raise RuntimeError('PVE282_PROVEN_NOT_PVE270')
|
File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/pve265.py", line 126, in validate_job
|
||||||
0008: for n in ('MappedScratch','capture_archive','validate_mapping'):
|
need(job.get('coverage_eligible') is True and job.get('blockers')==[],'JOB_BLOCKED')
|
||||||
0009: if not hasattr(pve270,n):raise RuntimeError('PVE270_'+n.upper()+'_MISSING')
|
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
0010: if getattr(pve282,n,None) is not getattr(pve270,n):raise RuntimeError('PVE282_ALIAS_'+n.upper()+'_MISMATCH')
|
File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/candidate411/pve265.py", line 32, in need
|
||||||
0011: return guest266,pve265,pve270,pve282
|
if not ok:raise PVEError(reason)
|
||||||
=== ADAPTER_FUNC_load_graph_END ===
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
ADAPTER_REACHABLE_FUNCTIONS=load_graph,sha,verify_sources
|
pve265.PVEError: JOB_BLOCKED
|
||||||
ADAPTER_REACHABLE_EDGES=[["verify_sources","sha"]]
|
|
||||||
ADAPTER_REACHABLE_CALLS=[{"args":["guest266","'dump_argv'"],"func":"hasattr","kw":[],"lineno":26,"owner":"load_graph"},{"args":["'GUEST266_UNEXPECTED_DUMP_ARGV'"],"func":"RuntimeError","kw":[],"lineno":26,"owner":"load_graph"},{"args":["pve265","'dump_argv'"],"func":"hasattr","kw":[],"lineno":27,"owner":"load_graph"},{"args":["'PVE265_DUMP_ARGV_MISSING'"],"func":"RuntimeError","kw":[],"lineno":27,"owner":"load_graph"},{"args":["pve270","'old'","None"],"func":"getattr","kw":[],"lineno":28,"owner":"load_graph"},{"args":["'PVE270_OLD_NOT_PVE265'"],"func":"RuntimeError","kw":[],"lineno":28,"owner":"load_graph"},{"args":["pve282","'old'","None"],"func":"getattr","kw":[],"lineno":29,"owner":"load_graph"},{"args":["'PVE282_OLD_NOT_PVE265'"],"func":"RuntimeError","kw":[],"lineno":29,"owner":"load_graph"},{"args":["pve282","'proven'","None"],"func":"getattr","kw":[],"lineno":30,"owner":"load_graph"},{"args":["'PVE282_PROVEN_NOT_PVE270'"],"func":"RuntimeError","kw":[],"lineno":30,"owner":"load_graph"},{"args":["pve270","n"],"func":"hasattr","kw":[],"lineno":32,"owner":"load_graph"},{"args":["'PVE270_' + n.upper() + '_MISSING'"],"func":"RuntimeError","kw":[],"lineno":32,"owner":"load_graph"},{"args":["pve282","n","None"],"func":"getattr","kw":[],"lineno":33,"owner":"load_graph"},{"args":["pve270","n"],"func":"getattr","kw":[],"lineno":33,"owner":"load_graph"},{"args":["'PVE282_ALIAS_' + n.upper() + '_MISMATCH'"],"func":"RuntimeError","kw":[],"lineno":33,"owner":"load_graph"},{"args":[],"func":"n.upper","kw":[],"lineno":32,"owner":"load_graph"},{"args":[],"func":"n.upper","kw":[],"lineno":33,"owner":"load_graph"},{"args":[],"func":"hashlib.sha256","kw":[],"lineno":16,"owner":"sha"},{"args":[],"func":"h.hexdigest","kw":[],"lineno":19,"owner":"sha"},{"args":["p","'rb'"],"func":"open","kw":[],"lineno":17,"owner":"sha"},{"args":["lambda: f.read(1048576)","b''"],"func":"iter","kw":[],"lineno":18,"owner":"sha"},{"args":["b"],"func":"h.update","kw":[],"lineno":18,"owner":"sha"},{"args":["1048576"],"func":"f.read","kw":[],"lineno":18,"owner":"sha"},{"args":[],"func":"EXPECTED.items","kw":[],"lineno":21,"owner":"verify_sources"},{"args":[],"func":"p.is_symlink","kw":[],"lineno":23,"owner":"verify_sources"},{"args":["'SOURCE_IDENTITY_' + name"],"func":"RuntimeError","kw":[],"lineno":23,"owner":"verify_sources"},{"args":[],"func":"p.is_file","kw":[],"lineno":23,"owner":"verify_sources"},{"args":["p"],"func":"sha","kw":[],"lineno":23,"owner":"verify_sources"}]
|
RUN2_STDERR_END
|
||||||
ADAPTER_REACHABLE_SIDE_EFFECT_CALLS=[]
|
RUN2_FAILURE_MODE=NONZERO_RC
|
||||||
ADAPTER_REACHABLE_SIDE_EFFECT_CALL_COUNT=0
|
RUN_MODE_STABLE=true
|
||||||
LOCAL_IMPORT_GRAPH={"adapter":[]}
|
RUN_RC_STABLE=true
|
||||||
LOCAL_IMPORT_GRAPH_MODULES=adapter
|
RUN_STDERR_SHA_STABLE=true
|
||||||
MODULE_adapter_TOPLEVEL_CALLS=[{"args":[],"func":"resolve","kw":[],"lineno":3},{"args":["__file__"],"func":"pathlib.Path","kw":[],"lineno":3},{"args":[],"func":"main","kw":[],"lineno":44}]
|
RUN_JOB_SHA_STABLE=true
|
||||||
MODULE_adapter_TOPLEVEL_SIDE_EFFECT_CALLS=[]
|
RUN_ARGV_SHA_STABLE=true
|
||||||
LOCAL_IMPORT_TOPLEVEL_SIDE_EFFECT_CALLS=[]
|
REPLAY_PRIMARY_FAILURE_MODE=NONZERO_RC
|
||||||
LOCAL_IMPORT_TOPLEVEL_SIDE_EFFECT_COUNT=0
|
DIAG_SCRATCH_REMOVED=true
|
||||||
GUEST266_FOUND=true
|
CONTROLLED_REPLAY_DIAG_RC=0
|
||||||
=== GUEST266_NO_ACTIVE_TASKS_BEGIN ===
|
TASK_RESULT=PASS_CT110_CONTROLLED_HELPER_REPLAY_COLLECTED
|
||||||
0001:def no_active_tasks(rows,vmid):
|
DECISION=PASS_CT110_CONTROLLED_HELPER_REPLAY_COLLECTED
|
||||||
0002: t.need(type(rows) is list and len(rows)<1000,'ACTIVE_TASKS_TRUNCATED_OR_INVALID')
|
NEXT_GATE=READ_EXACT_1226_AND_FIX_ONLY_PROVEN_HELPER_FAILURE_MODE
|
||||||
0003: for task in rows:
|
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260927-HOMELAB-BACKUP-CT110-CONTROLLED-HELPER-REPLAY-1226R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
|
||||||
0004: t.need(type(task) is dict and type(task.get('type')) is str,'ACTIVE_TASK_SCHEMA')
|
|
||||||
0005: # The active index includes completed, not-yet-archived tasks.
|
|
||||||
0006: if type(task.get('endtime')) is int and task.get('status') not in (None,'RUNNING'):continue
|
|
||||||
0007: kind=task['type'];target=str(task.get('id',''))
|
|
||||||
0008: if kind in ('vncshell','vncterm','vncproxy','spiceproxy'):continue
|
|
||||||
0009: t.need(target!=str(vmid) and not any(x in kind.lower() for x in ('dump','restore','migrat','snapshot','clone','move_disk','resize')),'COMPETING_PVE_TASK')
|
|
||||||
=== GUEST266_NO_ACTIVE_TASKS_END ===
|
|
||||||
GUEST266_REACHABLE_FUNCTIONS=no_active_tasks
|
|
||||||
GUEST266_REACHABLE_EDGES=[]
|
|
||||||
GUEST266_REACHABLE_CALLS=[{"args":["type(rows) is list and len(rows) < 1000","'ACTIVE_TASKS_TRUNCATED_OR_INVALID'"],"func":"t.need","kw":[],"lineno":60,"owner":"no_active_tasks"},{"args":["type(task) is dict and type(task.get('type')) is str","'ACTIVE_TASK_SCHEMA'"],"func":"t.need","kw":[],"lineno":62,"owner":"no_active_tasks"},{"args":["task.get('id', '')"],"func":"str","kw":[],"lineno":65,"owner":"no_active_tasks"},{"args":["target != str(vmid) and (not any((x in kind.lower() for x in ('dump', 'restore', 'migrat', 'snapshot', 'clone', 'move_disk', 'resize'))))","'COMPETING_PVE_TASK'"],"func":"t.need","kw":[],"lineno":67,"owner":"no_active_tasks"},{"args":["'id'","''"],"func":"task.get","kw":[],"lineno":65,"owner":"no_active_tasks"},{"args":["rows"],"func":"type","kw":[],"lineno":60,"owner":"no_active_tasks"},{"args":["rows"],"func":"len","kw":[],"lineno":60,"owner":"no_active_tasks"},{"args":["task.get('endtime')"],"func":"type","kw":[],"lineno":64,"owner":"no_active_tasks"},{"args":["'status'"],"func":"task.get","kw":[],"lineno":64,"owner":"no_active_tasks"},{"args":["task"],"func":"type","kw":[],"lineno":62,"owner":"no_active_tasks"},{"args":["task.get('type')"],"func":"type","kw":[],"lineno":62,"owner":"no_active_tasks"},{"args":["'endtime'"],"func":"task.get","kw":[],"lineno":64,"owner":"no_active_tasks"},{"args":["vmid"],"func":"str","kw":[],"lineno":67,"owner":"no_active_tasks"},{"args":["(x in kind.lower() for x in ('dump', 'restore', 'migrat', 'snapshot', 'clone', 'move_disk', 'resize'))"],"func":"any","kw":[],"lineno":67,"owner":"no_active_tasks"},{"args":["'type'"],"func":"task.get","kw":[],"lineno":62,"owner":"no_active_tasks"},{"args":[],"func":"kind.lower","kw":[],"lineno":67,"owner":"no_active_tasks"}]
|
|
||||||
GUEST266_REACHABLE_SIDE_EFFECT_CALLS=[]
|
|
||||||
GUEST266_REACHABLE_SIDE_EFFECT_CALL_COUNT=0
|
|
||||||
TRANSITIVE_STATIC_REPLAY_SAFE=true
|
|
||||||
STATIC_TRANSITIVE_ANALYSIS_COMPLETE=true
|
|
||||||
STATIC_TRANSITIVE_RC=0
|
|
||||||
TRANSITIVE_STATIC_REPLAY_SAFE_SUMMARY=true
|
|
||||||
TASK_RESULT=PASS_CT110_HELPER_TRANSITIVE_STATIC_SAFE
|
|
||||||
DECISION=PASS_HELPER_REPLAY_STATIC_SAFETY_PROVEN
|
|
||||||
NEXT_GATE=CONTROLLED_CT110_HELPER_REPLAY_ONLY
|
|
||||||
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260927-HOMELAB-BACKUP-CT110-HELPER-TRANSITIVE-STATIC-RCA-1225R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
|
|
||||||
|
|
||||||
OUTPUT_END
|
OUTPUT_END
|
||||||
CHAT_OUTPUT_END
|
CHAT_OUTPUT_END
|
||||||
|
|||||||
Reference in New Issue
Block a user