Skip to content

containerMode: "kubernetes-novolume" has null volume section which causes error #4411

@sanghyuk-lee-lvgs

Description

@sanghyuk-lee-lvgs

Checks

Controller Version

0.13.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. Deploy gha-runner-controller with helm 
2. Set gha-runner-set values as below


githubConfigUrl: "https://github.com/<org>"
githubConfigSecret: github-app-secret

runnerGroup: "Self-hosted"

minRunners: 1
maxRunners: 1
containerMode:
  type: "kubernetes-novolume"
controllerServiceAccount:
  namespace: actions-runner-system
  name: arc-gha-rs-controller


3. Install runner-set with helm


helm install arc-runner oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set -f values.yaml


Pulled: ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set:0.13.1
Digest: sha256:39f9b61ee7e2865d7b8dd0e4e28b7c1a065765fc2ce5bf90874dd8e8be8ee2b2
Error: INSTALLATION FAILED: failed to create resource: AutoscalingRunnerSet.actions.github.com "arc-runner" is invalid: [spec.template.spec.containers[0].volumeMounts: Invalid value: "null": spec.template.spec.containers[0].volumeMounts in body must be of type array: "null", spec.template.spec.volumes: Invalid value: "null": spec.template.spec.volumes in body must be of type array: "null"]

Describe the bug

The helm chart of gha-runner-set is generating invalid AutoscalingRunnerSet yaml.
spec.template.spec.volumes and spec.template.spec.containers.volumeMounts should be [].

But it is null when you chose containerMode: "kubernetes-novolume"

Below is the generated yaml file.

# Source: gha-runner-scale-set/templates/autoscalingrunnerset.yaml
apiVersion: actions.github.com/v1alpha1
kind: AutoscalingRunnerSet
metadata:
  name: arc-runner
  namespace: actions-runner-system
  labels:
    app.kubernetes.io/component: "autoscaling-runner-set"
    helm.sh/chart: gha-rs-0.13.1
    app.kubernetes.io/name: arc-runner
    app.kubernetes.io/instance: arc-runner
    app.kubernetes.io/version: "0.13.1"
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: gha-rs
    actions.github.com/scale-set-name: arc-runner
    actions.github.com/scale-set-namespace: actions-runner-system
  annotations:
    actions.github.com/values-hash: 2cb9f3784d517bba7099dbf240e18cef5556ade71f1aced8f436e974db867ed
    actions.github.com/cleanup-manager-role-binding: arc-runner-gha-rs-manager
    actions.github.com/cleanup-manager-role-name: arc-runner-gha-rs-manager
    actions.github.com/cleanup-kubernetes-mode-role-binding-name: arc-runner-gha-rs-kube-mode
    actions.github.com/cleanup-kubernetes-mode-role-name: arc-runner-gha-rs-kube-mode
    actions.github.com/cleanup-kubernetes-mode-service-account-name: arc-runner-gha-rs-kube-mode

spec:
  githubConfigUrl: https://github.com/<org>
  githubConfigSecret: github-app-secret
  runnerGroup: Self-hosted
  maxRunners: 1
  minRunners: 1

  template:
    spec:
      restartPolicy: Never
      serviceAccountName: arc-runner-gha-rs-kube-mode
      containers:
      - name: runner
        
        command: 
          - /home/runner/run.sh
        image: 
          ghcr.io/actions/actions-runner:latest
        env:
          - name: ACTIONS_RUNNER_CONTAINER_HOOKS
            value: /home/runner/k8s-novolume/index.js
          - name: ACTIONS_RUNNER_POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
          - name: ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER
            value: "true"
          - name: ACTIONS_RUNNER_IMAGE
            value: "ghcr.io/actions/actions-runner:latest"
        volumeMounts:
      
      volumes:

Describe the expected behavior

spec.template.spec.volumes and spec.template.spec.containers.volumeMounts should be [].

Additional Context

githubConfigUrl: "https://github.com/<org>"
githubConfigSecret: github-app-secret

runnerGroup: "Self-hosted"

minRunners: 1
maxRunners: 1
containerMode:
  type: "kubernetes-novolume"
controllerServiceAccount:
  namespace: actions-runner-system
  name: arc-gha-rs-controller

Controller Logs

Nothing special due to failure of installing runner-set.

Runner Pod Logs

No logs due to failure of installing runner-set.

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