feat(reservations): honor domain restrictions for CR reservation scheduling#955
Conversation
|
Warning Review limit reached
More reviews will be available in 28 minutes and 7 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
✨ Finishing Touches🧪 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 📊: 69.6% |
feat(reservations): honor domain restrictions for CR reservation scheduling
CR reservation scheduling was not passing a
domain_namescheduler hint, causingfilter_external_customerto silently skip domain-based host restrictions for all CR reservations.This PR resolves the
DomainIDstored in theReservationCRD to a domain name via Keystone and passes it as thedomain_namescheduler hint, sofilter_external_customercan enforceCUSTOM_EXTERNAL_CUSTOMER_EXCLUSIVEhost restrictions for external customer domains. Failover reservations are unaffected — the filter already skips them by intent.Changes
domain_resolver.go—DomainResolverinterface +keystoneDomainResolverbacked by gophercloud with an in-process cache (domain names are immutable)reservation_controller.go— resolves domain name before building the scheduler request; best-effort: resolver failure logs and proceeds without the hintconfig.go—KeystoneSecretRefandSSOSecretRefadded toReservationControllerConfighelm/bundles/cortex-nova/values.yaml— wireskeystoneSecretRefundercommittedResourceReservationController;ssoSecretRefcommented out following existing conventioncmd/manager/main.go—e2e-novanow accepts a JSON override (same ase2e-commitments) enabling ad-hocdomainNameHintCheckrunse2e_checks.go(nova) —CheckDomainNameHintRoutingsends a synthetic CR scheduling request and confirms the pipeline accepts the hintfilter_external_customercases covering CR intent andSpec.CustomTraits