Skip to content

No gha-runner-scale-set pods were created when I specified resourceClaims in values.yaml of gha-runner-scale-set. #4379

@rkmrHonjo

Description

@rkmrHonjo

Checks

Controller Version

0.12.1

Deployment Method

Helm

Checks

  • This isn't a question or user support case (For Q&A and community support, go to Discussions).
  • I've read the Changelog before submitting this issue and I'm sure it's not due to any recently-introduced backward-incompatible changes

To Reproduce

1. Enable DynamicResourceAllocation on a k8s cluster. My k8s version is 1.32.6.
2. Create resourceClaimTemplate "l4-gpu" to attach GPUs to pods.
3. Deploy gha-runner-scale-set-controller by helm.
4. Create the following values.yaml for runner-scale-set.

~~~
$ cat test-runner.yaml
githubConfigUrl: "https://github.com/XXXX"
githubConfigSecret: "XXXX-github-app"
maxRunners: 2
minRunners: 1
template:
  spec:
    containers:
      - name: runner
        image: ghcr.io/actions/actions-runner:latest
        #command: ["/home/runner/run.sh"]
        command: ["/bin/bash","-c","sudo apt-get update && sudo apt-get install curl unzip jq wget python3-pip git-all -y && /home/runner/run.sh"]
        resources:
          limits:
            cpu: "4"
            memory: "16Gi"
          requests:
            cpu: "4"
            memory: "16Gi"
          claims:
            - name: l4-gpu
    resourceClaims:
      - name: l4-gpu
        resourceClaimTemplateName: l4-gpu
~~~

5. Deploy gha-runner-scale-set by helm.

~~~
$ helm install test-runners-set \
    --namespace arc-runners \
    --create-namespace \
    -f test-runner.yaml \
    oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set \
    --version 0.12.1
~~~

Describe the bug

No gha-runner-scale-set pods were created when I specified resourceClaims in values.yaml of gha-runner-scale-set. And error appeared on controller.

I can create & use gha-runner-scale-set pods if I don't specify resourceClaims. And, I can attach GPUs to any pods other than the gha-runner-scale-set pods.

Can I use resourceClaims for gha-runner-scale-set pods?

This is an example manifest of pods. Pods with GPUs were created when I applied this manifest. So DynamicResourceAllocation and the resourceClaims definition is not wrong.

apiVersion: v1
kind: Pod
metadata:
  namespace: arc-runners
  name: pod
  labels:
    app: pod
spec:
  containers:
  - name: ctr0
    image: ubuntu:22.04
    command: ["bash", "-c"]
    args: ["nvidia-smi -L; trap 'exit 0' TERM; sleep 9999 & wait"]
    resources:
      claims:
      - name: l4-gpu
  - name: ctr1
    image: ubuntu:22.04
    command: ["bash", "-c"]
    args: ["nvidia-smi -L; trap 'exit 0' TERM; sleep 9999 & wait"]
    resources:
      claims:
      - name: l4-gpu
  resourceClaims:
  - name: l4-gpu
    resourceClaimTemplateName: l4-gpu
  tolerations:
  - key: "nvidia.com/gpu"
    operator: "Exists"
    effect: "NoSchedule"

Describe the expected behavior

I expected that gha-runner-scale-set pods with GPUs was created.

Additional Context

-

Controller Logs

This is a controller log. This says that ResourceClaimName and ResourceClaimTemplateName are nil. But I specified it. Please see "Describe the bug".

~~~
$ kubectl logs arc-gha-rs-controller-769c8bf975-bn9tq     -n arc-systems |grep ERR
[...]
2025-12-23T11:10:44Z    ERROR   EphemeralRunner Failed to create a pod due to unrecoverable failure     {"version": "0.12.1", "ephemeralrunner": {"name":"XXXX-runners-gpu-l4-tvprj-runner-j259b","namespace":"arc-runners"}, "error": "Pod \"XXXX-runners-gpu-l4-tvprj-runner-j259b\" is invalid: spec.resourceClaims[0]: Invalid value: core.PodResourceClaim{Name:\"l4-gpu\", ResourceClaimName:(*string)(nil), ResourceClaimTemplateName:(*string)(nil)}: must specify one of: `resourceClaimName`, `resourceClaimTemplateName`"}
[...]
~~~

Runner Pod Logs

No gha-runner-scale-set pods were created.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggha-runner-scale-setRelated to the gha-runner-scale-set modeneeds triageRequires review from the maintainers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions