Skip to content

Rename TektonScheduler to TektonKueue - #3809

Open
waveywaves wants to merge 1 commit into
tektoncd:mainfrom
waveywaves:rename/tekton-kueue
Open

Rename TektonScheduler to TektonKueue#3809
waveywaves wants to merge 1 commit into
tektoncd:mainfrom
waveywaves:rename/tekton-kueue

Conversation

@waveywaves

@waveywaves waveywaves commented Jul 24, 2026

Copy link
Copy Markdown
Member

Changes

Rename the Operator component API from TektonScheduler to TektonKueue,
including TektonConfig.spec.kueue, controller wiring, generated clients and
CRDs, RBAC, Helm and OperatorHub manifests, tests, and documentation.

Retain the deprecated TektonScheduler CRD and TektonConfig.spec.scheduler
field during a compatibility window. Pre-upgrade reconciliation migrates
existing configuration and legacy resources to TektonKueue; explicitly
configured spec.kueue values take precedence. It also removes deprecated
InstallerSets and RBAC, waits for legacy resource deletion to complete, and
uses delayed requeues for expected migration steps instead of controller error
backoff.

The branch is rebased onto current main and generated CRD/Helm artifacts are
refreshed against Tekton Kueue v0.4.0. Repository and release-fetch references
use tektoncd/tekton-kueue. Go imports retain
github.com/konflux-ci/tekton-kueue because v0.4.0 still declares that module
path.

Automated migration coverage includes disabled Scheduler configuration,
enabled configuration without a queue override, a changed queue name,
explicit spec.kueue precedence, InstallerSet/RBAC cleanup, and finalizer
handling.

A local Kind upgrade matrix from Operator v0.81.1 on Kubernetes v1.36.1
covered Scheduler disabled, Scheduler enabled with defaults, and Scheduler
enabled with queueName: migration-test-queue. It verified that:

  • disabled configuration migrated without creating a TektonKueue operand;
  • enabled default configuration retained the default pipelines-queue;
  • the custom migration-test-queue value was preserved;
  • enabled TektonKueue resources reached Ready;
  • legacy Scheduler InstallerSets, RBAC, and resources were removed;
  • both old and new CRDs remained served during the compatibility window; and
  • TektonConfig returned to Ready.

A raw-manifest upgrade on OpenShift 4.20.33 from Operator v0.81.1 with
queueName: migration-test-queue independently verified the same migration,
cleanup, queue preservation, and Ready states. All cluster operators remained
available and non-degraded.

Submitter Checklist

These are the criteria that every PR should meet, please check them off as you
review them:

See the contribution guide for more details.

Release Notes

`TektonScheduler` is deprecated in favor of `TektonKueue`, and
`TektonConfig.spec.scheduler` is deprecated in favor of
`TektonConfig.spec.kueue`. Existing configuration is migrated automatically
during pre-upgrade reconciliation.

Action required: rename scheduler image overrides to `IMAGE_KUEUE_MANAGER` and
`IMAGE_KUEUE_WEBHOOK`.

@tekton-robot tekton-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. release-note-action-required Denotes a PR that introduces potentially breaking changes that require user action. labels Jul 24, 2026
@tekton-robot tekton-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Jul 24, 2026
@codecov-commenter

codecov-commenter commented Jul 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 26.76%. Comparing base (572857b) to head (1e28416).
⚠️ Report is 11 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3809      +/-   ##
==========================================
+ Coverage   26.44%   26.76%   +0.31%     
==========================================
  Files         465      473       +8     
  Lines       24992    25250     +258     
