Implement pipeline quotas on GitLab.com

Since release 10.1 we have had the ability to set pipeline limits per plan, see https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2986.

This issue is to discuss adding quotas for every user on the free plan to something a bit more reasonable than what we have now for pipeline execution, which is unlimited.

@grzesiek comments in slack:

It has some details about why we have not decided to implement that. It is believe that having a limit for X pipelines per Y minutes is better than X pipelines running at the moment.

Even so, I think this is something I would like to do immediately, in advance of being able to set pipeline quotas per project https://gitlab.com/gitlab-org/gitlab-ce/issues/63388 which will be delivered in 12.0.

On GitLab.com active_pipelines_limit and pipeline_size_limit is set to nil for all plans:

Procedure for limiting free plans

  • For the Free plan, start with a limit of 50 pipelines running at the same time (max active pipelines) and 500 jobs in a pipeline (max pipeline size) on a free plan.
p = Plan.find_by(name: 'free')
p.pipeline_size_limit = 500
p.active_pipelines_limit = 50
p.save

GitLab Plans

  • bronze
  • silver
  • gold
  • free
  • early_adopter

Questions

  • What is a good starting limit for free plans?
  • Should we make a public announcement before turning this on?

This might help with the following current and past issues

  • production#895 (closed)
  • https://gitlab.com/gitlab-com/gl-infra/production/issues/819
  • https://gitlab.com/gitlab-com/gl-infra/production/issues/757

More information where quotas were previously discussed in https://gitlab.com/gitlab-org/gitlab-ee/issues/3477

Edited Jun 19, 2019 by John Jarvis
Assignee Loading
Time tracking Loading