feat(quota-enforcement): split accept_skipped decision into sub-buckets#1022
Conversation
Break the generic accept_skipped decision label emitted by the quota
enforcement nova filter into three more descriptive buckets so operators
can distinguish the underlying reason directly from the metric:
- accept_skipped_intent_migration: external non-consuming intents
(evacuate, live_migrate) where the VM already exists and is only
being moved.
- accept_skipped_intent_internal: cortex-internal reservation intents
(reserve_for_failover, reserve_for_committed_resource).
- accept_skipped_missing_data: request is missing project ID,
availability zone, or hw_version. The specific missing field
remains in the trace log.
The decision label is used because the cardinality growth is bounded
(5 accept variants total) and downstream dashboards can pattern-match
accept_skipped_* if a rollup is still needed.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThis PR splits the generic ChangesQuota Enforcement Skip Metrics Refinement
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
Test Coverage ReportTest Coverage 📊: 70.1% |
Break the generic accept_skipped decision label emitted by the quota enforcement nova filter into three more descriptive buckets so operators can distinguish the underlying reason directly from the metric:
The decision label is used because the cardinality growth is bounded (5 accept variants total) and downstream dashboards can pattern-match accept_skipped_* if a rollup is still needed.