TRT-2733: Add CR BigQuery/PostgreSQL parity tooling - #3925
Conversation
Add two scripts for measuring and diagnosing Component Readiness parity between the BigQuery and PostgreSQL providers (dataSource toggle): - cr-parity-check.py: samples CR API configurations against both providers and reports factual differences (grid status mismatches, regressed_tests differences, response times). - cr-parity-analyze.py: drills into test_details for both providers to attribute each mismatch, reporting all contributing factors per cell (job scope, ingestion gaps, run-count divergence with direction, outcome divergence, and PG capability drill-down gaps). Document usage in scripts/README.md and add pyyaml to requirements.txt (used by the analyzer to parse config/openshift.yaml). Supports parity work under TRT-2733 (TRT-2804, TRT-2861, TRT-2911, TRT-2912). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: automatic mode |
|
@mstaeble: This pull request references TRT-2733 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "5.1.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Warning Review limit reached
Next review available in: 3 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: mstaeble The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@mstaeble: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Summary
Adds two scripts for measuring and diagnosing Component Readiness (CR) parity between the BigQuery and PostgreSQL providers (selected per request via the
dataSourcequery parameter). These support the ongoing work to bring the PostgreSQL CR implementation to parity with BigQuery under epic TRT-2733.scripts/cr-parity-check.py: samples CR API configurations against both providers and reports factual differences without attributing causes: grid status-pair mismatches,regressed_testsdifferences per cell, and per-provider response times. Supports--jsonfor downstream analysis.scripts/cr-parity-analyze.py: consumes the--jsonoutput and drills intotest_detailsfor both providers to attribute each mismatch. Resolves grid-level cells to a representative test whose per-test status actually flips (drilling both providers), and reports every contributing factor per cell:job_scope(TRT-2861)ingestion_gap_bq/ingestion_gap_pg(e.g. ROSA HCP release-variant assignment, TRT-2912)run_count_divergencewith net BQ-PG direction (dedup, TRT-2804)outcome_divergence(same runs, different pass/fail/flake)pg_capability_empty(PG component drill-down returns no capability/test rows, TRT-2911)Documentation
scripts/README.mddocuments purpose, both scripts with options and examples, the typical workflow, and links to the tracked parity gaps.scripts/requirements.txtaddspyyaml(used by the analyzer to parseconfig/openshift.yaml; falls back to a built-in parser if absent).Notes
These are read-only diagnostic tools that talk to a running Sippy API (staging or prod); they do not require direct database access. Force refresh is kept on by default when measuring parity, since cached CR results can be up to about 4 hours stale and produce spurious mismatches.
🤖 Generated with Claude Code