180 lines
16 KiB
Plaintext
180 lines
16 KiB
Plaintext
CHAT_OUTPUT_BEGIN
|
|
COMMAND_ID=SUPPORT-260924-HOMELAB-MOLDOVA-RELEASE-AUTH-EXACT-1146R1
|
|
STATUS=OK
|
|
RC=0
|
|
HOST=pve01
|
|
MODE=read-only
|
|
COMPONENT=homelab-moldova-release-auth-exact
|
|
REFERENCE_REGISTER_CHECK=OK
|
|
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
|
ERROR_REGISTER_CHECK=OK
|
|
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
|
COMMAND_SHA256=2ecf45c3dc29b0d52ce5e023d056614d7ae82c2a141b7e4d50abcf70ede7b8e5
|
|
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=33797061a32049635fc79cd84c3c526a8480e12813aa01c6817da699fb08c805
|
|
SANITIZED_OUTPUT_SHA256=33797061a32049635fc79cd84c3c526a8480e12813aa01c6817da699fb08c805
|
|
OUTPUT_BEGIN
|
|
WORKERS2_MOLDOVA_RELEASE_AUTH_EXACT_BEGIN=1
|
|
COMMAND_ID=SUPPORT-260924-HOMELAB-MOLDOVA-RELEASE-AUTH-EXACT-1146R1
|
|
MODE=read-only
|
|
COMPONENT=homelab-moldova-release-auth-exact
|
|
MUTATION_BOUNDARY=NONE;EXACT_RELEASE_STATIC_CODE_INSPECTION_ONLY;NO_MOLDOVA_CONNECTION;NO_REMOTE_SSH;NO_PROVIDER_CALL;NO_SYSTEMD_ACTION;NO_BACKUP_RUN;NO_BACKUP_MUTATION;NO_TARGET_POLICY_MUTATION;NO_NETBIRD_MUTATION;NO_MONITORING_MUTATION;NO_GIT_WRITE;NO_SECRET_VALUE_READOUT
|
|
PREDECESSOR_1145=PASS_MOLDOVA_1145_BACKUP_SSH_EXECUTOR_RCA
|
|
PREDECESSOR_1145_RELEASE=/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b
|
|
CARRIER_BASELINE=KNOWN_GOOD_1137_BYTE_SEMANTICS
|
|
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
|
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
|
RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
|
|
TARGETS_SHA256=5cba5f1e14c65211c9fab6d11594c19279ab68369b4db3f7283708c368348288
|
|
MD_RELAY_COUNT=1
|
|
MD_RELAY_ENABLED=false
|
|
MD_RELAY_TYPE=vps_md
|
|
MD_RELAY_SCOPE=vps
|
|
RELEASE_ROOT_BEGIN=1
|
|
RELEASE_EXISTS=true
|
|
RELEASE_MODE=500
|
|
RELEASE_OWNER=root:root
|
|
RELEASE_FILE_COUNT=6
|
|
RELEASE_ROOT_END=1
|
|
RELEASE_IDENTITY_BEGIN=1
|
|
RELEASE_FILES=entry504.py,fresh_lxc_helper.py,lxc_adapter.py,producer_exec_helper.py,qemu_adapter.py,scheduler_adapter.py
|
|
RELEASE_FILE|name=entry504.py|exists=true|bytes=10566|mode=400|uid=0|gid=0|sha256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|expected_sha256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|identity_ok=true
|
|
RELEASE_FILE|name=fresh_lxc_helper.py|exists=true|bytes=2320|mode=400|uid=0|gid=0|sha256=dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011|expected_sha256=dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011|identity_ok=true
|
|
RELEASE_FILE|name=lxc_adapter.py|exists=true|bytes=13825|mode=400|uid=0|gid=0|sha256=3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d|expected_sha256=3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d|identity_ok=true
|
|
RELEASE_FILE|name=producer_exec_helper.py|exists=true|bytes=3449|mode=400|uid=0|gid=0|sha256=b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3|expected_sha256=b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3|identity_ok=true
|
|
RELEASE_FILE|name=qemu_adapter.py|exists=true|bytes=4627|mode=400|uid=0|gid=0|sha256=1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b|expected_sha256=1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b|identity_ok=true
|
|
RELEASE_FILE|name=scheduler_adapter.py|exists=true|bytes=4097|mode=400|uid=0|gid=0|sha256=a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96|expected_sha256=a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96|identity_ok=true
|
|
RELEASE_IDENTITY_BAD=0
|
|
RELEASE_IDENTITY_END=1
|
|
RELEASE_IMPORTS_AND_AUTH_SNIPPETS_BEGIN=1
|
|
SRC|file=entry504.py|line=1|text=from __future__ import annotations
|
|
SRC|file=entry504.py|line=2|text=import hashlib, importlib, json, os, pathlib, stat, sys, types
|
|
SRC|file=entry504.py|line=62|text= required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
|
|
SRC|file=entry504.py|line=69|text= if not isinstance(g.get('SCP'),str) or not g['SCP'].startswith('/'):
|
|
SRC|file=entry504.py|line=70|text= raise RuntimeError('LEGACY_SCP_API')
|
|
SRC|file=entry504.py|line=126|text= import tempfile
|
|
SRC|file=fresh_lxc_helper.py|line=1|text=from __future__ import annotations
|
|
SRC|file=fresh_lxc_helper.py|line=2|text=import base64, hashlib, json, pathlib, sys
|
|
SRC|file=fresh_lxc_helper.py|line=19|text= import adapter
|
|
SRC|file=lxc_adapter.py|line=1|text=from __future__ import annotations
|
|
SRC|file=lxc_adapter.py|line=2|text=import base64, hashlib, json, os, pathlib, re, selectors, shlex, signal, stat, subprocess, sys, time
|
|
SRC|file=lxc_adapter.py|line=36|text= p=legacy.ssh_remote(node,['sha256sum','--',path],timeout=30)
|
|
SRC|file=lxc_adapter.py|line=44|text= rows=_j(legacy.ssh_remote(node,['pvesh','get','/cluster/resources','--type','vm','--output-format','json'],timeout=60),'RESOURCES_JSON')
|
|
SRC|file=lxc_adapter.py|line=45|text= stores=_j(legacy.ssh_remote(node,['pvesh','get',f'/nodes/{node}/storage','--output-format','json'],timeout=60),'STORAGE_JSON')
|
|
SRC|file=lxc_adapter.py|line=52|text= cfg=_j(legacy.ssh_remote(node,['pvesh','get',f'/nodes/{node}/{r["type"]}/{rid}/config','--output-format','json'],timeout=60),'CONFIG_JSON')
|
|
SRC|file=lxc_adapter.py|line=55|text= tasks=_j(legacy.ssh_remote(node,['pvesh','get',f'/nodes/{node}/tasks','--limit','999','--output-format','json'],timeout=60),'TASKS_JSON')
|
|
SRC|file=lxc_adapter.py|line=57|text= q=legacy.ssh_remote(node,['test','-f','/etc/vzdump.conf'],timeout=30,check=False)
|
|
SRC|file=lxc_adapter.py|line=59|text= if q.returncode==0: defaults=legacy.ssh_remote(node,['cat','--','/etc/vzdump.conf'],timeout=30).stdout
|
|
SRC|file=lxc_adapter.py|line=68|text= p=subprocess.run(['/usr/bin/python3','-I','-B',str(HELPER)],input=data,capture_output=True,timeout=120,cwd='/',env=ENV)
|
|
SRC|file=lxc_adapter.py|line=95|text= p=subprocess.run(['/usr/bin/python3','-I','-B',str(EXEC_HELPER)],input=data,capture_output=True,timeout=timeout+120,cwd='/',env=ENV)
|
|
SRC|file=lxc_adapter.py|line=112|text= except subprocess.TimeoutExpired:
|
|
SRC|file=lxc_adapter.py|line=130|text= ssh=['/usr/bin/ssh','-o','BatchMode=yes','-o','StrictHostKeyChecking=yes','-o','ConnectTimeout=15',f'root@{node}',remote]
|
|
SRC|file=lxc_adapter.py|line=133|text= p=subprocess.Popen(ssh,stdin=subprocess.DEVNULL,stdout=subprocess.PIPE,stderr=subprocess.PIPE,cwd='/',env=ENV,start_new_session=True,close_fds=True)
|
|
SRC|file=lxc_adapter.py|line=158|text= return {'executor':'remote-bounded-ssh-cwd-root','producer_rc':rc,'size':total,'sha256':digest.hexdigest(),
|
|
SRC|file=lxc_adapter.py|line=162|text= summary={'executor':'remote-bounded-ssh-cwd-root','producer_rc':None if p is None else p.returncode,'archive_bytes':total,
|
|
SRC|file=lxc_adapter.py|line=199|text= legacy.ssh_remote(node,['install','-d','-m','710','-o','0','-g','100000',scratch],timeout=30)
|
|
SRC|file=lxc_adapter.py|line=200|text= q=legacy.ssh_remote(node,['stat','-c','%a:%u:%g',scratch],timeout=30)
|
|
SRC|file=lxc_adapter.py|line=213|text= legacy.ssh_remote(node,['rm','-rf','--',scratch],timeout=60,check=False); raise
|
|
SRC|file=producer_exec_helper.py|line=1|text=from __future__ import annotations
|
|
SRC|file=producer_exec_helper.py|line=2|text=import hashlib, json, os, pathlib, sys
|
|
SRC|file=producer_exec_helper.py|line=29|text= import adapter
|
|
SRC|file=producer_exec_helper.py|line=50|text= import adapter
|
|
SRC|file=qemu_adapter.py|line=1|text=from __future__ import annotations
|
|
SRC|file=qemu_adapter.py|line=2|text=import hashlib, json, pathlib, re
|
|
SRC|file=qemu_adapter.py|line=12|text= p=legacy.ssh_remote(node,['sha256sum','--',path],timeout=30)
|
|
SRC|file=qemu_adapter.py|line=49|text= legacy.ssh_remote(node,['install','-d','-m','700','-o','0','-g','0',srcdir],timeout=30)
|
|
SRC|file=qemu_adapter.py|line=51|text= vp=legacy.ssh_remote(node,['vzdump',str(vmid),'--mode','snapshot','--compress','zstd','--dumpdir',srcdir],timeout=7200,check=False)
|
|
SRC|file=qemu_adapter.py|line=56|text= p=legacy.ssh_remote(node,['find',srcdir,'-maxdepth','1','-type','f','-printf','%p\n'],timeout=30)
|
|
SRC|file=qemu_adapter.py|line=62|text= q=legacy.ssh_remote(node,['stat','-c','%s','--',src],timeout=30)
|
|
SRC|file=qemu_adapter.py|line=69|text= legacy.run([legacy.SCP,'-q','-o','BatchMode=yes','-o','StrictHostKeyChecking=yes','root@'+node+':'+src,str(local)],timeout=7200)
|
|
SRC|file=qemu_adapter.py|line=73|text= legacy.ssh_remote(node,['rm','-rf','--',srcdir],timeout=60,check=False); raise
|
|
SRC|file=scheduler_adapter.py|line=1|text=from __future__ import annotations
|
|
SRC|file=scheduler_adapter.py|line=2|text=import json, pathlib
|
|
RELEASE_AUTH_MATCH_COUNT=28
|
|
RELEASE_IMPORTS_AND_AUTH_SNIPPETS_END=1
|
|
RELEASE_AST_CALLS_BEGIN=1
|
|
AST_CALL|file=entry504.py|line=29|fn=RuntimeError|src=RuntimeError('BASE_RELEASE_ROOT')
|
|
AST_CALL|file=entry504.py|line=60|fn=RuntimeError|src=RuntimeError('LEGACY_PROVENANCE_CARDINALITY')
|
|
AST_CALL|file=entry504.py|line=66|fn=RuntimeError|src=RuntimeError('LEGACY_PROVENANCE_API')
|
|
AST_CALL|file=entry504.py|line=70|fn=RuntimeError|src=RuntimeError('LEGACY_SCP_API')
|
|
AST_CALL|file=entry504.py|line=73|fn=RuntimeError|src=RuntimeError('QEMU_ADAPTER_BIND_RESULT')
|
|
AST_CALL|file=entry504.py|line=76|fn=RuntimeError|src=RuntimeError('LXC_ADAPTER_BIND_RESULT')
|
|
AST_CALL|file=entry504.py|line=80|fn=RuntimeError|src=RuntimeError('SCHEDULER_ADAPTER_BIND_RESULT')
|
|
AST_CALL|file=entry504.py|line=95|fn=RuntimeError|src=RuntimeError('LXC_502_BYTE_IDENTITY')
|
|
AST_CALL|file=entry504.py|line=101|fn=RuntimeError|src=RuntimeError('TARGET_CARDINALITY')
|
|
AST_CALL|file=entry504.py|line=107|fn=RuntimeError|src=RuntimeError('PATCH_BINDING')
|
|
AST_CALL|file=entry504.py|line=109|fn=RuntimeError|src=RuntimeError('SCHEDULER_CHOOSE_BINDING')
|
|
AST_CALL|file=entry504.py|line=111|fn=RuntimeError|src=RuntimeError('SCHEDULER_WRITE_BINDING')
|
|
AST_CALL|file=entry504.py|line=113|fn=RuntimeError|src=RuntimeError('SCHEDULER_BACKOFF_CONTRACT')
|
|
AST_CALL|file=entry504.py|line=115|fn=RuntimeError|src=RuntimeError('WRAPPER_PUBLIC_API')
|
|
AST_CALL|file=entry504.py|line=33|fn=RuntimeError|src=RuntimeError('BASE_RELEASE_FILE_'+rel)
|
|
AST_CALL|file=entry504.py|line=69|fn=isinstance|src=isinstance(g.get('SCP'),str)
|
|
AST_CALL|file=entry504.py|line=69|fn=startswith|src=g['SCP'].startswith('/')
|
|
AST_CALL|file=entry504.py|line=129|fn=RuntimeError|src=RuntimeError('SCHEDULER_PROOF_BASE')
|
|
AST_CALL|file=entry504.py|line=170|fn=RuntimeError|src=RuntimeError('PLAN_TARGET_NOT_LEGACY_LXC')
|
|
AST_CALL|file=entry504.py|line=177|fn=RuntimeError|src=RuntimeError('VERIFY_SYNTHETIC_CT112_FORBIDDEN')
|
|
AST_CALL|file=entry504.py|line=69|fn=g.get|src=g.get('SCP')
|
|
AST_CALL|file=entry504.py|line=132|fn=tempfile.TemporaryDirectory|src=tempfile.TemporaryDirectory(prefix='homelab-scheduler-proof-',dir='/run')
|
|
AST_CALL|file=entry504.py|line=143|fn=RuntimeError|src=RuntimeError('SCHEDULER_PROOF_PEER_NOT_SELECTED')
|
|
AST_CALL|file=entry504.py|line=146|fn=RuntimeError|src=RuntimeError('SCHEDULER_PROOF_FAILURE_STATE')
|
|
AST_CALL|file=entry504.py|line=149|fn=RuntimeError|src=RuntimeError('SCHEDULER_PROOF_RETRY_NOT_REELIGIBLE')
|
|
AST_CALL|file=entry504.py|line=153|fn=RuntimeError|src=RuntimeError('SCHEDULER_PROOF_SUCCESS_RESET')
|
|
AST_CALL|file=fresh_lxc_helper.py|line=12|fn=RuntimeError|src=RuntimeError(code)
|
|
AST_CALL|file=lxc_adapter.py|line=36|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['sha256sum','--',path],timeout=30)
|
|
AST_CALL|file=lxc_adapter.py|line=44|fn=_j|src=_j(legacy.ssh_remote(node,['pvesh','get','/cluster/resources','--type','vm','--output-format','json'],timeout=60),'RESOURCES_JSON')
|
|
AST_CALL|file=lxc_adapter.py|line=45|fn=_j|src=_j(legacy.ssh_remote(node,['pvesh','get',f'/nodes/{node}/storage','--output-format','json'],timeout=60),'STORAGE_JSON')
|
|
AST_CALL|file=lxc_adapter.py|line=55|fn=_j|src=_j(legacy.ssh_remote(node,['pvesh','get',f'/nodes/{node}/tasks','--limit','999','--output-format','json'],timeout=60),'TASKS_JSON')
|
|
AST_CALL|file=lxc_adapter.py|line=57|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['test','-f','/etc/vzdump.conf'],timeout=30,check=False)
|
|
AST_CALL|file=lxc_adapter.py|line=68|fn=subprocess.run|src=subprocess.run(['/usr/bin/python3','-I','-B',str(HELPER)],input=data,capture_output=True,timeout=120,cwd='/',env=ENV)
|
|
AST_CALL|file=lxc_adapter.py|line=95|fn=subprocess.run|src=subprocess.run(['/usr/bin/python3','-I','-B',str(EXEC_HELPER)],input=data,capture_output=True,timeout=timeout+120,cwd='/',env=ENV)
|
|
AST_CALL|file=lxc_adapter.py|line=44|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['pvesh','get','/cluster/resources','--type','vm','--output-format','json'],timeout=60)
|
|
AST_CALL|file=lxc_adapter.py|line=45|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['pvesh','get',f'/nodes/{node}/storage','--output-format','json'],timeout=60)
|
|
AST_CALL|file=lxc_adapter.py|line=52|fn=_j|src=_j(legacy.ssh_remote(node,['pvesh','get',f'/nodes/{node}/{r["type"]}/{rid}/config','--output-format','json'],timeout=60),'CONFIG_JSON')
|
|
AST_CALL|file=lxc_adapter.py|line=55|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['pvesh','get',f'/nodes/{node}/tasks','--limit','999','--output-format','json'],timeout=60)
|
|
AST_CALL|file=lxc_adapter.py|line=133|fn=subprocess.Popen|src=subprocess.Popen(ssh,stdin=subprocess.DEVNULL,stdout=subprocess.PIPE,stderr=subprocess.PIPE,cwd='/',env=ENV,start_new_session=True,close_fds=True)
|
|
AST_CALL|file=lxc_adapter.py|line=199|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['install','-d','-m','710','-o','0','-g','100000',scratch],timeout=30)
|
|
AST_CALL|file=lxc_adapter.py|line=200|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['stat','-c','%a:%u:%g',scratch],timeout=30)
|
|
AST_CALL|file=lxc_adapter.py|line=52|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['pvesh','get',f'/nodes/{node}/{r["type"]}/{rid}/config','--output-format','json'],timeout=60)
|
|
AST_CALL|file=lxc_adapter.py|line=59|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['cat','--','/etc/vzdump.conf'],timeout=30)
|
|
AST_CALL|file=lxc_adapter.py|line=213|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['rm','-rf','--',scratch],timeout=60,check=False)
|
|
AST_CALL|file=producer_exec_helper.py|line=16|fn=RuntimeError|src=RuntimeError(code)
|
|
AST_CALL|file=qemu_adapter.py|line=12|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['sha256sum','--',path],timeout=30)
|
|
AST_CALL|file=qemu_adapter.py|line=49|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['install','-d','-m','700','-o','0','-g','0',srcdir],timeout=30)
|
|
AST_CALL|file=qemu_adapter.py|line=51|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['vzdump',str(vmid),'--mode','snapshot','--compress','zstd','--dumpdir',srcdir],timeout=7200,check=False)
|
|
AST_CALL|file=qemu_adapter.py|line=56|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['find',srcdir,'-maxdepth','1','-type','f','-printf','%p\n'],timeout=30)
|
|
AST_CALL|file=qemu_adapter.py|line=62|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['stat','-c','%s','--',src],timeout=30)
|
|
AST_CALL|file=qemu_adapter.py|line=69|fn=legacy.run|src=legacy.run([legacy.SCP,'-q','-o','BatchMode=yes','-o','StrictHostKeyChecking=yes','root@'+node+':'+src,str(local)],timeout=7200)
|
|
AST_CALL|file=qemu_adapter.py|line=73|fn=legacy.ssh_remote|src=legacy.ssh_remote(node,['rm','-rf','--',srcdir],timeout=60,check=False)
|
|
RELEASE_AST_CALL_COUNT=52
|
|
RELEASE_AST_CALLS_END=1
|
|
AUTH_PATTERN|name=VPS_MD|count=0|files=
|
|
AUTH_PATTERN|name=SSH|count=4|files=lxc_adapter.py
|
|
AUTH_PATTERN|name=SCP|count=2|files=entry504.py,qemu_adapter.py
|
|
AUTH_PATTERN|name=RSYNC|count=0|files=
|
|
AUTH_PATTERN|name=HOSTKEY|count=2|files=lxc_adapter.py,qemu_adapter.py
|
|
AUTH_PATTERN|name=IDENTITY|count=2|files=lxc_adapter.py
|
|
AUTH_PATTERN|name=BATCH|count=2|files=lxc_adapter.py,qemu_adapter.py
|
|
AUTH_PATTERN|name=OPS_USER|count=0|files=
|
|
RELEASE_AUTH_CLASS=VPS_MD_HANDLER_NOT_LOCATED
|
|
DECISION=PASS_MOLDOVA_1146_RELEASE_AUTH_EXACT_COLLECTED
|
|
NEXT_GATE=READ_EXACT_1146_AND_BUILD_REMOTE_ROLE_PREFLIGHT_FROM_RELEASE_CODE
|
|
TASK_RESULT=PASS_MOLDOVA_RELEASE_AUTH_EXACT
|
|
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260924-HOMELAB-MOLDOVA-RELEASE-AUTH-EXACT-1146R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
|
|
WORKERS2_MOLDOVA_RELEASE_AUTH_EXACT_END=1
|
|
|
|
OUTPUT_END
|
|
CHAT_OUTPUT_END
|