Skip to content

Commit e1c10db

Browse files
committed
OTA-1927: Eval cluster update prompts
Add comprehensive MCP test scenarios to evaluation dataset for validating OpenShift cluster update workflow AI responses. These scenarios establish quality benchmarks for LLM outputs across different update phases. Test Scenarios Added (conv_798-802): - Precheck: Pre-upgrade validation and readiness assessment Comprehensive analysis of cluster health, available updates, and upgrade blockers before initiating updates - Precheck-Specific: Targeted upgrade path validation Validates specific version availability and upgrade feasibility for planned update targets - No-Updates: Cluster health assessment at latest version Health monitoring and operational status when no updates are available in current channel - Progress: Real-time upgrade progress monitoring Tracks upgrade progress with component status, timeline analysis, and ETA calculations during active updates - Troubleshoot: Upgrade failure diagnosis and remediation Root cause analysis and conservative troubleshooting guidance for failed or stuck upgrade scenarios Each scenario includes: - Complete analysis prompts with constraints and requirements - Full ClusterVersion YAML data as attachments - Full ClusterOperator YAML data as attachments - Expected responses with Summary and TL;DR sections - Real cluster data from production-like scenarios These scenarios mirror the CONSOLE-5118 OLS integration workflow phases and provide the evaluation baseline for cluster update AI assistance. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> Signed-off-by: Fabricio Aguiar <fabricio.aguiar@gmail.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED
1 parent d79c804 commit e1c10db

3 files changed

Lines changed: 2140 additions & 7 deletions

File tree

eval/README.md

Lines changed: 54 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,64 @@ lightspeed-eval --system-config system.yaml --eval-data eval_data_short.yaml --o
5050

5151
# Full evaluation (797 questions)
5252
lightspeed-eval --system-config system.yaml --eval-data eval_data.yaml --output-dir ./results
53+
54+
# Cluster-updates evaluation (17 conversations, 18 test turns) - uses optimized config
55+
lightspeed-eval --system-config system_cluster_updates.yaml \
56+
--eval-data eval_data_cluster_updates.yaml \
57+
--output-dir ./results
58+
59+
# Run specific cluster-updates test category (e.g., critical tests)
60+
lightspeed-eval --system-config system_cluster_updates.yaml \
61+
--eval-data eval_data_cluster_updates.yaml \
62+
--tags cluster-updates-critical \
63+
--output-dir ./results
5364
```
5465

5566
## What's Included
5667

5768
### Datasets
58-
- **`eval_data_short.yaml`**: 10 conversations
59-
- **`eval_data.yaml`**: 797 conversations
60-
61-
### Configuration
62-
- **`system.yaml`**: Pre-configured for OLS at `localhost:8080`
63-
- **Default metrics**: answer correctness
69+
- **`eval_data_short.yaml`**: 10 conversations (quick smoke test)
70+
- **`eval_data.yaml`**: 797 general OpenShift knowledge questions (conv_001-797)
71+
- **`eval_data_cluster_updates.yaml`**: 17 cluster-updates test conversations (conv_798-814, 18 test turns)
72+
73+
### Test Categories (by tag)
74+
- **cluster-updates-scenarios**: Comprehensive health assessment with extensive constraints (conv_798-802, 5 conversations)
75+
- **cluster-updates-critical**: Condition status interpretation - MUST pass 100% (conv_803)
76+
- **cluster-updates-format**: Output format compliance (Summary + TL;DR) (conv_804)
77+
- **cluster-updates-blockers**: Admin-ack gates and upgrade blockers (conv_805)
78+
- **cluster-updates-risks**: Conditional update risk analysis (conv_806)
79+
- **cluster-updates-path**: Upgrade path validation (conv_807)
80+
- **cluster-updates-troubleshoot**: Failure diagnosis with error extraction (conv_808)
81+
- **cluster-updates-conversation**: Multi-turn conversations (conv_809, 2 turns)
82+
- **cluster-updates-no-updates**: Handling clusters at latest version (conv_810)
83+
- **cluster-updates-channels**: Update channel understanding (conv_811)
84+
- **cluster-updates-mcp**: MachineConfigPool upgrade behavior (conv_812)
85+
- **cluster-updates-pdb**: PodDisruptionBudget impact on upgrades (conv_813)
86+
- **cluster-updates-eus**: EUS (Extended Update Support) upgrades (conv_814)
87+
88+
### Configuration Files
89+
90+
Two configuration files are available depending on your use case:
91+
92+
#### `system.yaml` - Default Configuration
93+
- **Use for:** General OpenShift knowledge evaluation (conv_001-797)
94+
- **API Base:** `http://localhost:8080` (local development)
95+
- **Max Tokens:** 512 (standard responses)
96+
- **API Provider:** `openai`
97+
- **Metrics:** All standard metrics available (Ragas, DeepEval, custom)
98+
99+
#### `system_cluster_updates.yaml` - Cluster-Updates Optimized
100+
- **Use for:** Cluster-updates evaluation (conv_798-814)
101+
- **API Base:** `https://localhost:8080` (same as default)
102+
- **Max Tokens:** 2048 (detailed cluster analysis - 4x larger for complex responses)
103+
- **API Provider:** `myOpenai` (cluster-specific configuration)
104+
- **Output Directory:** `./results` (organized test output)
105+
- **Available Metrics:**
106+
- `custom:answer_correctness` - Basic correctness evaluation
107+
- `geval:condition_status_accuracy` - Kubernetes condition interpretation (threshold: 1.0 - CRITICAL!)
108+
- `geval:output_format_compliance` - Response format validation (threshold: 0.95)
109+
- `geval:technical_accuracy` - OpenShift/Kubernetes domain knowledge (threshold: 0.85)
110+
- `geval:actionable_guidance` - Specific remediation steps (threshold: 0.7)
64111

65112

66113
## Results
@@ -72,4 +119,4 @@ Results are saved in output directories:
72119

73120

74121
## Data & Eval system setup
75-
Refer [Lightspeed Evaluation tool](https://github.com/lightspeed-core/lightspeed-evaluation#readme)
122+
Refer [Lightspeed Evaluation tool](https://github.com/lightspeed-core/lightspeed-evaluation#readme)

0 commit comments

Comments
 (0)