Registering new runners on same machine does not increase concurrent count by default

Summary

Registering a new runner on a host does not increase the concurrent = 1 setting in config.toml

The documentation for runner mentions concurrent jobs as a feature request https://docs.gitlab.com/runner/ but does not mention this config setting needs to be updated

  • Allows to run:
  • multiple jobs concurrently

This causes jobs to be stuck in "Pending" state if there are no other hosts available until this config setting is updated. Other runners on the host also do not contact gitlab while a job is running

Steps to reproduce

  • Register multiple runners on the same host
  • Start multiple jobs that will run on that host
  • Observe only one job will be "Running" and others started after that job will be stuck in "Pending" until the running job is completed, even though there are other runners available.
  • Admin runner list shows long "Last contact" times for all runners on that host while a long job is running.

What is the current bug behavior?

Runner config.toml keeps concurrent = 1 when registering more than one runner

What is the expected correct behavior?

Runner config.toml should update concurrent count when registering a new non-shell runner (such as docker) Documentation should mention this value should be updated if you intend to run concurrent runners on a host

Relevant logs and/or screenshots

Default behavior

blocking lastcontact

Expected behavior

concurrent