Skip to content

Remove tools extracted to ci-tools-standalone#5146

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
jmguzik:remove-tools
May 15, 2026
Merged

Remove tools extracted to ci-tools-standalone#5146
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
jmguzik:remove-tools

Conversation

@jmguzik
Copy link
Copy Markdown
Contributor

@jmguzik jmguzik commented Apr 30, 2026

The following tools have been moved to the ci-tools-standalone repository and are removed from this codebase:

  • backport-verifier
  • ci-scheduling-webhook
  • determinize-peribolos
  • gpu-scheduling-webhook
  • helpdesk-faq
  • pipeline-controller
  • pr-reminder
  • publicize
  • retester

This also removes:

  • images/ Dockerfiles for all tools above (except retester which had none)
  • pkg/retester which was exclusively used by cmd/retester

pkg/helpdesk-faq is retained as it is still used by pkg/slack/events/helpdesk.

Made-with: Cursor

Summary

This PR removes nine tools that were extracted to the ci-tools-standalone repository and cleans up their local binaries, images, controllers, tests and documentation. Practically for CI users and operators this means those services are no longer built or deployed from this repo; their runtime behavior has been moved out-of-tree and should now be sourced from the ci-tools-standalone repository.

Removed components (moved out):

  • backport-verifier
  • ci-scheduling-webhook
  • determinize-peribolos
  • gpu-scheduling-webhook
  • helpdesk-faq (cmd binary removed; package retained — see note)
  • pipeline-controller
  • pr-reminder
  • publicize
  • retester

What changed and who it affects

  • Operators / Cluster manifests: executable entrypoints, controller code and Dockerfiles for the listed services were deleted, so this repository no longer builds or packages those images. Deployments previously sourced from this repo must instead reference the artifacts in ci-tools-standalone.
  • CI controllers/services: all runtime logic for scheduling webhooks, pipeline-controller reconciler, retester controller, publicize, backport verification, PR reminders, GPU scheduling and determinize-peribolos CLI were removed — those behaviors have been relocated.
  • Tests and testdata: unit and integration tests and test fixtures associated with the removed tools were deleted; test coverage moved with the tools.
  • Docs and READMEs: per-tool README and documentation files for the removed tools were deleted.

Notable retention and repo references

  • pkg/helpdesk-faq package is retained because pkg/slack/events/helpdesk imports and calls into it; only the standalone cmd for helpdesk-faq was removed.
  • The codebase still contains references to the removed tool names in integration fixtures, cluster-init templates and a few tests (e.g., ci-scheduling-webhook in cluster-init fixtures; tool-detector tests referencing pr-reminder and pipeline-controller). Those references will need to be reconciled where relevant (either updated to point at new locations or removed) to avoid broken tests/deploy manifests.

Release notes (user-facing)

  • Chore: removed nine services from this repository — backport-verifier, ci-scheduling-webhook, determinize-peribolos, gpu-scheduling-webhook, helpdesk-faq (cmd removed; pkg retained), pipeline-controller, pr-reminder, publicize, and retester. Associated Dockerfiles, tests, and documentation were removed. Operators should source and deploy these services from the ci-tools-standalone repository going forward.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: automatic mode

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 30, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: d3c565c2-8be8-4107-888f-b206032c3198

📥 Commits

Reviewing files that changed from the base of the PR and between eadf7aa and 93aadc9.

