Enhance CI minutes banner and e-mails that warn of low availability of minutes left
Context
On GitLab.com, when Pipeline quotas is running low, there will be a banner to warn the Group owner of the CI minutes left in their namespace. Currently, this will be shown in percentage 30%, 5%, and 0% as mentioned in CI/CD consumption FAQ.
Problem 1: 30% threshold increases as overall denominator of compute minutes increase
For the first 2 purchases of 1000 additional CI minutes, this will make sense as when there're less than 30% (720) of 2000 total CI minutes available, the banner go away after each purchase. However after third purchase onward, it would get harder and hard to remove the banner as the total Pipeline quotas expand.
For customers who have Ultimate subscription, their pipeline quotas would start at 50000 minutes. If they reach 30% or 5%, it would cause a confusing experience after they purchase additional CI minutes.
Problem 2: banners are based on additional minutes, not total minutes left
Originally from this issue: #334904 (closed)
A customer internally is reporting that they:
received this …
30% or less Shared Runner Pipeline minutes remaining[warning][But] I see that we've used a 100% of our regular minutes and 39% of our additional minutes.
Why do we get this message when clearly we still have enough minutes? And it's also the last day of the month.
- calculation: ee/app/models/ci/minutes/quota.rb
- warning triggered: /ee/app/models/ci/minutes/notification.rb#L7-60
If I understand correctly the sum of the monthly and additional minutes is used to calculate the threshold.
Proposal
-
We should show (in the e-mails and banners) exactly the count of CI minutes left in their Pipeline quotas so the customer is better informed. -
We should link out out to the usage quotas page in these banners/e-mails to give the customer a better resource to understand their usage -
We should decrease the 30% threshold to 25% since 30% is quite high -
Show the banners on the Usage Quotas pages, too -
Make banners/emails based on total minute usage (subscription minutes + additional minutes) instead of just additional minutes. It is not actionable to show banners/emails on just one of those if the other bucket is still available. -
(optional enhancement) we should give customers the option to disable these notifications if they don't like them
Other suggestions
- We should also allow the customer to configure a threshold that would trigger the banner.