Skip to content

Fix Helm chart executor label to support executor aliases#67762

Merged
jscheffl merged 3 commits into
apache:mainfrom
Anuragp22:fix/helm-executor-aliases-67723
May 30, 2026
Merged

Fix Helm chart executor label to support executor aliases#67762
jscheffl merged 3 commits into
apache:mainfrom
Anuragp22:fix/helm-executor-aliases-67723

Conversation

@Anuragp22
Copy link
Copy Markdown
Contributor

@Anuragp22 Anuragp22 commented May 30, 2026

What does this PR do?

The chart renders the executor option into a Kubernetes executor label on the scheduler Deployment/StatefulSet (chart/templates/scheduler/scheduler-deployment.yaml). The value was sanitized for the comma separating multiple executors, but not for the colon used in executor aliases (name:ExecutorClass).

So executor: CeleryExecutor,harvest_exec:KubernetesExecutor rendered the label CeleryExecutor-harvest_exec:KubernetesExecutor, whose embedded : is an invalid label character and made the scheduler fail to deploy:

metadata.labels: Invalid value: "CeleryExecutor-harvest_exec:KubernetesExecutor": a valid label must consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character

Fix

Add replace ":" "-" next to the existing comma handling so aliased and multi-executor values render a valid label. This is the only place the executor option is used as a label value; the AIRFLOW__CORE__EXECUTOR env var still receives the raw string.

Tests

Added an aliased multi-executor case to test_labels_are_valid. It reproduces the invalid label without the fix and passes with it; the full test_basic_helm_chart.py suite passes (45) on Helm 3.19.0.

closes: #67723


Was generative AI tooling used to co-author this PR?
  • Yes (please specify the tool below)

Generated-by: Claude Code (Opus 4.8) following the guidelines


The scheduler Deployment/StatefulSet renders the executor option into a
Kubernetes label and only sanitized the comma separator used between
multiple executors. Executor aliases (name:ExecutorClass) contain a
colon, which is not a valid label character, so a value such as
CeleryExecutor,harvest_exec:KubernetesExecutor produced an invalid label
and the scheduler failed to deploy.

Replace the colon with a hyphen alongside the existing comma handling so
aliased and multi-executor configurations render a valid label.
Comment thread chart/newsfragments/67762.bugfix.rst Outdated
@jscheffl jscheffl added the backport-to-chart/v1-2x-test Automatic backport to chart 1.2x maintenance branch label May 30, 2026
jscheffl
jscheffl approved these changes May 30, 2026
@jscheffl jscheffl merged commit 62d60e4 into apache:main May 30, 2026
104 checks passed
@boring-cyborg
Copy link
Copy Markdown

boring-cyborg Bot commented May 30, 2026

Awesome work, congrats on your first merged pull request! You are invited to check our Issue Tracker for additional contributions.

@github-actions
Copy link
Copy Markdown
Contributor

Backport failed to create: chart/v1-2x-test. View the failure log Run details

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
chart/v1-2x-test Commit Link

You can attempt to backport this manually by running:

cherry_picker 62d60e4 chart/v1-2x-test

This should apply the commit to the chart/v1-2x-test branch and leave the commit in conflict state marking
the files that need manual conflict resolution.

After you have resolved the conflicts, you can continue the backport process by running:

cherry_picker --continue

If you don't have cherry-picker installed, see the installation guide.

@jscheffl
Copy link
Copy Markdown
Contributor

Manual backport in #67775

bugraoz93 pushed a commit that referenced this pull request May 30, 2026
…aliases (#67762) (#67775)

* Fix Helm chart executor label to support executor aliases

The scheduler Deployment/StatefulSet renders the executor option into a
Kubernetes label and only sanitized the comma separator used between
multiple executors. Executor aliases (name:ExecutorClass) contain a
colon, which is not a valid label character, so a value such as
CeleryExecutor,harvest_exec:KubernetesExecutor produced an invalid label
and the scheduler failed to deploy.

Replace the colon with a hyphen alongside the existing comma handling so
aliased and multi-executor configurations render a valid label.

* Add newsfragment for executor alias label fix

* Remove newsfragment; not needed for a bugfix per AGENTS.md
(cherry picked from commit 62d60e4)

Co-authored-by: Anurag Pappula <127645370+Anuragp22@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:helm-chart Airflow Helm Chart backport-to-chart/v1-2x-test Automatic backport to chart 1.2x maintenance branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Helm Chart does not support executor aliases

2 participants