📒 Files selected for processing (59)
  • cmd/backport-verifier/main.go
  • cmd/backport-verifier/server.go
  • cmd/backport-verifier/server_test.go
  • cmd/ci-scheduling-webhook/main.go
  • cmd/ci-scheduling-webhook/monitoring/failed-pods.sh
  • cmd/ci-scheduling-webhook/monitoring/problem-pods.sh
  • cmd/ci-scheduling-webhook/mutation.go
  • cmd/ci-scheduling-webhook/prioritization.go
  • cmd/ci-scheduling-webhook/readme.md
  • cmd/determinize-peribolos/main.go
  • cmd/gpu-scheduling-webhook/README.md
  • cmd/gpu-scheduling-webhook/main.go
  • cmd/gpu-scheduling-webhook/main_test.go
  • cmd/helpdesk-faq/main.go
  • cmd/pipeline-controller/config_data_provider.go
  • cmd/pipeline-controller/config_data_provider_test.go
  • cmd/pipeline-controller/config_watcher.go
  • cmd/pipeline-controller/config_watcher_test.go
  • cmd/pipeline-controller/helpers.go
  • cmd/pipeline-controller/helpers_test.go
  • cmd/pipeline-controller/main.go
  • cmd/pipeline-controller/main_test.go
  • cmd/pipeline-controller/pipeline_auto_cache.go
  • cmd/pipeline-controller/pipeline_context_test.go
  • cmd/pipeline-controller/reconciler.go
  • cmd/pipeline-controller/reconciler_test.go
  • cmd/pr-reminder/README.md
  • cmd/pr-reminder/main.go
  • cmd/pr-reminder/main_test.go
  • cmd/publicize/README.md
  • cmd/publicize/main.go
  • cmd/publicize/server.go
  • cmd/publicize/server_test.go
  • cmd/retester/main.go
  • cmd/retester/main_test.go
  • images/backport-verifier/Dockerfile
  • images/ci-scheduling-webhook/Dockerfile
  • images/determinize-peribolos/Dockerfile
  • images/gpu-scheduling-webhook/Dockerfile
  • images/helpdesk-faq/Dockerfile
  • images/pipeline-controller/Dockerfile
  • images/pr-reminder/Dockerfile
  • images/publicize/Dockerfile
  • pkg/retester/cache.go
  • pkg/retester/fileBackOffCache.go
  • pkg/retester/retester.go
  • pkg/retester/retester_test.go
  • pkg/retester/s3BackOffCache.go
  • pkg/retester/testdata/NewController/basic_case.yaml
  • pkg/retester/testdata/jobconfig/simple.yaml
  • pkg/retester/testdata/loadFromDiskNow/basic_case.yaml
  • pkg/retester/testdata/loadFromDiskNow/wrong_format.yaml
  • pkg/retester/testdata/prowconfig/simple.yaml
  • pkg/retester/testdata/testconfig/config.yaml
  • pkg/retester/testdata/testconfig/default.yaml
  • pkg/retester/testdata/testconfig/empty.yaml
  • pkg/retester/testdata/testconfig/no-config.yaml
  • pkg/retester/testdata/testconfig/openshift-config.yaml
  • pkg/retester/testdata/testconfig/wrong_format.yaml
💤 Files with no reviewable changes (59)
  • cmd/publicize/README.md
  • cmd/ci-scheduling-webhook/monitoring/problem-pods.sh
  • cmd/pr-reminder/README.md
  • images/gpu-scheduling-webhook/Dockerfile
  • images/pipeline-controller/Dockerfile
  • pkg/retester/testdata/testconfig/no-config.yaml
  • cmd/ci-scheduling-webhook/monitoring/failed-pods.sh
  • pkg/retester/testdata/loadFromDiskNow/wrong_format.yaml
  • pkg/retester/testdata/NewController/basic_case.yaml
  • pkg/retester/testdata/jobconfig/simple.yaml
  • pkg/retester/s3BackOffCache.go
  • images/ci-scheduling-webhook/Dockerfile
  • pkg/retester/testdata/testconfig/wrong_format.yaml
  • cmd/gpu-scheduling-webhook/README.md
  • pkg/retester/testdata/loadFromDiskNow/basic_case.yaml
  • cmd/pipeline-controller/reconciler.go
  • cmd/retester/main_test.go
  • cmd/ci-scheduling-webhook/mutation.go
  • cmd/pipeline-controller/pipeline_auto_cache.go
  • pkg/retester/testdata/testconfig/config.yaml
  • cmd/backport-verifier/main.go
  • pkg/retester/cache.go
  • images/pr-reminder/Dockerfile
  • cmd/gpu-scheduling-webhook/main.go
  • images/publicize/Dockerfile
  • cmd/publicize/main.go
  • pkg/retester/testdata/prowconfig/simple.yaml
  • images/helpdesk-faq/Dockerfile
  • cmd/ci-scheduling-webhook/readme.md
  • cmd/determinize-peribolos/main.go
  • cmd/pipeline-controller/helpers.go
  • cmd/ci-scheduling-webhook/main.go
  • cmd/backport-verifier/server_test.go
  • cmd/publicize/server_test.go
  • cmd/pipeline-controller/config_watcher_test.go
  • cmd/gpu-scheduling-webhook/main_test.go
  • images/backport-verifier/Dockerfile
  • pkg/retester/fileBackOffCache.go
  • pkg/retester/retester.go
  • images/determinize-peribolos/Dockerfile
  • cmd/pr-reminder/main_test.go
  • cmd/pipeline-controller/main_test.go
  • pkg/retester/retester_test.go
  • pkg/retester/testdata/testconfig/openshift-config.yaml
  • cmd/pipeline-controller/reconciler_test.go
  • pkg/retester/testdata/testconfig/default.yaml
  • pkg/retester/testdata/testconfig/empty.yaml
  • cmd/pipeline-controller/helpers_test.go
  • cmd/helpdesk-faq/main.go
  • cmd/pipeline-controller/config_data_provider.go
  • cmd/publicize/server.go
  • cmd/pr-reminder/main.go
  • cmd/pipeline-controller/config_watcher.go
  • cmd/backport-verifier/server.go
  • cmd/retester/main.go
  • cmd/pipeline-controller/pipeline_context_test.go
  • cmd/ci-scheduling-webhook/prioritization.go
  • cmd/pipeline-controller/main.go
  • cmd/pipeline-controller/config_data_provider_test.go

📝 Walkthrough

Walkthrough

This pull request removes multiple CLI tools, webhook services, and their associated components from the codebase, including backport verification, CI scheduling, GPU scheduling, helpdesk FAQ, pipeline automation, PR reminders, publicize, and retester functionality, along with corresponding container images and test coverage.

Changes

Cohort / File(s) Summary
backport-verifier
cmd/backport-verifier/main.go, cmd/backport-verifier/server.go, cmd/backport-verifier/server_test.go, images/backport-verifier/Dockerfile
Removes the complete backport verification webhook service, including CLI entrypoint, server handler logic for validating upstream PR merges, test suite, and container image build configuration.
ci-scheduling-webhook
cmd/ci-scheduling-webhook/main.go, cmd/ci-scheduling-webhook/mutation.go, cmd/ci-scheduling-webhook/prioritization.go, cmd/ci-scheduling-webhook/readme.md, cmd/ci-scheduling-webhook/monitoring/*, images/ci-scheduling-webhook/Dockerfile
Deletes the entire CI workload scheduling webhook, including admission mutation logic (pod/node patching), node scale-down orchestration, monitoring scripts, documentation, and container image configuration.
determinize-peribolos
cmd/determinize-peribolos/main.go, images/determinize-peribolos/Dockerfile
Removes the peribolos config formatting tool entrypoint and container image.
gpu-scheduling-webhook
cmd/gpu-scheduling-webhook/main.go, cmd/gpu-scheduling-webhook/main_test.go, cmd/gpu-scheduling-webhook/README.md, images/gpu-scheduling-webhook/Dockerfile
Eliminates the GPU node toleration webhook, its test coverage, documentation, and Dockerfile.
helpdesk-faq
cmd/helpdesk-faq/main.go, images/helpdesk-faq/Dockerfile
Removes the helpdesk FAQ HTTP service and container image.
pipeline-controller
cmd/pipeline-controller/main.go, cmd/pipeline-controller/config_data_provider.go, cmd/pipeline-controller/config_data_provider_test.go, cmd/pipeline-controller/config_watcher.go, cmd/pipeline-controller/config_watcher_test.go, cmd/pipeline-controller/helpers.go, cmd/pipeline-controller/helpers_test.go, cmd/pipeline-controller/main_test.go, cmd/pipeline-controller/pipeline_auto_cache.go, cmd/pipeline-controller/pipeline_context_test.go, cmd/pipeline-controller/reconciler.go, cmd/pipeline-controller/reconciler_test.go, images/pipeline-controller/Dockerfile
Removes the complete pipeline automation controller, including Kubernetes reconciliation logic, GitHub event handlers, config management, helper utilities, all test coverage, and container image.
pr-reminder
cmd/pr-reminder/main.go, cmd/pr-reminder/main_test.go, cmd/pr-reminder/README.md, images/pr-reminder/Dockerfile
Deletes the PR reminder service that sends Slack notifications, including CLI logic, test suite, documentation, and Dockerfile.
publicize
cmd/publicize/main.go, cmd/publicize/server.go, cmd/publicize/server_test.go, cmd/publicize/README.md, images/publicize/Dockerfile
Removes the publicize plugin for merging commit histories between repositories, including server logic, test coverage, documentation, and container image.
retester
cmd/retester/main.go, cmd/retester/main_test.go, pkg/retester/cache.go, pkg/retester/fileBackOffCache.go, pkg/retester/retester.go, pkg/retester/retester_test.go, pkg/retester/s3BackOffCache.go, pkg/retester/testdata/*, images/retester/Dockerfile
Eliminates the complete retester controller and supporting backoff cache implementations (file and S3-based), all unit/integration tests, test data fixtures, CLI entrypoint, and container image.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 14
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: removing tools that were extracted to ci-tools-standalone repository. It is clear, specific, and directly reflects the primary purpose of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Go Error Handling ✅ Passed Deletions of 9 tools are clean. Retained pkg/helpdesk-faq properly handles errors with fmt.Errorf %w, no ignored errors, no panic, proper nil checks. Dependent code complies.
Test Coverage For New Features ✅ Passed PR removes existing code moved to ci-tools-standalone. No new functionality added, so test coverage check is not applicable. Code removal is consolidation, not new features.
Stable And Deterministic Test Names ✅ Passed The custom check targets Ginkgo test names. However, this repository uses Go's standard testing.T framework exclusively—no Ginkgo tests exist. This PR only removes code; no new tests are added.
Test Structure And Quality ✅ Passed Not applicable. This PR removes tools and restores repository history. The codebase uses standard Go testing.T, not Ginkgo. No Ginkgo tests are involved.
Microshift Test Compatibility ✅ Passed PR removes tools moved to ci-tools-standalone. All changes are deletions with no new Ginkgo e2e tests. The MicroShift compatibility check applies only to new tests.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR removes code (tools extracted to ci-tools-standalone) and contains no new Ginkgo e2e tests. The SNO test compatibility check only applies to newly added tests.
Topology-Aware Scheduling Compatibility ✅ Passed PR removes multiple tools extracted to ci-tools-standalone repository. No new scheduling constraints or deployment manifests are introduced. Check not applicable to removal-only changes.
Ote Binary Stdout Contract ✅ Passed Removed tools are not OTE test binaries. They are Prow plugins, Kubernetes webhooks, and utilities that don't require JSON stdout contracts. Check is not applicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR removes code and tools only—no new Ginkgo e2e tests are added. The custom check is not applicable to deletion-only PRs.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci Bot requested review from droslean and pruan-rht April 30, 2026 09:00
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 30, 2026
@Prucek
Copy link
Copy Markdown
Member

Prucek commented May 4, 2026

/lgtm
/hold

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 4, 2026
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 4, 2026
@jmguzik
Copy link
Copy Markdown
Contributor Author

jmguzik commented May 7, 2026

/retest
/unhold

@openshift-ci openshift-ci Bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 7, 2026
The following tools have been moved to the ci-tools-standalone
repository and are removed from this codebase:

- backport-verifier
- ci-scheduling-webhook
- determinize-peribolos
- gpu-scheduling-webhook
- helpdesk-faq
- pipeline-controller
- pr-reminder
- publicize
- retester

This also removes:
- images/ Dockerfiles for all tools above (except retester which had none)
- pkg/retester which was exclusively used by cmd/retester

pkg/helpdesk-faq is retained as it is still used by pkg/slack/events/helpdesk.

Signed-off-by: Jakub Guzik <jguzik@redhat.com>
Made-with: Cursor
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label May 15, 2026
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 15, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 15, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jmguzik, Prucek

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

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD f86d520 and 2 for PR HEAD 93aadc9 in total

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 9cacb61 and 1 for PR HEAD 93aadc9 in total

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 15, 2026

@jmguzik: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/security 93aadc9 link false /test security

Full PR test history. Your PR dashboard.

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-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot Bot merged commit dd8aab5 into openshift:main May 15, 2026
16 of 17 checks passed
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. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants