mirror of
https://github.com/dredx/prole.git
synced 2026-09-23 10:13:58 +00:00
Summary: Removed the prole-db-manager microservice and simplified deployment to use prole-authority as the internal management and authorization point. Fixed two blocking bugs that prevented silent install from completing on knoe-dev-cluster. Removed: prole-db-manager - Deleted db-manager-deployment.yaml and db-manager-service.yaml from opentofu manifests - Deleted src/db-manager/ (Dockerfile, server.js, package.json, tests) - Removed prole-db-manager port-forward mapping from installer/core/env.py - Removed init_db_manager.sh from Initialization Scripts (milestones.py, actions.py) - Removed init_certmgr.sh and init_db_manager.sh tabs from services screen (services.py) - Removed live k8s Deployment/Service from knoe-dev-cluster Fixed: PostgreSQL version downgrade error (pg17 -> pg18) - Created conf/postgresql/.version with value 18 - Updated k8s/prole/prole-db.yaml and prole-db-recovery.yaml.tpl imageName to prole-db:18-089 - Fixed _init_database_options_state() to restore saved version_type from prole.cfg so db_version_type defaults to v18 (pg18) instead of silently reverting to pg17 - Added database_options.* keys to _collect_input_snapshot() in cfg.py so distribution, version_type, and all extension toggles persist to prole.cfg Fixed: Cluster name inconsistency - Removed stale prole-dev-cluster references; all scripts now use knoe-dev-cluster - Added knoe-dev-cluster to mode-detection case in etc/prole_cfg.sh Config: conf/prole.cfg - Set kerberos_config.enabled = False, KERBEROS_AUTO_ENABLED = False - Added database_options.distribution = percona, version_type = v18 - Added all 13 extension flags set to True (postgis, pgvector, pgcrypto, pgaudit, pg_repack, pg_stat_statements, pg_buffercache, pg_freespacemap, pgrowlocks, postgres_fdw, dblink, pg_stat_monitor, pgbadger) Verification: ./install.py -s -l -v -c conf/prole.cfg completed successfully. CNPG deployed prole-db:18-089 to knoe-dev-cluster; all milestones passed. Co-authored-by: Junie <junie@jetbrains.com>
38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
"""
|
|
Shared fixtures for installer unit tests.
|
|
|
|
Resets stale tkinter MagicMocks before each test so that tests in
|
|
test_screen.py don't hit exhausted side-effect iterators left over from
|
|
test_navigation.py (which replaces sys.modules["tkinter"] at module level).
|
|
"""
|
|
import sys
|
|
import pytest
|
|
from unittest.mock import MagicMock
|
|
|
|
import installer.screen as _screen_module
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def reset_tkinter_mock():
|
|
"""
|
|
Before each test, replace any stale tkinter MagicMock with a fresh
|
|
instance both in sys.modules and in installer.screen module namespace,
|
|
so TerminalConsole widget calls don't hit exhausted side-effect iterators.
|
|
"""
|
|
original_screen_tk = getattr(_screen_module, "tk", None)
|
|
if isinstance(original_screen_tk, MagicMock):
|
|
fresh = MagicMock()
|
|
_screen_module.tk = fresh
|
|
for mod_name in (
|
|
"tkinter",
|
|
"tkinter.ttk",
|
|
"tkinter.scrolledtext",
|
|
"tkinter.messagebox",
|
|
):
|
|
if mod_name in sys.modules and isinstance(sys.modules[mod_name], MagicMock):
|
|
sys.modules[mod_name] = fresh
|
|
yield
|
|
# Restore original reference so other tests in the suite are unaffected
|
|
if isinstance(original_screen_tk, MagicMock):
|
|
_screen_module.tk = original_screen_tk
|