Revert temporary dedicated plan exclusion from usage billing access cut-off
## Summary This issue tracks the revert of the temporary fix implemented in [!14561 (merged)](https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/14561), which excluded dedicated plan customers from usage billing eligibility. ## Background [!14561 (merged)](https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/14561) was merged as a temporary workaround to prevent dedicated customers on older versions (18.6, 18.7) from experiencing "No Credits Error" and potential service cutoffs. The change added an early return in `BillingEligibilityService#billable?` that skips billing checks when `subscription.dedicated_plan?` returns true. This was necessary because dedicated customers were waiting for a patch fix, and their upgrade schedules vary significantly. Without this temporary exclusion, these customers would have required a Self-Managed patch resulting in multiday outages. **Related incident:** https://gitlab.com/gitlab-com/gl-infra/production/-/work_items/21119 ## What needs to be done Once dedicated customers have updated to the patch fix, we need to: 1. **Confirm with the appropriate teams** that all affected dedicated customers have successfully applied the patch and are no longer at risk of service disruption 2. **Verify that events received from these customers have the appropriate attributes** that were added in the backport MRs to ensure proper billing eligibility checks 3. **Revert the changes** from [!14561 (merged)](https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/14561) to restore normal billing eligibility checks for dedicated plan customers 4. **Implement the revert behind a feature flag** to allow quick rollback if any issues arise, preventing customer escalations ## Implementation approach The revert should be implemented with a feature flag (e.g., `enable_dedicated_billing_eligibility`) that: - When enabled (default after rollout): Dedicated customers are subject to normal billing eligibility checks - When disabled (rollback scenario): Dedicated customers are excluded from billing eligibility (current behavior) This approach ensures we can quickly disable the feature flag if unexpected issues occur, without requiring an emergency code revert. ## Files affected - `app/services/billing/usage/billing_eligibility_service.rb` - Remove the early return for dedicated plans (or gate it behind feature flag) - `spec/services/billing/usage/billing_eligibility_service_spec.rb` - Update tests accordingly ## Acceptance criteria - [x] Confirmation received from relevant teams that dedicated customers have applied the patch - [x] Feature flag created for controlling dedicated plan billing eligibility - [ ] Changes from [!14561 (merged)](https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/14561) reverted behind the feature flag - [ ] Tests updated to reflect the revert - [ ] Feature flag gradually rolled out with monitoring for any customer issues - [ ] No customer escalations or service disruptions reported after full rollout
issue