-
Notifications
You must be signed in to change notification settings - Fork 16.4k
Description
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:
- use the first executor in the list as the note in the config section suggests as the default executor (ignoring the others)
- 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
- I agree to follow this project's Code of Conduct