diff --git a/tests/configuration/benchmarks-postgres.yaml b/tests/configuration/benchmarks-postgres.yaml index ab94a7d59..718fc785c 100644 --- a/tests/configuration/benchmarks-postgres.yaml +++ b/tests/configuration/benchmarks-postgres.yaml @@ -9,12 +9,12 @@ service: access_log: true ogx: # Uses a remote OGX service - # The instance would have already been started with a llama-stack-run.yaml file + # The instance would have already been started with a run.yaml file use_as_library_client: false # Alternative for "as library use" # use_as_library_client: true - # library_client_config_path: - url: http://llama-stack:8321 + # library_client_config_path: + url: http://ogx:8321 api_key: xyzzy user_data_collection: feedback_enabled: true diff --git a/tests/configuration/benchmarks-sqlite.yaml b/tests/configuration/benchmarks-sqlite.yaml index 63ea9d925..1284c25c1 100644 --- a/tests/configuration/benchmarks-sqlite.yaml +++ b/tests/configuration/benchmarks-sqlite.yaml @@ -9,12 +9,12 @@ service: access_log: true ogx: # Uses a remote OGX service - # The instance would have already been started with a llama-stack-run.yaml file + # The instance would have already been started with a run.yaml file use_as_library_client: false # Alternative for "as library use" # use_as_library_client: true - # library_client_config_path: - url: http://llama-stack:8321 + # library_client_config_path: + url: http://ogx:8321 api_key: xyzzy user_data_collection: feedback_enabled: true diff --git a/tests/configuration/lightspeed-stack-proper-name.yaml b/tests/configuration/lightspeed-stack-proper-name.yaml index 60add8957..5ede2acf5 100644 --- a/tests/configuration/lightspeed-stack-proper-name.yaml +++ b/tests/configuration/lightspeed-stack-proper-name.yaml @@ -22,11 +22,11 @@ service: - baz_header ogx: # Uses a remote OGX service - # The instance would have already been started with a llama-stack-run.yaml file + # The instance would have already been started with a run.yaml file use_as_library_client: false # Alternative for "as library use" # use_as_library_client: true - # library_client_config_path: + # library_client_config_path: url: http://localhost:8321 api_key: xyzzy user_data_collection: diff --git a/tests/configuration/lightspeed-stack.yaml b/tests/configuration/lightspeed-stack.yaml index b548c96fe..416647300 100644 --- a/tests/configuration/lightspeed-stack.yaml +++ b/tests/configuration/lightspeed-stack.yaml @@ -22,11 +22,11 @@ service: - baz_header ogx: # Uses a remote OGX service - # The instance would have already been started with a llama-stack-run.yaml file + # The instance would have already been started with a run.yaml file use_as_library_client: false # Alternative for "as library use" # use_as_library_client: true - # library_client_config_path: + # library_client_config_path: url: http://localhost:8321 api_key: xyzzy user_data_collection: diff --git a/tests/configuration/minimal-stack.yaml b/tests/configuration/minimal-stack.yaml index c0e5f5305..7ff9e4432 100644 --- a/tests/configuration/minimal-stack.yaml +++ b/tests/configuration/minimal-stack.yaml @@ -1,5 +1,5 @@ version: '2' -distro_name: llamastack-minimal-stack +distro_name: ogx-minimal-stack container_image: null external_providers_dir: /tmp @@ -9,10 +9,10 @@ storage: backends: kv_default: type: kv_sqlite - db_path: '/tmp/test_llama_stack_kv.db' + db_path: '/tmp/test_ogx_kv.db' sql_default: type: sql_sqlite - db_path: '/tmp/test_llama_stack_sql.db' + db_path: '/tmp/test_ogx_sql.db' stores: metadata: namespace: registry diff --git a/tests/configuration/run.yaml b/tests/configuration/run.yaml index 374dab491..1ccf733cc 100644 --- a/tests/configuration/run.yaml +++ b/tests/configuration/run.yaml @@ -1,5 +1,5 @@ version: '2' -distro_name: minimal-viable-llama-stack-configuration +distro_name: minimal-viable-ogx-configuration apis: - responses diff --git a/tests/e2e/configuration/README.md b/tests/e2e/configuration/README.md index c9dad6890..397d3088d 100644 --- a/tests/e2e/configuration/README.md +++ b/tests/e2e/configuration/README.md @@ -10,10 +10,11 @@ This directory contains configuration files used for end-to-end testing of Light ## Library mode uses unified configs (LCORE-2342) The library-mode configurations use the unified single-file format: instead of -the legacy `llama_stack.library_client_config_path`, they carry +the legacy `ogx.library_client_config_path` (the deprecated `llama_stack` YAML +section alias is still accepted), they carry ```yaml -llama_stack: +ogx: use_as_library_client: true config: profile: run.yaml diff --git a/tests/e2e/configuration/library-mode/lightspeed-stack-shields-empty.yaml b/tests/e2e/configuration/library-mode/lightspeed-stack-shields-empty.yaml index 17291966d..5a5021bf0 100644 --- a/tests/e2e/configuration/library-mode/lightspeed-stack-shields-empty.yaml +++ b/tests/e2e/configuration/library-mode/lightspeed-stack-shields-empty.yaml @@ -9,7 +9,7 @@ service: workers: 1 color_log: true access_log: true -llama_stack: +ogx: # Library mode - embeds OGX as library use_as_library_client: true # Unified mode: run.yaml (materialized per provider by CI/the harness) diff --git a/tests/e2e/configuration/library-mode/lightspeed-stack-shields-override-disabled.yaml b/tests/e2e/configuration/library-mode/lightspeed-stack-shields-override-disabled.yaml index 442b55ca2..f93d32297 100644 --- a/tests/e2e/configuration/library-mode/lightspeed-stack-shields-override-disabled.yaml +++ b/tests/e2e/configuration/library-mode/lightspeed-stack-shields-override-disabled.yaml @@ -11,7 +11,7 @@ service: workers: 1 color_log: true access_log: true -llama_stack: +ogx: # Library mode - embeds OGX as library use_as_library_client: true # Unified mode: run.yaml (materialized per provider by CI/the harness) diff --git a/tests/e2e/configuration/library-mode/lightspeed-stack-shields.yaml b/tests/e2e/configuration/library-mode/lightspeed-stack-shields.yaml index b00d2250e..b6c308d58 100644 --- a/tests/e2e/configuration/library-mode/lightspeed-stack-shields.yaml +++ b/tests/e2e/configuration/library-mode/lightspeed-stack-shields.yaml @@ -1,5 +1,5 @@ # @cfg_shields -# LCORE-owned safety shields (not Llama Stack / OGX Safety API resources). +# LCORE-owned safety shields (not OGX Safety API resources). # Configures one shield of each supported type so GET /v1/shields can be # asserted against both `question_validity` and `redaction` shapes. See # tests/e2e/features/shields.feature. @@ -11,7 +11,7 @@ service: workers: 1 color_log: true access_log: true -llama_stack: +ogx: # Library mode - embeds OGX as library use_as_library_client: true # Unified mode: run.yaml (materialized per provider by CI/the harness) diff --git a/tests/e2e/configuration/server-mode/lightspeed-stack-authorized.yaml b/tests/e2e/configuration/server-mode/lightspeed-stack-authorized.yaml index 946e606f6..941f5657b 100644 --- a/tests/e2e/configuration/server-mode/lightspeed-stack-authorized.yaml +++ b/tests/e2e/configuration/server-mode/lightspeed-stack-authorized.yaml @@ -12,11 +12,11 @@ service: access_log: true ogx: # Uses a remote OGX service - # The instance would have already been started with a llama-stack-run.yaml file + # The instance would have already been started with a run.yaml file use_as_library_client: false # Alternative for "as library use" # use_as_library_client: true - # library_client_config_path: + # library_client_config_path: url: http://${env.E2E_OGX_HOSTNAME}:8321 api_key: xyzzy user_data_collection: diff --git a/tests/e2e/configuration/server-mode/lightspeed-stack-negative.yaml b/tests/e2e/configuration/server-mode/lightspeed-stack-negative.yaml index 20a6c6f78..7d7832f11 100644 --- a/tests/e2e/configuration/server-mode/lightspeed-stack-negative.yaml +++ b/tests/e2e/configuration/server-mode/lightspeed-stack-negative.yaml @@ -13,11 +13,11 @@ service: access_log: true ogx: # Uses a remote OGX service - # The instance would have already been started with a llama-stack-run.yaml file + # The instance would have already been started with a run.yaml file use_as_library_client: false # Alternative for "as library use" # use_as_library_client: true - # library_client_config_path: + # library_client_config_path: url: http://${env.E2E_OGX_HOSTNAME}:8321 api_key: xyzzy user_data_collection: diff --git a/tests/e2e/configuration/server-mode/lightspeed-stack-shields-empty.yaml b/tests/e2e/configuration/server-mode/lightspeed-stack-shields-empty.yaml index 02eb06cea..1a5233af3 100644 --- a/tests/e2e/configuration/server-mode/lightspeed-stack-shields-empty.yaml +++ b/tests/e2e/configuration/server-mode/lightspeed-stack-shields-empty.yaml @@ -9,7 +9,7 @@ service: workers: 1 color_log: true access_log: true -llama_stack: +ogx: # Server mode - connects to separate OGX service use_as_library_client: false url: http://${env.E2E_OGX_HOSTNAME}:8321 diff --git a/tests/e2e/configuration/server-mode/lightspeed-stack-shields-override-disabled.yaml b/tests/e2e/configuration/server-mode/lightspeed-stack-shields-override-disabled.yaml index 645117283..40220313b 100644 --- a/tests/e2e/configuration/server-mode/lightspeed-stack-shields-override-disabled.yaml +++ b/tests/e2e/configuration/server-mode/lightspeed-stack-shields-override-disabled.yaml @@ -11,7 +11,7 @@ service: workers: 1 color_log: true access_log: true -llama_stack: +ogx: # Server mode - connects to separate OGX service use_as_library_client: false url: http://${env.E2E_OGX_HOSTNAME}:8321 diff --git a/tests/e2e/configuration/server-mode/lightspeed-stack-shields.yaml b/tests/e2e/configuration/server-mode/lightspeed-stack-shields.yaml index 2ea4827db..f0a9d33e4 100644 --- a/tests/e2e/configuration/server-mode/lightspeed-stack-shields.yaml +++ b/tests/e2e/configuration/server-mode/lightspeed-stack-shields.yaml @@ -1,5 +1,5 @@ # @cfg_shields -# LCORE-owned safety shields (not Llama Stack / OGX Safety API resources). +# LCORE-owned safety shields (not OGX Safety API resources). # Configures one shield of each supported type so GET /v1/shields can be # asserted against both `question_validity` and `redaction` shapes. See # tests/e2e/features/shields.feature. @@ -11,7 +11,7 @@ service: workers: 1 color_log: true access_log: true -llama_stack: +ogx: # Server mode - connects to separate OGX service use_as_library_client: false url: http://${env.E2E_OGX_HOSTNAME}:8321 diff --git a/tests/e2e/features/environment.py b/tests/e2e/features/environment.py index 4fc2346fc..0fa71ac59 100644 --- a/tests/e2e/features/environment.py +++ b/tests/e2e/features/environment.py @@ -32,7 +32,6 @@ prepare_tls_feature_entry_on_prow, reset_tls_prow_state, ) -from tests.e2e.utils.ogx_utils import register_shield from tests.e2e.utils.prow_utils import ( restart_pod, restore_ogx_pod, @@ -252,15 +251,6 @@ def before_scenario(context: Context, scenario: Scenario) -> None: # Reset force-restart from a prior disrupt/MCP reset scenario. context.force_lightspeed_restart_after_mcp_config_reset = False - # Clear shield unregister state from previous scenarios (see ``shields_are_disabled_for_scenario``). - for _attr in ( - "shields_disabled_for_scenario", - "ogx_guard_provider_id", - "ogx_guard_provider_shield_id", - ): - if hasattr(context, _attr): - delattr(context, _attr) - def _dump_pod_logs_on_failure( context: Context, scenario: Scenario, namespace: str @@ -268,6 +258,7 @@ def _dump_pod_logs_on_failure( """Dump container logs when a scenario fails in Prow.""" if scenario.status != "failed": return + # Pod names match tests/e2e-prow manifests (legacy llama-stack-service id). pods: tuple[str, ...] = ("llama-stack-service", "lightspeed-stack-service") feature = getattr(context, "feature", None) feat_file = getattr(feature, "filename", "") or "" if feature else "" @@ -287,7 +278,7 @@ def _dump_pod_logs_on_failure( def after_scenario(context: Context, scenario: Scenario) -> None: """Run after each scenario is run. - Perform per-scenario teardown: failure logs (Prow) and shield re-register. + Perform per-scenario teardown: failure logs (Prow). If ``configure_service`` applied a non-baseline YAML during the scenario (``context.scenario_lightspeed_override_active``), clears that flag only; @@ -304,7 +295,7 @@ def after_scenario(context: Context, scenario: Scenario) -> None: running before the scenario. - hostname_ogx, port_ogx (str/int, optional): host and port used for the OGX health check. - scenario (Scenario): Behave scenario (unused; shield restore uses context flags). + scenario (Scenario): Behave scenario used for failure log dumps in Prow. """ if is_prow_environment(): _dump_pod_logs_on_failure( @@ -314,21 +305,6 @@ def after_scenario(context: Context, scenario: Scenario) -> None: if getattr(context, "scenario_lightspeed_override_active", False): context.scenario_lightspeed_override_active = False - # Re-register shield if ``Given shields are disabled for this scenario`` unregistered it. - if getattr(context, "shields_disabled_for_scenario", False): - provider_id = getattr(context, "ogx_guard_provider_id", None) - provider_shield_id = getattr(context, "ogx_guard_provider_shield_id", None) - if provider_id is not None and provider_shield_id is not None: - try: - register_shield( - "llama-guard", - provider_id=provider_id, - provider_shield_id=provider_shield_id, - ) - print("Re-registered shield llama-guard") - except (TypeError, ValueError, RuntimeError, KeyboardInterrupt) as e: - print(f"Warning: Could not re-register shield: {e}") - def _print_ogx_diagnostics() -> None: """Print container state, health, and recent logs to diagnose why OGX did not recover.""" diff --git a/tests/e2e/features/proxy.feature b/tests/e2e/features/proxy.feature index 813011e79..0eb5edc7b 100644 --- a/tests/e2e/features/proxy.feature +++ b/tests/e2e/features/proxy.feature @@ -5,9 +5,9 @@ Feature: Proxy and TLS networking tests for OGX providers remote inference providers are configured with proxy and TLS settings via the run.yaml NetworkConfig. - Query bodies use shield_ids: [] because Llama Guard moderation can issue - separate provider calls inside OGX that may not inherit the same - proxy/TLS CA trust as the scenario's remote inference provider. + Query bodies use shield_ids: [] so LCORE-owned shields (e.g. pii-redaction in + the default config) do not run; scenarios then exercise only the remote + inference provider's proxy/TLS path. Background: Given The service is started locally diff --git a/tests/e2e/features/query.feature b/tests/e2e/features/query.feature index 67fd86322..8bdb7b701 100644 --- a/tests/e2e/features/query.feature +++ b/tests/e2e/features/query.feature @@ -317,7 +317,6 @@ Scenario: Check if LLM responds for query request with error for missing query #https://issues.redhat.com/browse/LCORE-1387 @skip Scenario: Check if query without shields returns 413 when question is too long for model context - Given shields are disabled for this scenario When I use "query" to ask question with too-long query and authorization header Then The status code of the response is 413 And The body of the response contains Prompt is too long diff --git a/tests/e2e/features/steps/README.md b/tests/e2e/features/steps/README.md index db2233cfe..1c4125b5f 100644 --- a/tests/e2e/features/steps/README.md +++ b/tests/e2e/features/steps/README.md @@ -64,10 +64,6 @@ Behave steps for POST /v1/responses (LCORE Responses API) multi-turn tests. rlsapi v1 endpoint test steps. -## [shields.py](shields.py) - -Behave steps for temporarily disabling OGX shields in e2e (server mode). - ## [tls.py](tls.py) Step definitions for TLS configuration e2e tests. diff --git a/tests/e2e/features/steps/shields.py b/tests/e2e/features/steps/shields.py deleted file mode 100644 index 1ac4f4443..000000000 --- a/tests/e2e/features/steps/shields.py +++ /dev/null @@ -1,35 +0,0 @@ -"""Behave steps for temporarily disabling OGX shields in e2e (server mode).""" - -from behave import given # pyright: ignore[reportAttributeAccessIssue] -from behave.runner import Context - -from tests.e2e.utils.ogx_utils import unregister_shield - - -@given("shields are disabled for this scenario") -def shields_are_disabled_for_scenario(context: Context) -> None: - """Unregister ``llama-guard`` for this scenario; ``after_scenario`` restores it when possible. - - Sets ``context.shields_disabled_for_scenario`` so ``environment.after_scenario`` - re-registers the shield. **Server mode only**; in library mode the scenario is skipped - (no separate OGX to call). - - Parameters: - ---------- - context: Behave context; must expose ``is_library_mode`` and ``scenario``. - """ - if context.is_library_mode: - context.scenario.skip( - "Shield unregister/register only applies in server mode (OGX as a " - "separate service). In library mode the app's shields cannot be disabled from e2e." - ) - return - - try: - saved = unregister_shield("llama-guard") - context.ogx_guard_provider_id = saved[0] if saved else None - context.ogx_guard_provider_shield_id = saved[1] if saved else None - context.shields_disabled_for_scenario = True - print("Unregistered shield llama-guard for this scenario") - except Exception as e: # pylint: disable=broad-exception-caught - context.scenario.skip(f"Could not unregister shield (is OGX reachable?): {e}") diff --git a/tests/e2e/features/streaming_query.feature b/tests/e2e/features/streaming_query.feature index 24f78d398..5455fbe79 100644 --- a/tests/e2e/features/streaming_query.feature +++ b/tests/e2e/features/streaming_query.feature @@ -282,8 +282,9 @@ Feature: streaming_query endpoint API tests Then The status code of the response is 413 And The body of the response contains Prompt is too long + # https://issues.redhat.com/browse/LCORE-1387 + @skip Scenario: Check if streaming_query without shields returns 200 and error in stream when question is too long for model context - Given shields are disabled for this scenario When I use "streaming_query" to ask question with too-long query and authorization header Then The status code of the response is 200 And The streamed response contains error message Prompt is too long diff --git a/tests/e2e/utils/README.md b/tests/e2e/utils/README.md index 1f7e3a4ac..6d8c8c55d 100644 --- a/tests/e2e/utils/README.md +++ b/tests/e2e/utils/README.md @@ -8,10 +8,6 @@ Helpers for reading and updating OGX run.yaml across environments. Thin Prow/OpenShift wrappers for OGX run.yaml ConfigMap operations. -## [ogx_utils.py](ogx_utils.py) - -E2E test utilities for OGX shields. - ## [prow_utils.py](prow_utils.py) Prow/OpenShift-specific utility functions for E2E tests. diff --git a/tests/e2e/utils/ogx_config_utils.py b/tests/e2e/utils/ogx_config_utils.py index c4599c9f2..6002f20b8 100644 --- a/tests/e2e/utils/ogx_config_utils.py +++ b/tests/e2e/utils/ogx_config_utils.py @@ -27,14 +27,14 @@ def clear_ogx_config_backup() -> None: def reset_ogx_run_config_to_pipeline_default() -> None: - """Reset llama-stack-config run.yaml to Konflux/Prow pipeline seed (run-ci.yaml).""" + """Reset OGX run.yaml ConfigMap to Konflux/Prow pipeline seed (run-ci.yaml).""" if not is_prow_environment(): return run_ci = Path(__file__).resolve().parents[1] / "configs" / "run-ci.yaml" if not run_ci.is_file(): print(f"WARN: pipeline run.yaml seed not found at {run_ci}", flush=True) return - print(f"Resetting llama-stack-config from {run_ci.name}...", flush=True) + print(f"Resetting OGX run config from {run_ci.name}...", flush=True) update_ogx_run_configmap(str(run_ci)) diff --git a/tests/e2e/utils/ogx_utils.py b/tests/e2e/utils/ogx_utils.py deleted file mode 100644 index 5fa7d3f15..000000000 --- a/tests/e2e/utils/ogx_utils.py +++ /dev/null @@ -1,115 +0,0 @@ -"""E2E test utilities for OGX shields. - -This module provides functions to manage shields on a running OGX -instance during end-to-end tests: unregister/re-register shields (e.g. from the -``Given shields are disabled for this scenario`` step). - -Only applies when running OGX as a separate service (server mode). -Requires E2E_OGX_STACK_URL or E2E_OGX_HOSTNAME and E2E_OGX_PORT. -""" - -import asyncio -import os -from typing import Optional - -from ogx_client import ( - ApiException, - AsyncOgxClient, -) - -from tests.e2e.utils.utils import is_prow_environment - - -def _get_ogx_client() -> AsyncOgxClient: - """Build an AsyncOgxClient from env (for e2e test use).""" - base_url = os.getenv("E2E_OGX_STACK_URL") - if not base_url: - if is_prow_environment(): - host = os.getenv("E2E_OGX_HOSTNAME", "localhost") - else: - host = "localhost" - port = os.getenv("E2E_OGX_PORT", "8321") - base_url = f"http://{host}:{port}" - api_key = os.getenv("E2E_OGX_STACK_API_KEY", "xyzzy") - timeout = int(os.getenv("E2E_OGX_STACK_TIMEOUT", "60")) - return AsyncOgxClient(base_url=base_url, api_key=api_key, timeout=timeout) - - -# ----------------------------------------------------------------------------- -# Shields -# ----------------------------------------------------------------------------- - - -async def _unregister_shield_async(identifier: str) -> Optional[tuple[str, str]]: - """Unregister a shield by identifier; return (provider_id, provider_shield_id) for restore.""" - client = _get_ogx_client() - try: - shields = await client.shields.list() - provider_id = None - provider_shield_id = None - found = False - for shield in shields: - if getattr(shield, "identifier", None) == identifier: - provider_id = getattr(shield, "provider_id", None) - provider_shield_id = getattr( - shield, "provider_resource_id", None - ) or getattr(shield, "provider_shield_id", None) - found = True - break - if not found: - # Shield not registered; nothing to delete, scenario can proceed - return None - try: - await client.shields.delete(identifier) - except ApiException as e: - if not e.status: - raise - # 400 "not found": shield already absent, scenario can proceed - if e.status == 400 and "not found" in str(e).lower(): - return None - raise - if provider_id is not None and provider_shield_id is not None: - return (provider_id, provider_shield_id) - return None - finally: - await client.close() - - -async def _register_shield_async( - shield_id: str, - provider_id: str, - provider_shield_id: str, -) -> None: - """Register a shield (restore after unregister).""" - client = _get_ogx_client() - try: - await client.shields.register( - shield_id=shield_id, - provider_id=provider_id, - provider_shield_id=provider_shield_id, - ) - finally: - await client.close() - - -def unregister_shield( - identifier: str = "llama-guard", -) -> Optional[tuple[str, str]]: - """Unregister the shield via client.shields.delete(); return (provider_id, provider_shield_id).""" - return asyncio.run(_unregister_shield_async(identifier)) - - -def register_shield( - shield_id: str = "llama-guard", - provider_id: Optional[str] = None, - provider_shield_id: Optional[str] = None, -) -> None: - """Re-register the shield via client.shields.register().""" - if not provider_id: - provider_id = os.getenv("E2E_OGX_GUARD_PROVIDER_ID", "llama-guard") - if not provider_shield_id: - provider_shield_id = os.getenv( - "E2E_OGX_GUARD_PROVIDER_SHIELD_ID", - "openai/gpt-4o-mini", - ) - asyncio.run(_register_shield_async(shield_id, provider_id, provider_shield_id)) diff --git a/tests/e2e/utils/prow_utils.py b/tests/e2e/utils/prow_utils.py index ea7b1bb57..0dc855a3a 100644 --- a/tests/e2e/utils/prow_utils.py +++ b/tests/e2e/utils/prow_utils.py @@ -106,7 +106,7 @@ def restart_pod(container_name: str) -> None: if container_name in _OGX_RESTART_NAMES: op = "restart-ogx" # Subprocess cap must exceed e2e-ops internal waits (pod + in-pod health + port-forward). - # Konflux TLS full recreate: ~6–12 min typical, 15+ min under load (user-reported 400s+). + # Konflux TLS full recreate: ~6-12 min typical, 15+ min under load (user-reported 400s+). if os.environ.get("E2E_COPY_MOCK_TLS_CERTS_TO_OGX") == "1": timeout = 1200 elif os.environ.get("E2E_KONFLUX_E2E") == "1": @@ -115,7 +115,7 @@ def restart_pod(container_name: str) -> None: timeout = 420 elif container_name in _LIGHTSPEED_RESTART_NAMES: op = "restart-lightspeed" - # Konflux LCS: TCP readiness + Llama handshake; full recreate can exceed 10 min under load. + # Konflux LCS: TCP readiness + OGX handshake; full recreate can exceed 10 min under load. timeout = 1200 if os.environ.get("E2E_KONFLUX_E2E") == "1" else 320 else: print( diff --git a/tests/integration/test_unified_synthesis.py b/tests/integration/test_unified_synthesis.py index fa7c8d1e6..33a08b279 100644 --- a/tests/integration/test_unified_synthesis.py +++ b/tests/integration/test_unified_synthesis.py @@ -35,7 +35,7 @@ # A complete, valid lightspeed-stack.yaml used as the base for configs that # are loaded through the real AppConfig.load_configuration pipeline; -# individual tests override its llama_stack / inference sections. +# individual tests override its ogx / inference sections. _BASE_CONFIG_PATH = "tests/configuration/lightspeed-stack.yaml" # A representative operator-authored legacy run.yaml. It deliberately carries @@ -471,7 +471,7 @@ def test_migrate_then_synthesize_preserves_enrichment_parity( def test_load_rejects_config_block_and_legacy_path_together( tmp_path: Path, ) -> None: - """A llama_stack.config block plus a legacy path fails the real load (R3).""" + """An ogx.config block plus a legacy path fails the real load (R3).""" lcs_dict = _base_config_dict() lcs_dict["ogx"] = { "use_as_library_client": True, diff --git a/tests/unit/pydantic_ai_lightspeed/llamastack/README.md b/tests/unit/pydantic_ai_lightspeed/llamastack/README.md deleted file mode 100644 index 7944b07e8..000000000 --- a/tests/unit/pydantic_ai_lightspeed/llamastack/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# List of source files stored in `tests/unit/pydantic_ai_lightspeed/llamastack` directory - diff --git a/tests/unit/telemetry/conftest.py b/tests/unit/telemetry/conftest.py index 903a9170c..a13f43647 100644 --- a/tests/unit/telemetry/conftest.py +++ b/tests/unit/telemetry/conftest.py @@ -241,8 +241,8 @@ ], "safety": [ { - "provider_id": "llama-guard", - "provider_type": "inline::llama-guard", + "provider_id": "content-filter", + "provider_type": "inline::content-filter", "config": {}, }, ], @@ -264,7 +264,7 @@ }, ], "shields": [ - {"shield_id": "llama-guard", "provider_id": "llama-guard"}, + {"shield_id": "content-filter", "provider_id": "content-filter"}, ], "vector_stores": [], }, diff --git a/tests/unit/test_ogx_synthesize.py b/tests/unit/test_ogx_synthesize.py index 88d339465..2cefb8468 100644 --- a/tests/unit/test_ogx_synthesize.py +++ b/tests/unit/test_ogx_synthesize.py @@ -223,9 +223,9 @@ def test_default_baseline_resolves_when_openai_api_key_set( ({"a": 1}, {"a": 2}, {"a": 2}), # maps merge recursively, untouched keys preserved ( - {"safety": {"default_shield_id": "llama-guard", "x": 1}}, + {"safety": {"default_shield_id": "content-filter", "x": 1}}, {"safety": {"x": 2}}, - {"safety": {"default_shield_id": "llama-guard", "x": 2}}, + {"safety": {"default_shield_id": "content-filter", "x": 2}}, ), # lists replace wholesale (no append) ( @@ -1002,7 +1002,7 @@ def test_synthesize_to_file_tightens_perms_on_overwrite(tmp_path: Path) -> None: }, ], }, - "safety": {"default_shield_id": "llama-guard", "excluded_categories": []}, + "safety": {"default_shield_id": "content-filter", "excluded_categories": []}, }