feat: update values.yaml and refactor cleanup paths

- Changed project name in values.yaml from "sientia-dataops-model-manager" to "sientia-model-manager".
- Added new environment variables for GitHub repository and branch configuration.
- Refactored cleanup paths to use a centralized REPORTS_TEMP_DIR constant for consistency.
- Updated runtime configurations and adjusted volume mounts for better resource management.
- Enabled SSH access for the model manager and disabled Grafana dashboard creation.
- Updated tests to reflect changes in directory paths and environment variable usage.
This commit is contained in:
vitor-aignosi
2026-04-09 16:37:36 -03:00
parent 526edcb50e
commit c0bef2d688
10 changed files with 96 additions and 37 deletions

View File

@@ -0,0 +1,18 @@
"""Tests for runtime filesystem layout constants."""
from unittest.mock import patch
def test_ensure_runtime_directories_creates_expected_paths():
from model_manager.runtime_paths import (
LOGS_DIR,
REPORTS_ROOT,
REPORTS_TEMP_DIR,
ensure_runtime_directories,
)
with patch('model_manager.runtime_paths.makedirs') as makedirs_mock:
ensure_runtime_directories()
created = {call.args[0] for call in makedirs_mock.call_args_list}
assert created == {REPORTS_ROOT, REPORTS_TEMP_DIR, LOGS_DIR}

View File

@@ -10,6 +10,7 @@ import numpy as np
import pandas as pd
import pytest
from model_manager.runtime_paths import REPORTS_ROOT
from model_manager.utils.models.train_model_params import TrainModelParams
from model_manager.utils.models.train_model_result import TrainModelResult
from model_manager.utils.repository import data_manager_repository as dmr
@@ -475,5 +476,4 @@ def test_extract_model_equation_more_features_than_coefficients():
def test_get_reports_directory_path():
repo = dmr.DataManagerRepository(MagicMock())
reports_dir = repo._get_reports_directory()
assert reports_dir.endswith('reports')
assert 'model_manager' in reports_dir
assert reports_dir == REPORTS_ROOT

View File

@@ -191,7 +191,9 @@ def test_start_prometheus_server_failure(
@patch('model_manager.worker.worker.get_logger')
@patch('model_manager.worker.worker.start_prometheus_server')
@patch('model_manager.worker.worker.metrics')
@patch('model_manager.worker.worker.ensure_runtime_directories')
async def test_main_successful_startup(
mock_ensure_runtime_directories,
mock_metrics,
mock_start_prometheus,
mock_get_logger,
@@ -301,7 +303,9 @@ async def test_main_successful_startup(
@patch('model_manager.worker.worker.get_logger')
@patch('model_manager.worker.worker.start_prometheus_server')
@patch('model_manager.worker.worker.metrics')
@patch('model_manager.worker.worker.ensure_runtime_directories')
async def test_main_handles_exception(
mock_ensure_runtime_directories,
mock_metrics,
mock_start_prometheus,
mock_get_logger,
@@ -406,7 +410,9 @@ async def test_main_handles_exception(
@patch('model_manager.worker.worker.get_logger')
@patch('model_manager.worker.worker.start_prometheus_server')
@patch('model_manager.worker.worker.metrics')
@patch('model_manager.worker.worker.ensure_runtime_directories')
async def test_main_temporal_client_configuration(
mock_ensure_runtime_directories,
mock_metrics,
mock_start_prometheus,
mock_get_logger,
@@ -522,7 +528,9 @@ async def test_main_temporal_client_configuration(
@patch('model_manager.worker.worker.get_logger')
@patch('model_manager.worker.worker.start_prometheus_server')
@patch('model_manager.worker.worker.metrics')
@patch('model_manager.worker.worker.ensure_runtime_directories')
async def test_main_worker_configuration(
mock_ensure_runtime_directories,
mock_metrics,
mock_start_prometheus,
mock_get_logger,
@@ -645,7 +653,9 @@ async def test_main_worker_configuration(
@patch('model_manager.worker.worker.get_logger')
@patch('model_manager.worker.worker.start_prometheus_server')
@patch('model_manager.worker.worker.metrics')
@patch('model_manager.worker.worker.ensure_runtime_directories')
async def test_main_schedule_creation_failure_does_not_stop_worker(
mock_ensure_runtime_directories,
mock_metrics,
mock_start_prometheus,
mock_get_logger,
@@ -754,7 +764,9 @@ async def test_main_schedule_creation_failure_does_not_stop_worker(
@patch('model_manager.worker.worker.get_logger')
@patch('model_manager.worker.worker.start_prometheus_server')
@patch('model_manager.worker.worker.metrics')
@patch('model_manager.worker.worker.ensure_runtime_directories')
async def test_main_missing_runtime_uses_single_fallback(
mock_ensure_runtime_directories,
mock_metrics,
mock_start_prometheus,
mock_get_logger,

View File

@@ -10,6 +10,7 @@ import pytest
@patch('model_manager.workflows.cleanup_files.workflow')
async def test_cleanup_files_workflow(mock_workflow_module):
"""Test the CleanupFiles workflow."""
from model_manager.runtime_paths import REPORTS_TEMP_DIR
from model_manager.workflows.cleanup_files import CleanupFiles
# Mock execute_activity_method
@@ -26,7 +27,7 @@ async def test_cleanup_files_workflow(mock_workflow_module):
# Check cleanup_temp_directories call
local_call_args = calls[0][0][1]
assert local_call_args['temp_path'] == 'model_manager/reports/temp'
assert local_call_args['temp_path'] == REPORTS_TEMP_DIR
assert local_call_args['metadata'] == {
'pod_id': 'temporal-pod',
'workflow_name': 'cleanup_files',