diff --git a/runtime/history/SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1.json b/runtime/history/SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1.json new file mode 100644 index 00000000..c96a051f --- /dev/null +++ b/runtime/history/SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "skladchik-alert-generator-logic-rca", + "started_at_utc": "2026-10-04T03:49:11Z", + "finished_at_utc": "2026-10-04T03:51:47Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "6b5bc1f1e20f19bda012f816128a3feac775d3184e0685f2d63b8f31ad961d22", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": false, + "result_contract_valid": true, + "result_contract_status": null, + "result_contract_error": null, + "command_rc": 0, + "changes_made": false, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "NO_MUTATION", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "dfbfa56355cfc15f7346a7b803fdc4056ac4c59fe3094151c504b3931e7a4803", + "sanitized_output_sha256": "dfbfa56355cfc15f7346a7b803fdc4056ac4c59fe3094151c504b3931e7a4803", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "SKLADCHIK_ALERT_GENERATOR_LOGIC_RCA=V1\nHOST_PVE01=true\nSOURCE_PRESENT=true\nSOURCE_SHA256_PRESENT=true\nSOURCE_SIZE_BYTES=16080\nSOURCE_MTIME_EPOCH=1790574284\nALERT_PHRASE_CANDIDATE_COUNT=4\nCANDIDATE_1_PATH=/root/homelab-ops-cr-2026-0007/changes/CR-2026-0007/runtime/skladchik-reports-monitor-health-alert.py\nCANDIDATE_1_SHA_MATCH_SOURCE=true\nCANDIDATE_2_PATH=/root/skladchik_reports_monitor_cookie_expiry_watch_package/edge/files/opt/skladchik-reports-monitor/health_alert.py\nCANDIDATE_2_SHA_MATCH_SOURCE=false\nCANDIDATE_3_PATH=/root/skladchik_reports_monitor_russian_patch_v4/files/opt/skladchik-reports-monitor/health_alert.py\nCANDIDATE_3_SHA_MATCH_SOURCE=false\nCANDIDATE_4_PATH=/var/lib/homelab-change-rollback/SUPPORT-260928-NETBIRD-SKLADCHIK-WT0-HEALTH-CONTRACT-FIX-PREFLIGHT-73343R1/health_alert.py.before\nCANDIDATE_4_SHA_MATCH_SOURCE=false\nRELATED_UNIT_COUNT=4\nRELATED_UNIT_1_NAME=skladchik-reports-monitor-monthly-selftest-watch.service\nRELATED_UNIT_1_ACTIVE=inactive\nRELATED_UNIT_1_ENABLED=static\nRELATED_UNIT_1_SCRIPT_PRESENT=false\nRELATED_UNIT_1_SCRIPT_PATH=NONE\nRELATED_UNIT_1_SCRIPT_SHA_MATCH_SOURCE=false\nRELATED_UNIT_2_NAME=skladchik-reports-monitor-monthly-selftest-watch.timer\nRELATED_UNIT_2_ACTIVE=inactive\nRELATED_UNIT_2_ENABLED=disabled\nRELATED_UNIT_2_SCRIPT_PRESENT=false\nRELATED_UNIT_2_SCRIPT_PATH=NONE\nRELATED_UNIT_2_SCRIPT_SHA_MATCH_SOURCE=false\nRELATED_UNIT_3_NAME=skladchik-reports-monitor-supervisor.service\nRELATED_UNIT_3_ACTIVE=inactive\nRELATED_UNIT_3_ENABLED=static\nRELATED_UNIT_3_SCRIPT_PRESENT=false\nRELATED_UNIT_3_SCRIPT_PATH=NONE\nRELATED_UNIT_3_SCRIPT_SHA_MATCH_SOURCE=false\nRELATED_UNIT_4_NAME=skladchik-reports-monitor-supervisor.timer\nRELATED_UNIT_4_ACTIVE=active\nRELATED_UNIT_4_ENABLED=enabled\nRELATED_UNIT_4_SCRIPT_PRESENT=false\nRELATED_UNIT_4_SCRIPT_PATH=NONE\nRELATED_UNIT_4_SCRIPT_SHA_MATCH_SOURCE=false\nEXACT_SOURCE_SYSTEMD_REF_COUNT=0\nSOURCE_BASENAME_REFERENCE_COUNT=0\nAST_PARSE_OK=true\nOLD_PVE_LITERAL_COUNT=1\nWT0_LITERAL_COUNT=5\nMISSING_LITERAL_COUNT=26\nERROR_LITERAL_COUNT=5\nIP_ROUTE_GET_TEXT_COUNT=0\nSYSTEMCTL_TEXT_COUNT=4\nSMTP_TEXT_COUNT=0\nSUBPROCESS_CALL_COUNT=3\nJSON_LOAD_COUNT=1\nOLD_PVE_LITERAL_COUNT=1\nOLD_PVE_LITERAL_LINES=102\nWT0_LITERAL_COUNT=3\nWT0_LITERAL_LINES=103,110,251\nMISSING_LITERAL_COUNT=22\nMISSING_LITERAL_LINES=83,164,175,177,221,262,263,264,265,266,267,268,269,270,271,272,292,293,330,331\nERROR_LITERAL_COUNT=4\nERROR_LITERAL_LINES=98,143,184,363\nROUTE_CHECK_COUNT=3\nROUTE_CHECK_LINES=110,191,251\nMAIN_TIMER_COUNT=2\nMAIN_TIMER_LINES=151,152\nWATCHDOG_COUNT=6\nWATCHDOG_LINES=153,201,249,327,328,338\nHEARTBEAT_COUNT=10\nHEARTBEAT_LINES=154,202,250,283,289,290,291,349,350,355\nAST_TIMER_LITERAL_COUNT=3\nAST_TIMER_1=skladchik-reports-monitor-heartbeat.timer\nAST_TIMER_2=skladchik-reports-monitor-watchdog.timer\nAST_TIMER_3=skladchik-reports-monitor.timer\nAST_SERVICE_LITERAL_COUNT=0\nAST_SAFE_PATH_LITERAL_COUNT=3\nAST_SAFE_PATH_1=/opt/skladchik-reports-monitor/monitor.py\nAST_SAFE_PATH_2=/var/lib/skladchik-reports-monitor\nAST_SAFE_PATH_3=/var/log/skladchik-reports-monitor/health-alert.log\nAST_FUNCTION_COUNT=22\nAST_FUNCTIONS=build_status,do_check,do_heartbeat,do_status,iso_age_seconds,load_monitor_module,load_state,log,main,parse_kv_file,problem_to_ru,route_ok,run_cmd,save_state,send_mail,status_ru,status_to_body,systemd_value,ts,utc_now,write_alert_health,yes_no_ru\nAST_OPERATIONAL_VARIABLE_COUNT=11\nAST_OPERATIONAL_VARIABLES=ALERT_HEALTH_PATH,ALERT_REPEAT_SECONDS,MONITOR_PATH,STATE_PATH,expiry_status,last_alert_ts,last_key,mail_sent,state,status,timer_active\nCURRENT_OLD_PVE_ROUTE_IFACE=vmbr0\nCURRENT_OLD_PVE_ROUTE_WT0=false\nPVE01_WT0_PRESENT=true\nSUPERVISOR_ACTIVE=inactive\nSUPERVISOR_ENABLED=static\nSUPERVISOR_JOURNAL_LINE_COUNT=300\nSUPERVISOR_JOURNAL_ALERT_WORD_COUNT=28\nSUPERVISOR_JOURNAL_ERROR_WORD_COUNT=0\nDECISION=RCA_ALERT_GENERATOR_LOGIC_READ\nNEXT_GATE=DESIGN_GENERATOR_REPAIR\nTASK_RESULT=SKLADCHIK_ALERT_GENERATOR_LOGIC_RCA\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1.txt b/runtime/history/SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1.txt new file mode 100644 index 00000000..08b6aff5 --- /dev/null +++ b/runtime/history/SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1.txt @@ -0,0 +1,129 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=skladchik-alert-generator-logic-rca +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=6b5bc1f1e20f19bda012f816128a3feac775d3184e0685f2d63b8f31ad961d22 +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=dfbfa56355cfc15f7346a7b803fdc4056ac4c59fe3094151c504b3931e7a4803 +SANITIZED_OUTPUT_SHA256=dfbfa56355cfc15f7346a7b803fdc4056ac4c59fe3094151c504b3931e7a4803 +OUTPUT_BEGIN +SKLADCHIK_ALERT_GENERATOR_LOGIC_RCA=V1 +HOST_PVE01=true +SOURCE_PRESENT=true +SOURCE_SHA256_PRESENT=true +SOURCE_SIZE_BYTES=16080 +SOURCE_MTIME_EPOCH=1790574284 +ALERT_PHRASE_CANDIDATE_COUNT=4 +CANDIDATE_1_PATH=/root/homelab-ops-cr-2026-0007/changes/CR-2026-0007/runtime/skladchik-reports-monitor-health-alert.py +CANDIDATE_1_SHA_MATCH_SOURCE=true +CANDIDATE_2_PATH=/root/skladchik_reports_monitor_cookie_expiry_watch_package/edge/files/opt/skladchik-reports-monitor/health_alert.py +CANDIDATE_2_SHA_MATCH_SOURCE=false +CANDIDATE_3_PATH=/root/skladchik_reports_monitor_russian_patch_v4/files/opt/skladchik-reports-monitor/health_alert.py +CANDIDATE_3_SHA_MATCH_SOURCE=false +CANDIDATE_4_PATH=/var/lib/homelab-change-rollback/SUPPORT-260928-NETBIRD-SKLADCHIK-WT0-HEALTH-CONTRACT-FIX-PREFLIGHT-73343R1/health_alert.py.before +CANDIDATE_4_SHA_MATCH_SOURCE=false +RELATED_UNIT_COUNT=4 +RELATED_UNIT_1_NAME=skladchik-reports-monitor-monthly-selftest-watch.service +RELATED_UNIT_1_ACTIVE=inactive +RELATED_UNIT_1_ENABLED=static +RELATED_UNIT_1_SCRIPT_PRESENT=false +RELATED_UNIT_1_SCRIPT_PATH=NONE +RELATED_UNIT_1_SCRIPT_SHA_MATCH_SOURCE=false +RELATED_UNIT_2_NAME=skladchik-reports-monitor-monthly-selftest-watch.timer +RELATED_UNIT_2_ACTIVE=inactive +RELATED_UNIT_2_ENABLED=disabled +RELATED_UNIT_2_SCRIPT_PRESENT=false +RELATED_UNIT_2_SCRIPT_PATH=NONE +RELATED_UNIT_2_SCRIPT_SHA_MATCH_SOURCE=false +RELATED_UNIT_3_NAME=skladchik-reports-monitor-supervisor.service +RELATED_UNIT_3_ACTIVE=inactive +RELATED_UNIT_3_ENABLED=static +RELATED_UNIT_3_SCRIPT_PRESENT=false +RELATED_UNIT_3_SCRIPT_PATH=NONE +RELATED_UNIT_3_SCRIPT_SHA_MATCH_SOURCE=false +RELATED_UNIT_4_NAME=skladchik-reports-monitor-supervisor.timer +RELATED_UNIT_4_ACTIVE=active +RELATED_UNIT_4_ENABLED=enabled +RELATED_UNIT_4_SCRIPT_PRESENT=false +RELATED_UNIT_4_SCRIPT_PATH=NONE +RELATED_UNIT_4_SCRIPT_SHA_MATCH_SOURCE=false +EXACT_SOURCE_SYSTEMD_REF_COUNT=0 +SOURCE_BASENAME_REFERENCE_COUNT=0 +AST_PARSE_OK=true +OLD_PVE_LITERAL_COUNT=1 +WT0_LITERAL_COUNT=5 +MISSING_LITERAL_COUNT=26 +ERROR_LITERAL_COUNT=5 +IP_ROUTE_GET_TEXT_COUNT=0 +SYSTEMCTL_TEXT_COUNT=4 +SMTP_TEXT_COUNT=0 +SUBPROCESS_CALL_COUNT=3 +JSON_LOAD_COUNT=1 +OLD_PVE_LITERAL_COUNT=1 +OLD_PVE_LITERAL_LINES=102 +WT0_LITERAL_COUNT=3 +WT0_LITERAL_LINES=103,110,251 +MISSING_LITERAL_COUNT=22 +MISSING_LITERAL_LINES=83,164,175,177,221,262,263,264,265,266,267,268,269,270,271,272,292,293,330,331 +ERROR_LITERAL_COUNT=4 +ERROR_LITERAL_LINES=98,143,184,363 +ROUTE_CHECK_COUNT=3 +ROUTE_CHECK_LINES=110,191,251 +MAIN_TIMER_COUNT=2 +MAIN_TIMER_LINES=151,152 +WATCHDOG_COUNT=6 +WATCHDOG_LINES=153,201,249,327,328,338 +HEARTBEAT_COUNT=10 +HEARTBEAT_LINES=154,202,250,283,289,290,291,349,350,355 +AST_TIMER_LITERAL_COUNT=3 +AST_TIMER_1=skladchik-reports-monitor-heartbeat.timer +AST_TIMER_2=skladchik-reports-monitor-watchdog.timer +AST_TIMER_3=skladchik-reports-monitor.timer +AST_SERVICE_LITERAL_COUNT=0 +AST_SAFE_PATH_LITERAL_COUNT=3 +AST_SAFE_PATH_1=/opt/skladchik-reports-monitor/monitor.py +AST_SAFE_PATH_2=/var/lib/skladchik-reports-monitor +AST_SAFE_PATH_3=/var/log/skladchik-reports-monitor/health-alert.log +AST_FUNCTION_COUNT=22 +AST_FUNCTIONS=build_status,do_check,do_heartbeat,do_status,iso_age_seconds,load_monitor_module,load_state,log,main,parse_kv_file,problem_to_ru,route_ok,run_cmd,save_state,send_mail,status_ru,status_to_body,systemd_value,ts,utc_now,write_alert_health,yes_no_ru +AST_OPERATIONAL_VARIABLE_COUNT=11 +AST_OPERATIONAL_VARIABLES=ALERT_HEALTH_PATH,ALERT_REPEAT_SECONDS,MONITOR_PATH,STATE_PATH,expiry_status,last_alert_ts,last_key,mail_sent,state,status,timer_active +CURRENT_OLD_PVE_ROUTE_IFACE=vmbr0 +CURRENT_OLD_PVE_ROUTE_WT0=false +PVE01_WT0_PRESENT=true +SUPERVISOR_ACTIVE=inactive +SUPERVISOR_ENABLED=static +SUPERVISOR_JOURNAL_LINE_COUNT=300 +SUPERVISOR_JOURNAL_ALERT_WORD_COUNT=28 +SUPERVISOR_JOURNAL_ERROR_WORD_COUNT=0 +DECISION=RCA_ALERT_GENERATOR_LOGIC_READ +NEXT_GATE=DESIGN_GENERATOR_REPAIR +TASK_RESULT=SKLADCHIK_ALERT_GENERATOR_LOGIC_RCA +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 42723928..c96a051f 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-261004-SKLADCHIK-EXTERNAL-ALERT-GENERATOR-RCA-99545R1", + "command_id": "SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1", "status": "OK", "rc": 0, "host": "pve01", "mode": "read-only", - "component": "skladchik-external-alert-generator-rca", - "started_at_utc": "2026-10-04T03:40:04Z", - "finished_at_utc": "2026-10-04T03:43:20Z", + "component": "skladchik-alert-generator-logic-rca", + "started_at_utc": "2026-10-04T03:49:11Z", + "finished_at_utc": "2026-10-04T03:51:47Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "8a145bf7d66133a2fcb2bcc94ad7cae308417a82eefe0ef95b537fed45682f74", + "command_sha256": "6b5bc1f1e20f19bda012f816128a3feac775d3184e0685f2d63b8f31ad961d22", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "5f7642308ed8d83c5bf8e3f6725e9b3f52237fc175b2ae6cf537de9af7867998", - "sanitized_output_sha256": "5f7642308ed8d83c5bf8e3f6725e9b3f52237fc175b2ae6cf537de9af7867998", + "raw_evidence_sha256": "dfbfa56355cfc15f7346a7b803fdc4056ac4c59fe3094151c504b3931e7a4803", + "sanitized_output_sha256": "dfbfa56355cfc15f7346a7b803fdc4056ac4c59fe3094151c504b3931e7a4803", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "SKLADCHIK_EXTERNAL_ALERT_GENERATOR_RCA=V1\nHOST_PVE01=true\nPVE01_ALERT_SOURCE_CANDIDATE_COUNT=3\nPVE01_ALERT_SOURCE_PRESENT=true\nPVE01_ALERT_SOURCE_PATH=/root/homelab-ops-cr-2026-0007/changes/CR-2026-0007/runtime/skladchik-reports-monitor-health-alert.py\nPVE01_ALERT_SOURCE_SHA256_PRESENT=true\nPVE01_ALERT_SOURCE_OLD_PVE_LITERAL=true\nPVE01_ALERT_SOURCE_WT0_LITERAL=true\nPVE01_ALERT_SOURCE_MAIN_TIMER_LITERAL=true\nPVE01_ALERT_SOURCE_SMTP_HINT=false\nPVE01_ALERT_RELATED_REFERENCE_FILE_COUNT=100\nPVE01_ALERT_RELATED_FIRST_PATH=/etc/systemd/system/skladchik-reports-monitor-monthly-selftest-watch.service\nPVE01_TIMER_MATCH_COUNT=3\nPVE01_WATCHDOG_TIMER_MATCH_COUNT=1\nPVE01_HEARTBEAT_TIMER_MATCH_COUNT=0\nPVE01_ALERT_WINDOW_MATCH_COUNT=26\nPVE01_ALERT_WINDOW_UNIT_COUNT=5\nPVE01_ALERT_WINDOW_UNITS=homelab-backup-audit.service,homelab-health-http-9101.service,init.scope,postfix.service,skladchik-reports-monitor-supervisor.service\nPVE01_ALERT_WINDOW_PRODUCER_COUNT=6\nPVE01_ALERT_WINDOW_PRODUCERS=homelab-backup-audit,postfix/smtp,python3,skladchik-reports-monitor-supervisor,smtp,systemd\nVM171_RUNNING=true\nVM171_QGA_INIT_RC=0\nVM171_QGA_PID_POSITIVE=true\nVM171_QGA_POLL_COUNT=26\nVM171_QGA_FINAL_EXITED=true\nVM171_QGA_FINAL_EXITCODE=0\nVM171_QGA_FINAL_HAS_OUTDATA=true\nMON171_ALERT_SOURCE_CANDIDATE_COUNT=0\nMON171_ALERT_SOURCE_PRESENT=false\nMON171_ALERT_SOURCE_PATH=NONE\nMON171_ALERT_SOURCE_SHA256_PRESENT=false\nMON171_ALERT_SOURCE_OLD_PVE_LITERAL=false\nMON171_ALERT_SOURCE_WT0_LITERAL=false\nMON171_ALERT_SOURCE_MAIN_TIMER_LITERAL=false\nMON171_ALERT_SOURCE_SMTP_HINT=false\nMON171_ALERT_RELATED_REFERENCE_FILE_COUNT=0\nMON171_ALERT_RELATED_FIRST_PATH=NONE\nMON171_TIMER_MATCH_COUNT=0\nMON171_WATCHDOG_TIMER_MATCH_COUNT=0\nMON171_HEARTBEAT_TIMER_MATCH_COUNT=0\nMON171_ALERT_WINDOW_MATCH_COUNT=0\nMON171_ALERT_WINDOW_UNIT_COUNT=0\nMON171_ALERT_WINDOW_UNITS=NONE\nMON171_ALERT_WINDOW_PRODUCER_COUNT=0\nMON171_ALERT_WINDOW_PRODUCERS=NONE\nMON171_FILE_MAIL_WINDOW_MATCH_COUNT=0\nMON171_SKLAD_SERVICE_NAME_MATCH_COUNT=0\nMON171_SKLAD_TIMER_NAME_MATCH_COUNT=0\nDECISION=RCA_EXTERNAL_ALERT_GENERATOR_FOUND_PVE01\nNEXT_GATE=READ_GENERATOR_CURRENT_LOGIC\nTASK_RESULT=SKLADCHIK_EXTERNAL_ALERT_GENERATOR_RCA\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261004-SKLADCHIK-EXTERNAL-ALERT-GENERATOR-RCA-99545R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" + "output": "SKLADCHIK_ALERT_GENERATOR_LOGIC_RCA=V1\nHOST_PVE01=true\nSOURCE_PRESENT=true\nSOURCE_SHA256_PRESENT=true\nSOURCE_SIZE_BYTES=16080\nSOURCE_MTIME_EPOCH=1790574284\nALERT_PHRASE_CANDIDATE_COUNT=4\nCANDIDATE_1_PATH=/root/homelab-ops-cr-2026-0007/changes/CR-2026-0007/runtime/skladchik-reports-monitor-health-alert.py\nCANDIDATE_1_SHA_MATCH_SOURCE=true\nCANDIDATE_2_PATH=/root/skladchik_reports_monitor_cookie_expiry_watch_package/edge/files/opt/skladchik-reports-monitor/health_alert.py\nCANDIDATE_2_SHA_MATCH_SOURCE=false\nCANDIDATE_3_PATH=/root/skladchik_reports_monitor_russian_patch_v4/files/opt/skladchik-reports-monitor/health_alert.py\nCANDIDATE_3_SHA_MATCH_SOURCE=false\nCANDIDATE_4_PATH=/var/lib/homelab-change-rollback/SUPPORT-260928-NETBIRD-SKLADCHIK-WT0-HEALTH-CONTRACT-FIX-PREFLIGHT-73343R1/health_alert.py.before\nCANDIDATE_4_SHA_MATCH_SOURCE=false\nRELATED_UNIT_COUNT=4\nRELATED_UNIT_1_NAME=skladchik-reports-monitor-monthly-selftest-watch.service\nRELATED_UNIT_1_ACTIVE=inactive\nRELATED_UNIT_1_ENABLED=static\nRELATED_UNIT_1_SCRIPT_PRESENT=false\nRELATED_UNIT_1_SCRIPT_PATH=NONE\nRELATED_UNIT_1_SCRIPT_SHA_MATCH_SOURCE=false\nRELATED_UNIT_2_NAME=skladchik-reports-monitor-monthly-selftest-watch.timer\nRELATED_UNIT_2_ACTIVE=inactive\nRELATED_UNIT_2_ENABLED=disabled\nRELATED_UNIT_2_SCRIPT_PRESENT=false\nRELATED_UNIT_2_SCRIPT_PATH=NONE\nRELATED_UNIT_2_SCRIPT_SHA_MATCH_SOURCE=false\nRELATED_UNIT_3_NAME=skladchik-reports-monitor-supervisor.service\nRELATED_UNIT_3_ACTIVE=inactive\nRELATED_UNIT_3_ENABLED=static\nRELATED_UNIT_3_SCRIPT_PRESENT=false\nRELATED_UNIT_3_SCRIPT_PATH=NONE\nRELATED_UNIT_3_SCRIPT_SHA_MATCH_SOURCE=false\nRELATED_UNIT_4_NAME=skladchik-reports-monitor-supervisor.timer\nRELATED_UNIT_4_ACTIVE=active\nRELATED_UNIT_4_ENABLED=enabled\nRELATED_UNIT_4_SCRIPT_PRESENT=false\nRELATED_UNIT_4_SCRIPT_PATH=NONE\nRELATED_UNIT_4_SCRIPT_SHA_MATCH_SOURCE=false\nEXACT_SOURCE_SYSTEMD_REF_COUNT=0\nSOURCE_BASENAME_REFERENCE_COUNT=0\nAST_PARSE_OK=true\nOLD_PVE_LITERAL_COUNT=1\nWT0_LITERAL_COUNT=5\nMISSING_LITERAL_COUNT=26\nERROR_LITERAL_COUNT=5\nIP_ROUTE_GET_TEXT_COUNT=0\nSYSTEMCTL_TEXT_COUNT=4\nSMTP_TEXT_COUNT=0\nSUBPROCESS_CALL_COUNT=3\nJSON_LOAD_COUNT=1\nOLD_PVE_LITERAL_COUNT=1\nOLD_PVE_LITERAL_LINES=102\nWT0_LITERAL_COUNT=3\nWT0_LITERAL_LINES=103,110,251\nMISSING_LITERAL_COUNT=22\nMISSING_LITERAL_LINES=83,164,175,177,221,262,263,264,265,266,267,268,269,270,271,272,292,293,330,331\nERROR_LITERAL_COUNT=4\nERROR_LITERAL_LINES=98,143,184,363\nROUTE_CHECK_COUNT=3\nROUTE_CHECK_LINES=110,191,251\nMAIN_TIMER_COUNT=2\nMAIN_TIMER_LINES=151,152\nWATCHDOG_COUNT=6\nWATCHDOG_LINES=153,201,249,327,328,338\nHEARTBEAT_COUNT=10\nHEARTBEAT_LINES=154,202,250,283,289,290,291,349,350,355\nAST_TIMER_LITERAL_COUNT=3\nAST_TIMER_1=skladchik-reports-monitor-heartbeat.timer\nAST_TIMER_2=skladchik-reports-monitor-watchdog.timer\nAST_TIMER_3=skladchik-reports-monitor.timer\nAST_SERVICE_LITERAL_COUNT=0\nAST_SAFE_PATH_LITERAL_COUNT=3\nAST_SAFE_PATH_1=/opt/skladchik-reports-monitor/monitor.py\nAST_SAFE_PATH_2=/var/lib/skladchik-reports-monitor\nAST_SAFE_PATH_3=/var/log/skladchik-reports-monitor/health-alert.log\nAST_FUNCTION_COUNT=22\nAST_FUNCTIONS=build_status,do_check,do_heartbeat,do_status,iso_age_seconds,load_monitor_module,load_state,log,main,parse_kv_file,problem_to_ru,route_ok,run_cmd,save_state,send_mail,status_ru,status_to_body,systemd_value,ts,utc_now,write_alert_health,yes_no_ru\nAST_OPERATIONAL_VARIABLE_COUNT=11\nAST_OPERATIONAL_VARIABLES=ALERT_HEALTH_PATH,ALERT_REPEAT_SECONDS,MONITOR_PATH,STATE_PATH,expiry_status,last_alert_ts,last_key,mail_sent,state,status,timer_active\nCURRENT_OLD_PVE_ROUTE_IFACE=vmbr0\nCURRENT_OLD_PVE_ROUTE_WT0=false\nPVE01_WT0_PRESENT=true\nSUPERVISOR_ACTIVE=inactive\nSUPERVISOR_ENABLED=static\nSUPERVISOR_JOURNAL_LINE_COUNT=300\nSUPERVISOR_JOURNAL_ALERT_WORD_COUNT=28\nSUPERVISOR_JOURNAL_ERROR_WORD_COUNT=0\nDECISION=RCA_ALERT_GENERATOR_LOGIC_READ\nNEXT_GATE=DESIGN_GENERATOR_REPAIR\nTASK_RESULT=SKLADCHIK_ALERT_GENERATOR_LOGIC_RCA\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index feb1764f..08b6aff5 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,15 +1,15 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-261004-SKLADCHIK-EXTERNAL-ALERT-GENERATOR-RCA-99545R1 +COMMAND_ID=SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1 STATUS=OK RC=0 HOST=pve01 MODE=read-only -COMPONENT=skladchik-external-alert-generator-rca +COMPONENT=skladchik-alert-generator-logic-rca REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=8a145bf7d66133a2fcb2bcc94ad7cae308417a82eefe0ef95b537fed45682f74 +COMMAND_SHA256=6b5bc1f1e20f19bda012f816128a3feac775d3184e0685f2d63b8f31ad961d22 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGE_DECLARED=false @@ -24,65 +24,106 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=5f7642308ed8d83c5bf8e3f6725e9b3f52237fc175b2ae6cf537de9af7867998 -SANITIZED_OUTPUT_SHA256=5f7642308ed8d83c5bf8e3f6725e9b3f52237fc175b2ae6cf537de9af7867998 +RAW_EVIDENCE_SHA256=dfbfa56355cfc15f7346a7b803fdc4056ac4c59fe3094151c504b3931e7a4803 +SANITIZED_OUTPUT_SHA256=dfbfa56355cfc15f7346a7b803fdc4056ac4c59fe3094151c504b3931e7a4803 OUTPUT_BEGIN -SKLADCHIK_EXTERNAL_ALERT_GENERATOR_RCA=V1 +SKLADCHIK_ALERT_GENERATOR_LOGIC_RCA=V1 HOST_PVE01=true -PVE01_ALERT_SOURCE_CANDIDATE_COUNT=3 -PVE01_ALERT_SOURCE_PRESENT=true -PVE01_ALERT_SOURCE_PATH=/root/homelab-ops-cr-2026-0007/changes/CR-2026-0007/runtime/skladchik-reports-monitor-health-alert.py -PVE01_ALERT_SOURCE_SHA256_PRESENT=true -PVE01_ALERT_SOURCE_OLD_PVE_LITERAL=true -PVE01_ALERT_SOURCE_WT0_LITERAL=true -PVE01_ALERT_SOURCE_MAIN_TIMER_LITERAL=true -PVE01_ALERT_SOURCE_SMTP_HINT=false -PVE01_ALERT_RELATED_REFERENCE_FILE_COUNT=100 -PVE01_ALERT_RELATED_FIRST_PATH=/etc/systemd/system/skladchik-reports-monitor-monthly-selftest-watch.service -PVE01_TIMER_MATCH_COUNT=3 -PVE01_WATCHDOG_TIMER_MATCH_COUNT=1 -PVE01_HEARTBEAT_TIMER_MATCH_COUNT=0 -PVE01_ALERT_WINDOW_MATCH_COUNT=26 -PVE01_ALERT_WINDOW_UNIT_COUNT=5 -PVE01_ALERT_WINDOW_UNITS=homelab-backup-audit.service,homelab-health-http-9101.service,init.scope,postfix.service,skladchik-reports-monitor-supervisor.service -PVE01_ALERT_WINDOW_PRODUCER_COUNT=6 -PVE01_ALERT_WINDOW_PRODUCERS=homelab-backup-audit,postfix/smtp,python3,skladchik-reports-monitor-supervisor,smtp,systemd -VM171_RUNNING=true -VM171_QGA_INIT_RC=0 -VM171_QGA_PID_POSITIVE=true -VM171_QGA_POLL_COUNT=26 -VM171_QGA_FINAL_EXITED=true -VM171_QGA_FINAL_EXITCODE=0 -VM171_QGA_FINAL_HAS_OUTDATA=true -MON171_ALERT_SOURCE_CANDIDATE_COUNT=0 -MON171_ALERT_SOURCE_PRESENT=false -MON171_ALERT_SOURCE_PATH=NONE -MON171_ALERT_SOURCE_SHA256_PRESENT=false -MON171_ALERT_SOURCE_OLD_PVE_LITERAL=false -MON171_ALERT_SOURCE_WT0_LITERAL=false -MON171_ALERT_SOURCE_MAIN_TIMER_LITERAL=false -MON171_ALERT_SOURCE_SMTP_HINT=false -MON171_ALERT_RELATED_REFERENCE_FILE_COUNT=0 -MON171_ALERT_RELATED_FIRST_PATH=NONE -MON171_TIMER_MATCH_COUNT=0 -MON171_WATCHDOG_TIMER_MATCH_COUNT=0 -MON171_HEARTBEAT_TIMER_MATCH_COUNT=0 -MON171_ALERT_WINDOW_MATCH_COUNT=0 -MON171_ALERT_WINDOW_UNIT_COUNT=0 -MON171_ALERT_WINDOW_UNITS=NONE -MON171_ALERT_WINDOW_PRODUCER_COUNT=0 -MON171_ALERT_WINDOW_PRODUCERS=NONE -MON171_FILE_MAIL_WINDOW_MATCH_COUNT=0 -MON171_SKLAD_SERVICE_NAME_MATCH_COUNT=0 -MON171_SKLAD_TIMER_NAME_MATCH_COUNT=0 -DECISION=RCA_EXTERNAL_ALERT_GENERATOR_FOUND_PVE01 -NEXT_GATE=READ_GENERATOR_CURRENT_LOGIC -TASK_RESULT=SKLADCHIK_EXTERNAL_ALERT_GENERATOR_RCA +SOURCE_PRESENT=true +SOURCE_SHA256_PRESENT=true +SOURCE_SIZE_BYTES=16080 +SOURCE_MTIME_EPOCH=1790574284 +ALERT_PHRASE_CANDIDATE_COUNT=4 +CANDIDATE_1_PATH=/root/homelab-ops-cr-2026-0007/changes/CR-2026-0007/runtime/skladchik-reports-monitor-health-alert.py +CANDIDATE_1_SHA_MATCH_SOURCE=true +CANDIDATE_2_PATH=/root/skladchik_reports_monitor_cookie_expiry_watch_package/edge/files/opt/skladchik-reports-monitor/health_alert.py +CANDIDATE_2_SHA_MATCH_SOURCE=false +CANDIDATE_3_PATH=/root/skladchik_reports_monitor_russian_patch_v4/files/opt/skladchik-reports-monitor/health_alert.py +CANDIDATE_3_SHA_MATCH_SOURCE=false +CANDIDATE_4_PATH=/var/lib/homelab-change-rollback/SUPPORT-260928-NETBIRD-SKLADCHIK-WT0-HEALTH-CONTRACT-FIX-PREFLIGHT-73343R1/health_alert.py.before +CANDIDATE_4_SHA_MATCH_SOURCE=false +RELATED_UNIT_COUNT=4 +RELATED_UNIT_1_NAME=skladchik-reports-monitor-monthly-selftest-watch.service +RELATED_UNIT_1_ACTIVE=inactive +RELATED_UNIT_1_ENABLED=static +RELATED_UNIT_1_SCRIPT_PRESENT=false +RELATED_UNIT_1_SCRIPT_PATH=NONE +RELATED_UNIT_1_SCRIPT_SHA_MATCH_SOURCE=false +RELATED_UNIT_2_NAME=skladchik-reports-monitor-monthly-selftest-watch.timer +RELATED_UNIT_2_ACTIVE=inactive +RELATED_UNIT_2_ENABLED=disabled +RELATED_UNIT_2_SCRIPT_PRESENT=false +RELATED_UNIT_2_SCRIPT_PATH=NONE +RELATED_UNIT_2_SCRIPT_SHA_MATCH_SOURCE=false +RELATED_UNIT_3_NAME=skladchik-reports-monitor-supervisor.service +RELATED_UNIT_3_ACTIVE=inactive +RELATED_UNIT_3_ENABLED=static +RELATED_UNIT_3_SCRIPT_PRESENT=false +RELATED_UNIT_3_SCRIPT_PATH=NONE +RELATED_UNIT_3_SCRIPT_SHA_MATCH_SOURCE=false +RELATED_UNIT_4_NAME=skladchik-reports-monitor-supervisor.timer +RELATED_UNIT_4_ACTIVE=active +RELATED_UNIT_4_ENABLED=enabled +RELATED_UNIT_4_SCRIPT_PRESENT=false +RELATED_UNIT_4_SCRIPT_PATH=NONE +RELATED_UNIT_4_SCRIPT_SHA_MATCH_SOURCE=false +EXACT_SOURCE_SYSTEMD_REF_COUNT=0 +SOURCE_BASENAME_REFERENCE_COUNT=0 +AST_PARSE_OK=true +OLD_PVE_LITERAL_COUNT=1 +WT0_LITERAL_COUNT=5 +MISSING_LITERAL_COUNT=26 +ERROR_LITERAL_COUNT=5 +IP_ROUTE_GET_TEXT_COUNT=0 +SYSTEMCTL_TEXT_COUNT=4 +SMTP_TEXT_COUNT=0 +SUBPROCESS_CALL_COUNT=3 +JSON_LOAD_COUNT=1 +OLD_PVE_LITERAL_COUNT=1 +OLD_PVE_LITERAL_LINES=102 +WT0_LITERAL_COUNT=3 +WT0_LITERAL_LINES=103,110,251 +MISSING_LITERAL_COUNT=22 +MISSING_LITERAL_LINES=83,164,175,177,221,262,263,264,265,266,267,268,269,270,271,272,292,293,330,331 +ERROR_LITERAL_COUNT=4 +ERROR_LITERAL_LINES=98,143,184,363 +ROUTE_CHECK_COUNT=3 +ROUTE_CHECK_LINES=110,191,251 +MAIN_TIMER_COUNT=2 +MAIN_TIMER_LINES=151,152 +WATCHDOG_COUNT=6 +WATCHDOG_LINES=153,201,249,327,328,338 +HEARTBEAT_COUNT=10 +HEARTBEAT_LINES=154,202,250,283,289,290,291,349,350,355 +AST_TIMER_LITERAL_COUNT=3 +AST_TIMER_1=skladchik-reports-monitor-heartbeat.timer +AST_TIMER_2=skladchik-reports-monitor-watchdog.timer +AST_TIMER_3=skladchik-reports-monitor.timer +AST_SERVICE_LITERAL_COUNT=0 +AST_SAFE_PATH_LITERAL_COUNT=3 +AST_SAFE_PATH_1=/opt/skladchik-reports-monitor/monitor.py +AST_SAFE_PATH_2=/var/lib/skladchik-reports-monitor +AST_SAFE_PATH_3=/var/log/skladchik-reports-monitor/health-alert.log +AST_FUNCTION_COUNT=22 +AST_FUNCTIONS=build_status,do_check,do_heartbeat,do_status,iso_age_seconds,load_monitor_module,load_state,log,main,parse_kv_file,problem_to_ru,route_ok,run_cmd,save_state,send_mail,status_ru,status_to_body,systemd_value,ts,utc_now,write_alert_health,yes_no_ru +AST_OPERATIONAL_VARIABLE_COUNT=11 +AST_OPERATIONAL_VARIABLES=ALERT_HEALTH_PATH,ALERT_REPEAT_SECONDS,MONITOR_PATH,STATE_PATH,expiry_status,last_alert_ts,last_key,mail_sent,state,status,timer_active +CURRENT_OLD_PVE_ROUTE_IFACE=vmbr0 +CURRENT_OLD_PVE_ROUTE_WT0=false +PVE01_WT0_PRESENT=true +SUPERVISOR_ACTIVE=inactive +SUPERVISOR_ENABLED=static +SUPERVISOR_JOURNAL_LINE_COUNT=300 +SUPERVISOR_JOURNAL_ALERT_WORD_COUNT=28 +SUPERVISOR_JOURNAL_ERROR_WORD_COUNT=0 +DECISION=RCA_ALERT_GENERATOR_LOGIC_READ +NEXT_GATE=DESIGN_GENERATOR_REPAIR +TASK_RESULT=SKLADCHIK_ALERT_GENERATOR_LOGIC_RCA CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null MUTATION_OUTCOME=NO_MUTATION -HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261004-SKLADCHIK-EXTERNAL-ALERT-GENERATOR-RCA-99545R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261004-SKLADCHIK-ALERT-GENERATOR-LOGIC-RCA-99547R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} OUTPUT_END CHAT_OUTPUT_END