Skip to content

GraphQL: Deprecate active filter for Runners resolver

What does this MR do and why?

Describe in detail what your merge request does and why.

This MR (together with !79017 (merged)) work towards replacing the active nomenclature from the RunnerType GraphQL type with a more user-friendly paused nomenclature. It deprecates the active filter and adds a paused filter to the RunnersResolver.

Screenshots or screen recordings

These are strongly recommended to assist reviewers and reduce the time to merge your change.

2022-01-24_at_15.44

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

  1. Make sure you have some runners registered on your local GDK (ideally some of them paused)

  2. Open http://gdk.test:3000/-/graphql-explorer

  3. Use the following query:

    GraphQL query
    query getRunners {
      runners(paused:false) {
        nodes {
          id
          runnerType
          active
        }
      }
    }
  4. The result should look something like the following:

    GraphQL JSON response
    {
      "data": {
        "runners": {
          "nodes": [
            {
              "id": "gid://gitlab/Ci::Runner/109",
              "runnerType": "PROJECT_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/108",
              "runnerType": "PROJECT_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/102",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/98",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/97",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/94",
              "runnerType": "PROJECT_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/83",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/79",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/78",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/70",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/67",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/65",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/61",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/55",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/54",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/53",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/52",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/51",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/50",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/48",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/34",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/33",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/32",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/25",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/24",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/23",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/22",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/21",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/20",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/19",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/18",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/17",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/16",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/15",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/14",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/10",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/9",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/7",
              "runnerType": "GROUP_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/6",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/5",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            },
            {
              "id": "gid://gitlab/Ci::Runner/4",
              "runnerType": "INSTANCE_TYPE",
              "active": true
            }
          ]
        }
      }
    }
  5. Try the same query with paused: true

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Part of #344918 (closed) #347211 (closed)

Edited by Pedro Pombeiro

Merge request reports