Skip to content

Helm chart fails with multiple executors #46733

@alecsg77

Description

@alecsg77

Official Helm Chart version

main (development)

Apache Airflow version

2.10.5

Kubernetes Version

k3s version v1.31.5+k3s1

Helm Chart configuration

config:
  webserver:
    expose_config: 'True'
webserverSecretKeySecretName: airflow-webserver-secret-key
executor: "CeleryExecutor,KubernetesExecutor"
createUserJob:
  useHelmHooks: false
  applyCustomEnv: false
migrateDatabaseJob:
  useHelmHooks: false
  applyCustomEnv: false
ingress:
  web:
    enabled: true
    ingressClassName: tailscale
    hosts:
      - airflow
    tls:
      enabled: true
dags:
  persistence:
    enabled: true
  gitSync:
    enabled: false

Docker Image customizations

None

What happened

Helm upgrade failed for release airflow/airflow with chart airflow@1.16.0-dev:
cannot patch "airflow-scheduler" with kind Deployment: Deployment.apps "airflow-scheduler" is invalid: metadata.labels: Invalid value: "CeleryExecutor,KubernetesExecutor": a valid label must be an empty string or consist of alphanumeric characters, ''-'', '''' or ''.'', and must start and end with an alphanumeric character (e.g. ''MyValue'', or ''my_value'', or ''12345'', regex used for validation is ''(([A-Za-z0-9][-A-Za-z0-9.]*)?[A-Za-z0-9])?'')'

What you think should happen instead

Successfully update the chart and use the multiple executors feature.

How to reproduce

  • install airflow using the latest official chart (1.15.0)
  • git clone airflow repo and checkout main
  • helm upgrade -f values.yaml airflow ./char/ --namespace airflow

Anything else

Linked to #43224
Scheduler deployment sets a label executor without considering that the executor should be on a comma-separated list.

executor: "{{ .Values.executor }}"

Two possible solutions:

  1. use the first executor in the list as the note in the config section suggests as the default executor (ignoring the others)
  2. generate multiple labels (executor, executor-1, executor-2, ...) for each executor in the list

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:helm-chartAirflow Helm Chartkind:bugThis is a clearly a bugneeds-triagelabel for new issues that we didn't triage yet

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions