-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Open
Labels
bugSomething isn't workingSomething isn't workinggha-runner-scale-setRelated to the gha-runner-scale-set modeRelated to the gha-runner-scale-set modeneeds triageRequires review from the maintainersRequires review from the maintainers
Description
Checks
- I've already read https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/troubleshooting-actions-runner-controller-errors and I'm sure my issue is not covered in the troubleshooting guide.
- I am using charts that are officially provided
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.Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinggha-runner-scale-setRelated to the gha-runner-scale-set modeRelated to the gha-runner-scale-set modeneeds triageRequires review from the maintainersRequires review from the maintainers