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:
18
tests/test_runtime_paths.py
Normal file
18
tests/test_runtime_paths.py
Normal 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}
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user