[Task] Add installer daemon rollback drill and production runbook coverage #212

Closed
opened 2026-07-07 15:03:56 +02:00 by zemion · 1 comment
Owner

Objective

Make installer daemon failure and rollback behavior operationally testable before production use.

Scope

  • Add scripted rollback drill scenarios for package failure, migration failure, restart failure, health timeout, and destructive retirement failure.
  • Document expected run records and operator remediation steps.
  • Add PostgreSQL backup/restore examples and checks.
  • Keep FastAPI free of direct pip/npm execution.

Acceptance Criteria

  • Runbook covers daemon startup, request queueing, rollback, retry, and stale lock recovery.
  • Drill scripts exercise at least SQLite and documented PostgreSQL hook paths.
  • Gitea/wiki docs explain manual intervention points.

Codex-Fingerprint: installer-daemon-rollback-drill-runbook

## Objective Make installer daemon failure and rollback behavior operationally testable before production use. ## Scope - Add scripted rollback drill scenarios for package failure, migration failure, restart failure, health timeout, and destructive retirement failure. - Document expected run records and operator remediation steps. - Add PostgreSQL backup/restore examples and checks. - Keep FastAPI free of direct pip/npm execution. ## Acceptance Criteria - [ ] Runbook covers daemon startup, request queueing, rollback, retry, and stale lock recovery. - [ ] Drill scripts exercise at least SQLite and documented PostgreSQL hook paths. - [ ] Gitea/wiki docs explain manual intervention points. Codex-Fingerprint: installer-daemon-rollback-drill-runbook
Author
Owner

Codex State: done

Summary

  • Added a safe rollback drill script and production runbook coverage for installer daemon rollback behavior.

Changed Files

  • Added scripts/module-installer-rollback-drill.py covering package failure, migration failure, restart failure, health timeout, destructive retirement failure, PostgreSQL-style backup/check/restore hooks, daemon queue retry/cancel, and stale lock detection; expanded docs/RELEASE_DEPENDENCIES.md with drill commands, run-record checks, PostgreSQL hook examples, retry/cancel flow, and stale lock recovery guidance.

Verification

  • ./.venv/bin/python scripts/module-installer-rollback-drill.py --format json
  • ./.venv/bin/python -m py_compile scripts/module-installer-rollback-drill.py
  • ./.venv/bin/python -m unittest tests.test_module_system.ModuleSystemTests.test_supervised_module_install_rollback_restores_desired_modules tests.test_module_system.ModuleSystemTests.test_module_installer_external_database_backup_command_is_recorded tests.test_module_system.ModuleSystemTests.test_module_installer_external_database_restore_check_runs_before_migrations tests.test_module_system.ModuleSystemTests.test_module_installer_external_database_restore_command_runs_on_rollback tests.test_module_system.ModuleSystemTests.test_module_installer_request_queue_round_trips tests.test_module_system.ModuleSystemTests.test_module_installer_daemon_status_reports_heartbeat tests.test_module_system.ModuleSystemTests.test_module_installer_daemon_once_exits_with_empty_queue
  • ./.venv/bin/python scripts/check_dependency_boundaries.py
## Codex State: done ### Summary - Added a safe rollback drill script and production runbook coverage for installer daemon rollback behavior. ### Changed Files - `Added scripts/module-installer-rollback-drill.py covering package failure, migration failure, restart failure, health timeout, destructive retirement failure, PostgreSQL-style backup/check/restore hooks, daemon queue retry/cancel, and stale lock detection; expanded docs/RELEASE_DEPENDENCIES.md with drill commands, run-record checks, PostgreSQL hook examples, retry/cancel flow, and stale lock recovery guidance.` ### Verification - `./.venv/bin/python scripts/module-installer-rollback-drill.py --format json` - `./.venv/bin/python -m py_compile scripts/module-installer-rollback-drill.py` - `./.venv/bin/python -m unittest tests.test_module_system.ModuleSystemTests.test_supervised_module_install_rollback_restores_desired_modules tests.test_module_system.ModuleSystemTests.test_module_installer_external_database_backup_command_is_recorded tests.test_module_system.ModuleSystemTests.test_module_installer_external_database_restore_check_runs_before_migrations tests.test_module_system.ModuleSystemTests.test_module_installer_external_database_restore_command_runs_on_rollback tests.test_module_system.ModuleSystemTests.test_module_installer_request_queue_round_trips tests.test_module_system.ModuleSystemTests.test_module_installer_daemon_status_reports_heartbeat tests.test_module_system.ModuleSystemTests.test_module_installer_daemon_once_exits_with_empty_queue` - `./.venv/bin/python scripts/check_dependency_boundaries.py`
zemion added the
type
task
status
ready
labels 2026-07-07 23:07:45 +02:00
zemion added the
module/core
label 2026-07-07 23:41:26 +02:00
zemion added the
area/deployment
label 2026-07-10 19:48:20 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: add-ideas/govoplan-core#212
No description provided.