==========================================
+ Hits         6610     6757     +147     
- Misses      17661    17758      +97     
- Partials      721      735      +14     
Flag Coverage Δ
unit-tests 26.76% <ø> (+0.31%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@waveywaves
waveywaves marked this pull request as ready for review July 27, 2026 08:40
@tekton-robot tekton-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 27, 2026
@tekton-robot
tekton-robot requested a review from khrm July 27, 2026 08:40
@pramodbindal

Copy link
Copy Markdown
Member

As you mentioned this is breaking change. we need to provide some backward compatibility.

Something like. If you can keep the dummy TektonScheduler for some releases so existing TektonScheduler field does not create any issue and if present we need to move the config to TektonKueue.
This can be done in pre-upgrade Remove the Scheduler so after one release all customers will be moved to TektonScheduler from TektonKueue

@waveywaves
waveywaves marked this pull request as draft July 27, 2026 10:29
@tekton-robot tekton-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 27, 2026
@waveywaves
waveywaves marked this pull request as ready for review July 28, 2026 08:35
@tekton-robot tekton-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 28, 2026
@tekton-robot
tekton-robot requested a review from divyansh42 July 28, 2026 08:36
@anithapriyanatarajan

Copy link
Copy Markdown
Contributor

@waveywaves - do we wait until the tekton-kueue project is moved to tektoncd org?

@vdemeester

Copy link
Copy Markdown
Member

@waveywaves - do we wait until the tekton-kueue project is moved to tektoncd org?

for what is worth, it has moved in tektoncd org today 😛

@anithapriyanatarajan

Copy link
Copy Markdown
Contributor

@waveywaves - do we wait until the tekton-kueue project is moved to tektoncd org?

for what is worth, it has moved in tektoncd org today 😛

Thank you 😄 @waveywaves could you update the import pkg references and components.yaml references. Thank you

@tekton-robot tekton-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Aug 3, 2026
@waveywaves
waveywaves force-pushed the rename/tekton-kueue branch from 5441998 to aad0734 Compare August 6, 2026 13:52
@tekton-robot tekton-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 6, 2026
@waveywaves
waveywaves force-pushed the rename/tekton-kueue branch from aad0734 to 96026cb Compare August 6, 2026 14:33
@tekton-robot tekton-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Aug 6, 2026
@waveywaves
waveywaves force-pushed the rename/tekton-kueue branch from 96026cb to fe54ca5 Compare August 11, 2026 06:18
@tekton-robot tekton-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 11, 2026

@khrm khrm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you run this in OpenShift? Is it working?

@pramodbindal

Copy link
Copy Markdown
Member

@waveywaves
Can you upload the upgrade testing results with following settings in old cluster

  1. When Scheduler is not enabled
  2. When Scheduler is enabled
  3. When Scheduler is enabled and some other param (like default queue name ) is also changed

@tekton-robot tekton-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 25, 2026
@waveywaves
waveywaves force-pushed the rename/tekton-kueue branch from fe54ca5 to afdacc8 Compare August 25, 2026 12:37
@tekton-robot tekton-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 25, 2026
@waveywaves
waveywaves force-pushed the rename/tekton-kueue branch from afdacc8 to 5a5070c Compare August 25, 2026 13:35
@waveywaves

Copy link
Copy Markdown
Member Author

@pramodbindal @khrm I rebased the PR onto current main and expanded the upgrade handling and validation.

The compatibility path now retains the deprecated CRD and spec.scheduler field, migrates existing configuration to TektonKueue, preserves an explicit queue name, removes legacy InstallerSets and RBAC, waits for legacy resource deletion, and keeps spec.kueue authoritative when both fields are present.

Upgrade matrix from Operator v0.81.1 to this PR head (5a5070cc) on Kind/Kubernetes v1.36.1:

Old configuration Result after upgrade
Scheduler disabled spec.kueue.disabled=true; no TektonKueue operand created; legacy RBAC absent; both CRDs served; TektonConfig Ready
Scheduler enabled with defaults spec.kueue.disabled=false; default pipelines-queue preserved; TektonKueue Ready; legacy CR/InstallerSets/RBAC removed; both CRDs served; TektonConfig Ready
Scheduler enabled with queueName: migration-test-queue spec.kueue.disabled=false; queue preserved; TektonKueue Ready; legacy CR/InstallerSets/RBAC removed; both CRDs served; TektonConfig Ready; full local apply-to-ready upgrade completed in 86 seconds

The upgrade runs also exposed two issues that are now fixed and covered: a missing delete permission for cert-manager resources during legacy InstallerSet cleanup, and expected migration steps returning ordinary errors, which allowed a long controller retry backoff. Migration now uses fixed delayed requeues.

Local make test, make lint, and generated CRD/Helm synchronization pass. GitHub build, test, lint, generated-code, multi-arch, security analysis, and Kubernetes e2e checks pass.

I also ran the representative custom-queue upgrade through the raw OpenShift manifests on OpenShift 4.20.33/Kubernetes v1.33.13. The apply-to-ready phase completed in 132 seconds: the queue was preserved, TektonKueue and TektonConfig became Ready, legacy InstallerSets/RBAC/resource were removed, both CRDs remained served, all operand pods were healthy, and no cluster operator was degraded or unavailable.

@waveywaves

Copy link
Copy Markdown
Member Author

cc @jkhelil

@tekton-robot tekton-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 30, 2026
Rename the component API, controllers, clients, CRDs, manifests, and
documentation to match Tekton Kueue.

Retain the deprecated TektonScheduler API and TektonConfig scheduler field
for upgrade compatibility. Pre-upgrade reconciliation migrates legacy
configuration and resources to TektonKueue, preserves queue configuration,
and removes obsolete InstallerSets, RBAC, and resources.

Use tektoncd/tekton-kueue for repository and release references. Keep Go
imports on github.com/konflux-ci/tekton-kueue because v0.4.0 still declares
that module path.

BREAKING CHANGE: TektonScheduler and TektonConfig.spec.scheduler are
deprecated in favor of TektonKueue and TektonConfig.spec.kueue. Image
overrides now use IMAGE_KUEUE_MANAGER and IMAGE_KUEUE_WEBHOOK.

Signed-off-by: waveywaves <11972233+waveywaves@users.noreply.github.com>
@waveywaves
waveywaves force-pushed the rename/tekton-kueue branch from 5a5070c to 1e28416 Compare August 31, 2026 05:26
@tekton-robot tekton-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 31, 2026
@waveywaves

Copy link
Copy Markdown
Member Author

@khrm @pramodbindal Could you please take another look?

@tekton-robot tekton-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 1, 2026
@tekton-robot

Copy link
Copy Markdown
Contributor

@waveywaves: PR needs rebase.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@khrm

khrm commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

I think we shoudl merge this since it was tested in OpenShift.

@khrm khrm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

@waveywaves Please rebase.

@tekton-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: khrm

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. release-note-action-required Denotes a PR that introduces potentially breaking changes that require user action. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants