forked from percona/orchestrator
-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Tier C: Full Regression Suite
Comprehensive validation of all features shipped in Phases 1-3.
Pre-requisites
- Functional testing: Tier A — Core smoke test with real services #43 (Tier A) passes
- Functional testing: Tier B — Failover test with ProxySQL hook validation #44 (Tier B) passes (or at least attempted)
Chi Router Regression (v1 API)
Verify critical v1 API endpoints still work after the martini→chi migration:
-
GET /api/clusters— list clusters -
GET /api/cluster/{alias}— cluster instances -
GET /api/instance/{host}/{port}— instance detail -
GET /api/topology/{cluster}— topology view -
GET /api/problems— replication problems -
GET /api/audit-recovery— audit trail -
PUT /api/begin-maintenance/{host}/{port}/{reason}— begin maintenance -
PUT /api/end-maintenance/{host}/{port}— end maintenance -
GET /api/cluster-info/{alias}— cluster info -
GET /api/master/{alias}— cluster master - Static file serving: CSS, JS, images load correctly
API v2 Validation
-
GET /api/v2/clusters— returns V2APIResponse envelope -
GET /api/v2/clusters/{alias}— cluster detail -
GET /api/v2/clusters/{alias}/instances— instances in cluster -
GET /api/v2/instances/{host}/{port}— instance detail with proper 404 on not-found -
GET /api/v2/topology/{cluster}— topology -
GET /api/v2/recoveries— recovery list -
GET /api/v2/status— status endpoint -
GET /api/v2/proxysql/servers— ProxySQL servers - Error responses return proper HTTP status codes (not 200)
Prometheus Metrics
-
/metricsreturns valid Prometheus exposition format -
orchestrator_instances_totalgauge has a value > 0 -
orchestrator_clusters_totalgauge has a value > 0 -
orchestrator_discoveries_totalcounter increments over time - Metrics are scrapeable by a Prometheus instance (optional: add Prometheus container)
Health Endpoints
-
/health/livereturns 200 always -
/health/readyreturns 200 when healthy, 503 when backend unreachable -
/health/leaderreturns 200 (non-raft mode)
Database Provider
- Verify
GetProvider()returns MySQL provider at runtime - Verify provider methods work against real MySQL instances
Web UI
- Homepage loads without errors
- Cluster topology visualization renders
- Navigation works (clusters, search, audit)
Findings
(To be updated as tests run)
Bugs Found
(To be updated — each bug gets its own issue)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request