Do not show runners that are not available due to plan type in the runner list

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Details

This issue is to ensure that allowed_plans works properly. This feature is still behind a FF #361639 (closed).

Users should know that some runners will not be able to run their jobs. For example, this job is not running with an accurate "stuck" error. This is because the test project's namespace is on a free plan. The runner is still shown on the group AND project page as "available". These runners will never be able to pick up scheduled jobs when the namespace is using a free plan.

A scenario would be that I'm on a free plan, and in my project I see an online runner blue-1.saas-linux-large-amd64.runners-manager.gitlab.com tagged with a saas-linux-large-amd64 tag and yet when I tag my job with it, I get a "no runners tagged with saas-linux-large-amd64 error. This is because during job scheduling allowed_plans is taken into account and if the project is not within that plan, the job is ignored for that runner (just like it would use a wrong tag).

Proposal

Do not show these runners in the runner list for a project or group.

Project Group
Screen_Shot_2022-11-28_at_10.58.41_AM Screen_Shot_2022-11-28_at_10.59.54_AM
Edited by 🤖 GitLab Bot 🤖