Skip to content

OCPBUGS-81452: Synchronize From Upstream Repositories#696

Open
openshift-bot wants to merge 96 commits intoopenshift:mainfrom
openshift-bot:synchronize-upstream
Open

OCPBUGS-81452: Synchronize From Upstream Repositories#696
openshift-bot wants to merge 96 commits intoopenshift:mainfrom
openshift-bot:synchronize-upstream

Conversation

@openshift-bot
Copy link
Copy Markdown

@openshift-bot openshift-bot commented Apr 9, 2026

JIRA Tickets:

  • OCPBUGS-81452

The downstream repository has been updated with the following following upstream commits:

Date Commit Author Message
2026-04-10 19:20:06 operator-framework/operator-controller@dd57c28 dependabot[bot] 🌱 Bump helm.sh/helm/v3 from 3.20.1 to 3.20.2 (#2642)
2026-04-10 15:35:39 operator-framework/operator-controller@6c65316 dependabot[bot] 🌱 Bump github.com/operator-framework/operator-registry (#2641)
2026-04-10 15:10:24 operator-framework/operator-controller@3c3d348 dependabot[bot] 🌱 Bump github.com/operator-framework/api from 0.41.0 to 0.42.0 (#2640)
2026-04-10 14:59:24 operator-framework/operator-controller@ebea1e0 Todd Short Replace generated mozilla_data.go with go:embed + runtime parsing (#2634)
2026-04-09 19:48:03 operator-framework/operator-controller@b6dfd40 Camila Macedo Upgrade boxcutter to v0.13.1 and remove collision detection workaround (#2637)
2026-04-09 19:45:20 operator-framework/operator-controller@a34d269 Camila Macedo fix: aggregate phase errors to handle SSA migration conflicts (#2639)
2026-04-09 15:08:48 operator-framework/operator-controller@58328a0 dependabot[bot] 🌱 Bump codecov/codecov-action from 5.5.2 to 6.0.0 (#2638)
2026-04-09 09:23:43 operator-framework/operator-controller@7f1aa76 Bruno Andrade UPSTREAM: <carry>: OCPBUGS-81452 rollout stall for webhook installs (#2616)
2026-04-09 05:19:35 operator-framework/operator-controller@8bd971b dependabot[bot] 🌱 Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 (#2636)

The vendor/ directory has been updated and the following commits were carried:

Date Commit Author Message
2026-04-09 00:09:36 openshift/operator-framework-operator-controller@bedd94e dtfranz UPSTREAM: <carry>: Add OpenShift specific files
2026-04-09 00:09:38 openshift/operator-framework-operator-controller@9841eb7 Camila Macedo UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
2026-04-09 00:09:39 openshift/operator-framework-operator-controller@b92e7e3 Camila Macedo UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
2026-04-09 00:09:39 openshift/operator-framework-operator-controller@df05468 Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp images from openshift/catalogd/manifests.yaml
2026-04-09 00:09:40 openshift/operator-framework-operator-controller@83cf489 Todd Short UPSTREAM: <carry>: Update OCP catalogs to v4.21
2026-04-09 00:09:41 openshift/operator-framework-operator-controller@8f40e9b Kui Wang UPSTREAM: <carry>: support singleown cases in disconnected
2026-04-09 00:09:41 openshift/operator-framework-operator-controller@3d49db6 Kui Wang UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
2026-04-09 00:09:42 openshift/operator-framework-operator-controller@1c868bb Camila Macedo UPSTREAM: <carry>: Define Default timeouts and apply their usage accross to avoid flakes
2026-04-09 00:09:43 openshift/operator-framework-operator-controller@71d6d11 Todd Short UPSTREAM: <carry>: Update to new feature-gate options in helm
2026-04-09 00:09:43 openshift/operator-framework-operator-controller@b380985 Camila Macedo UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniquess and waiting for k8s cleanups
2026-04-09 00:09:44 openshift/operator-framework-operator-controller@2bb202b Camila Macedo UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comments ( Follow-Up of: 714977c )
2026-04-09 00:09:45 openshift/operator-framework-operator-controller@d8b14a2 Kui Wang UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inline.watchNamespace
2026-04-09 00:09:45 openshift/operator-framework-operator-controller@8a51799 Camila Macedo UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension uninstall
2026-04-09 00:09:46 openshift/operator-framework-operator-controller@9066d3b Kui Wang UPSTREAM: <carry>: Add [OTP] to migrated cases
2026-04-09 00:09:47 openshift/operator-framework-operator-controller@77051bc Camila Macedo UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
2026-04-09 00:09:49 openshift/operator-framework-operator-controller@2da0e72 Camila Macedo UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version format
2026-04-09 00:09:50 openshift/operator-framework-operator-controller@5bd5382 Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and dependencies
2026-04-09 00:09:51 openshift/operator-framework-operator-controller@873e3dd Kui Wang UPSTREAM: <carry>: add disconnected environment support with custom prow job for migrated qe cases
2026-04-09 00:09:52 openshift/operator-framework-operator-controller@1c011a5 Jian Zhang UPSTREAM: <carry>: migrate jiazha test cases to OTE
2026-04-09 00:09:53 openshift/operator-framework-operator-controller@d416af4 Xia Zhao UPSTREAM: <carry>: migrate clustercatalog case to ote
2026-04-09 00:09:53 openshift/operator-framework-operator-controller@f89fe00 Kui Wang UPSTREAM: <carry>: migrate olmv1 QE stress cases
2026-04-09 00:09:54 openshift/operator-framework-operator-controller@372ef85 Todd Short UPSTREAM: <carry>: Use busybox/httpd to simulate probes
2026-04-09 00:09:55 openshift/operator-framework-operator-controller@0c54701 Xia Zhao UPSTREAM: <carry>: migrate olmv1 QE cases
2026-04-09 00:09:55 openshift/operator-framework-operator-controller@d3b0e86 Kui Wang UPSTREAM: <carry>: add agent for olmv1 qe cases
2026-04-09 00:09:56 openshift/operator-framework-operator-controller@a5bd5fd Todd Short UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
2026-04-09 00:09:57 openshift/operator-framework-operator-controller@99ec029 Rashmi Gottipati UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
2026-04-09 00:09:58 openshift/operator-framework-operator-controller@b7875ef Rashmi Gottipati UPSTREAM: <carry>: address review comments through addl prompts
2026-04-09 00:09:59 openshift/operator-framework-operator-controller@c06fd50 Rashmi Gottipati UPSTREAM: <carry>: addressing some more review comments
2026-04-09 00:09:59 openshift/operator-framework-operator-controller@601bea6 Rashmi Gottipati UPSTREAM: <carry>: remove DCO line
2026-04-09 00:10:00 openshift/operator-framework-operator-controller@deabe45 Bruno Andrade UPSTREAM: <carry>: migrate bandrade test cases to OTE
2026-04-09 00:10:01 openshift/operator-framework-operator-controller@449befa Bruno Andrade UPSTREAM: <carry>: update metadata
2026-04-09 00:10:01 openshift/operator-framework-operator-controller@b1e95ab Bruno Andrade UPSTREAM: <carry>: remove originalName
2026-04-09 00:10:02 openshift/operator-framework-operator-controller@a717778 Jian Zhang UPSTREAM: <carry>: update 80458's timeout to 180s
2026-04-09 00:10:03 openshift/operator-framework-operator-controller@199cfa1 Jian Zhang UPSTREAM: <carry>: update 83026 to specify the clustercatalog
2026-04-09 00:10:04 openshift/operator-framework-operator-controller@e7fb1ec Catherine Chan-Tse UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
2026-04-09 00:10:04 openshift/operator-framework-operator-controller@7e26147 Predrag Knezevic UPSTREAM: <carry>: Use oc client for running e2e tests
2026-04-09 00:10:05 openshift/operator-framework-operator-controller@f037582 Predrag Knezevic UPSTREAM: <carry>: Run upstream e2e tests tagged with @catalogd-update
2026-04-09 00:10:06 openshift/operator-framework-operator-controller@ee24b59 Kui Wang UPSTREAM: <carry>: enhance case to make it more stable
2026-04-09 00:10:06 openshift/operator-framework-operator-controller@a6332a0 Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-04-09 00:10:07 openshift/operator-framework-operator-controller@a3cf017 Evan Hearne UPSTREAM: <carry>: move sa creation out of buildCurlJob()
2026-04-09 00:10:08 openshift/operator-framework-operator-controller@77d5178 Evan Hearne UPSTREAM: <carry>: comment out delete service account
2026-04-09 00:10:09 openshift/operator-framework-operator-controller@04b0c9e Evan Hearne UPSTREAM: <carry>: move defercleanup for sa for LIFO
2026-04-09 00:10:09 openshift/operator-framework-operator-controller@9287025 Evan Hearne UPSTREAM: <carry>: add polling so job fully deleted before proceed
2026-04-09 00:10:10 openshift/operator-framework-operator-controller@ff517d8 Luke Meyer UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redhat/add-service-account-curl-job"
2026-04-09 00:10:11 openshift/operator-framework-operator-controller@4744ee2 Camila Macedo UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
2026-04-09 00:10:11 openshift/operator-framework-operator-controller@8499255 Kui Wang UPSTREAM: <carry>: config watchnamespace cases
2026-04-09 00:10:12 openshift/operator-framework-operator-controller@2c71229 Xia Zhao UPSTREAM: <carry>: enhance ocp-79770
2026-04-09 00:10:13 openshift/operator-framework-operator-controller@a6e9bfd Kui Wang UPSTREAM: <carry>: upgrade version support case
2026-04-09 00:10:14 openshift/operator-framework-operator-controller@6363de1 Per Goncalves da Silva UPSTREAM: <carry>: Remove installed condition check from auth preflight test
2026-04-09 00:10:15 openshift/operator-framework-operator-controller@59562ac Per Goncalves da Silva UPSTREAM: <carry>: Add openshift/api dependency
2026-04-09 00:10:16 openshift/operator-framework-operator-controller@9561e56 Per Goncalves da Silva UPSTREAM: <carry>: Add boxcutter specific preflight auth test
2026-04-09 00:10:17 openshift/operator-framework-operator-controller@f57ecb4 Kui Wang UPSTREAM: <carry>: adjust watchnamespace case based on change
2026-04-09 00:10:18 openshift/operator-framework-operator-controller@a5fa80b Camila Macedo UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root dir
2026-04-09 00:10:19 openshift/operator-framework-operator-controller@af7138c Bruno Andrade UPSTREAM: <carry>: add 83979 automation
2026-04-09 00:10:20 openshift/operator-framework-operator-controller@d2aa624 Bruno Andrade UPSTREAM: <carry>: add 85889 automation
2026-04-09 00:10:20 openshift/operator-framework-operator-controller@e9a34e6 Per Goncalves da Silva UPSTREAM: <carry>: Update test-operator startup script to fix pod probe endpoints
2026-04-09 00:10:21 openshift/operator-framework-operator-controller@25412aa Per Goncalves da Silva UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
2026-04-09 00:10:22 openshift/operator-framework-operator-controller@565989d Camila Macedo UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles instead of openshift-pipelines-operator-rh
2026-04-09 00:10:23 openshift/operator-framework-operator-controller@545dcbf Kui Wang UPSTREAM: <carry>: adjust sa and permission test cases per new change from boxcutterruntime
2026-04-09 00:10:23 openshift/operator-framework-operator-controller@80b5903 Camila Macedo UPSTREAM: <carry>: Update OCP catalogs to v4.22
2026-04-09 00:10:25 openshift/operator-framework-operator-controller@c296efd Camila Macedo UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and dependencies
2026-04-09 00:10:26 openshift/operator-framework-operator-controller@a3f06f1 Jian Zhang UPSTREAM: <carry>: fix 83026 for TP cluster
2026-04-09 00:10:26 openshift/operator-framework-operator-controller@11ad1c9 Kui Wang UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
2026-04-09 00:10:27 openshift/operator-framework-operator-controller@2e57c1e Stephen Benjamin UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
2026-04-09 00:10:28 openshift/operator-framework-operator-controller@772aa86 Camila Macedo UPSTREAM: <carry>: Increase install timeout and add diagnostic logging for CE install tests
2026-04-09 00:10:30 openshift/operator-framework-operator-controller@d3cf68a Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-04-09 00:10:31 openshift/operator-framework-operator-controller@32ddbc2 Jian Zhang UPSTREAM: <carry>: update OCP-75441 to support multi-arch
2026-04-09 00:10:31 openshift/operator-framework-operator-controller@690d160 Kui Wang UPSTREAM: <carry>: deployment config cases
2026-04-09 00:10:32 openshift/operator-framework-operator-controller@4c18b93 Todd Short UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
2026-04-09 00:10:33 openshift/operator-framework-operator-controller@33283c0 Todd Short UPSTREAM: <carry>: Update openshift/api and client-go
2026-04-09 00:10:34 openshift/operator-framework-operator-controller@fc9710c Camila Macedo UPSTREAM: <carry>: Add boxcutter tests
2026-04-09 00:10:35 openshift/operator-framework-operator-controller@836ba93 Xia Zhao UPSTREAM: <carry>: enhance QE cases
2026-04-09 00:10:36 openshift/operator-framework-operator-controller@d3092d9 Daniel Franz UPSTREAM: <carry>: Update quay-operator version to one containing arm64 support
2026-04-09 00:10:37 openshift/operator-framework-operator-controller@b8432d3 Kui Wang UPSTREAM: <carry>: verify volume/volumeMount override
2026-04-09 00:10:37 openshift/operator-framework-operator-controller@79a0588 Jian Zhang UPSTREAM: <carry>: Add long-duration test script and documents
2026-04-09 00:10:38 openshift/operator-framework-operator-controller@b728cfb Todd Short UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
2026-04-09 00:10:39 openshift/operator-framework-operator-controller@36e415b Camila Macedo UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSet in OTE tests
2026-04-09 00:10:40 openshift/operator-framework-operator-controller@57d50b4 Camila Macedo UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter uses ClusterObjectSet
2026-04-09 00:10:40 openshift/operator-framework-operator-controller@2404423 Bruno Andrade UPSTREAM: <carry>: add ocp-87557
2026-04-09 00:10:41 openshift/operator-framework-operator-controller@d7f8a58 Francesco Giudici UPSTREAM: <carry>: Add fgiudici as reviewer
2026-04-09 00:10:42 openshift/operator-framework-operator-controller@68c948a Camila Macedo UPSTREAM: <carry>: Remove skip for incompatible operator check after rename of CER
2026-04-09 00:10:42 openshift/operator-framework-operator-controller@0f4d115 Kui Wang UPSTREAM: <carry>: Test empty affinity erasure and cleanup
2026-04-09 17:52:03 openshift/operator-framework-operator-controller@f50ba6e Camila Macedo UPSTREAM: <carry>: Fix boxcutter finalizer ResourceNames in preflight test

This pull request is expected to merge without any human intervention. If tests are failing here, changes must land upstream to fix any issues so that future downstreaming efforts succeed.

/cc @openshift/openshift-team-operator-framework

dependabot bot and others added 5 commits April 9, 2026 05:19
Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.40.0 to 1.43.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go@v1.40.0...v1.43.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
  dependency-version: 1.43.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.2 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v5.5.2...v6.0.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…d (#2637)

Boxcutter v0.13.1 includes the fix from package-operator/boxcutter#501 which ensures collision detection runs before revision linearity checks.

This allows us to remove the foreignRevisionController workaround that was manually detecting ActionProgressed objects owned by foreign ClusterExtensions.

Assisted-by: Claude
@openshift-bot openshift-bot added the tide/merge-method-merge Denotes a PR that should use a standard merge by tide when it merges. label Apr 9, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 9, 2026

@openshift-bot: GitHub didn't allow me to request PR reviews from the following users: openshift/openshift-team-operator-framework.

Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs.

Details

In response to this:

JIRA Tickets:

  • OCPBUGS-81452

The downstream repository has been updated with the following following upstream commits:

Date Commit Author Message
2026-04-09 19:48:03 operator-framework/operator-controller@b6dfd40 Camila Macedo Upgrade boxcutter to v0.13.1 and remove collision detection workaround (#2637)
2026-04-09 19:45:20 operator-framework/operator-controller@a34d269 Camila Macedo fix: aggregate phase errors to handle SSA migration conflicts (#2639)
2026-04-09 15:08:48 operator-framework/operator-controller@58328a0 dependabot[bot] 🌱 Bump codecov/codecov-action from 5.5.2 to 6.0.0 (#2638)
2026-04-09 09:23:43 operator-framework/operator-controller@7f1aa76 Bruno Andrade UPSTREAM: <carry>: OCPBUGS-81452 rollout stall for webhook installs (#2616)
2026-04-09 05:19:35 operator-framework/operator-controller@8bd971b dependabot[bot] 🌱 Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 (#2636)

The vendor/ directory has been updated and the following commits were carried:

Date Commit Author Message
2026-04-09 00:09:36 openshift/operator-framework-operator-controller@bedd94e dtfranz UPSTREAM: <carry>: Add OpenShift specific files
2026-04-09 00:09:38 openshift/operator-framework-operator-controller@9841eb7 Camila Macedo UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
2026-04-09 00:09:39 openshift/operator-framework-operator-controller@b92e7e3 Camila Macedo UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
2026-04-09 00:09:39 openshift/operator-framework-operator-controller@df05468 Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp images from openshift/catalogd/manifests.yaml
2026-04-09 00:09:40 openshift/operator-framework-operator-controller@83cf489 Todd Short UPSTREAM: <carry>: Update OCP catalogs to v4.21
2026-04-09 00:09:41 openshift/operator-framework-operator-controller@8f40e9b Kui Wang UPSTREAM: <carry>: support singleown cases in disconnected
2026-04-09 00:09:41 openshift/operator-framework-operator-controller@3d49db6 Kui Wang UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
2026-04-09 00:09:42 openshift/operator-framework-operator-controller@1c868bb Camila Macedo UPSTREAM: <carry>: Define Default timeouts and apply their usage accross to avoid flakes
2026-04-09 00:09:43 openshift/operator-framework-operator-controller@71d6d11 Todd Short UPSTREAM: <carry>: Update to new feature-gate options in helm
2026-04-09 00:09:43 openshift/operator-framework-operator-controller@b380985 Camila Macedo UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniquess and waiting for k8s cleanups
2026-04-09 00:09:44 openshift/operator-framework-operator-controller@2bb202b Camila Macedo UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comments ( Follow-Up of: 714977c )
2026-04-09 00:09:45 openshift/operator-framework-operator-controller@d8b14a2 Kui Wang UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inline.watchNamespace
2026-04-09 00:09:45 openshift/operator-framework-operator-controller@8a51799 Camila Macedo UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension uninstall
2026-04-09 00:09:46 openshift/operator-framework-operator-controller@9066d3b Kui Wang UPSTREAM: <carry>: Add [OTP] to migrated cases
2026-04-09 00:09:47 openshift/operator-framework-operator-controller@77051bc Camila Macedo UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
2026-04-09 00:09:49 openshift/operator-framework-operator-controller@2da0e72 Camila Macedo UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version format
2026-04-09 00:09:50 openshift/operator-framework-operator-controller@5bd5382 Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and dependencies
2026-04-09 00:09:51 openshift/operator-framework-operator-controller@873e3dd Kui Wang UPSTREAM: <carry>: add disconnected environment support with custom prow job for migrated qe cases
2026-04-09 00:09:52 openshift/operator-framework-operator-controller@1c011a5 Jian Zhang UPSTREAM: <carry>: migrate jiazha test cases to OTE
2026-04-09 00:09:53 openshift/operator-framework-operator-controller@d416af4 Xia Zhao UPSTREAM: <carry>: migrate clustercatalog case to ote
2026-04-09 00:09:53 openshift/operator-framework-operator-controller@f89fe00 Kui Wang UPSTREAM: <carry>: migrate olmv1 QE stress cases
2026-04-09 00:09:54 openshift/operator-framework-operator-controller@372ef85 Todd Short UPSTREAM: <carry>: Use busybox/httpd to simulate probes
2026-04-09 00:09:55 openshift/operator-framework-operator-controller@0c54701 Xia Zhao UPSTREAM: <carry>: migrate olmv1 QE cases
2026-04-09 00:09:55 openshift/operator-framework-operator-controller@d3b0e86 Kui Wang UPSTREAM: <carry>: add agent for olmv1 qe cases
2026-04-09 00:09:56 openshift/operator-framework-operator-controller@a5bd5fd Todd Short UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
2026-04-09 00:09:57 openshift/operator-framework-operator-controller@99ec029 Rashmi Gottipati UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
2026-04-09 00:09:58 openshift/operator-framework-operator-controller@b7875ef Rashmi Gottipati UPSTREAM: <carry>: address review comments through addl prompts
2026-04-09 00:09:59 openshift/operator-framework-operator-controller@c06fd50 Rashmi Gottipati UPSTREAM: <carry>: addressing some more review comments
2026-04-09 00:09:59 openshift/operator-framework-operator-controller@601bea6 Rashmi Gottipati UPSTREAM: <carry>: remove DCO line
2026-04-09 00:10:00 openshift/operator-framework-operator-controller@deabe45 Bruno Andrade UPSTREAM: <carry>: migrate bandrade test cases to OTE
2026-04-09 00:10:01 openshift/operator-framework-operator-controller@449befa Bruno Andrade UPSTREAM: <carry>: update metadata
2026-04-09 00:10:01 openshift/operator-framework-operator-controller@b1e95ab Bruno Andrade UPSTREAM: <carry>: remove originalName
2026-04-09 00:10:02 openshift/operator-framework-operator-controller@a717778 Jian Zhang UPSTREAM: <carry>: update 80458's timeout to 180s
2026-04-09 00:10:03 openshift/operator-framework-operator-controller@199cfa1 Jian Zhang UPSTREAM: <carry>: update 83026 to specify the clustercatalog
2026-04-09 00:10:04 openshift/operator-framework-operator-controller@e7fb1ec Catherine Chan-Tse UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
2026-04-09 00:10:04 openshift/operator-framework-operator-controller@7e26147 Predrag Knezevic UPSTREAM: <carry>: Use oc client for running e2e tests
2026-04-09 00:10:05 openshift/operator-framework-operator-controller@f037582 Predrag Knezevic UPSTREAM: <carry>: Run upstream e2e tests tagged with @catalogd-update
2026-04-09 00:10:06 openshift/operator-framework-operator-controller@ee24b59 Kui Wang UPSTREAM: <carry>: enhance case to make it more stable
2026-04-09 00:10:06 openshift/operator-framework-operator-controller@a6332a0 Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-04-09 00:10:07 openshift/operator-framework-operator-controller@a3cf017 Evan Hearne UPSTREAM: <carry>: move sa creation out of buildCurlJob()
2026-04-09 00:10:08 openshift/operator-framework-operator-controller@77d5178 Evan Hearne UPSTREAM: <carry>: comment out delete service account
2026-04-09 00:10:09 openshift/operator-framework-operator-controller@04b0c9e Evan Hearne UPSTREAM: <carry>: move defercleanup for sa for LIFO
2026-04-09 00:10:09 openshift/operator-framework-operator-controller@9287025 Evan Hearne UPSTREAM: <carry>: add polling so job fully deleted before proceed
2026-04-09 00:10:10 openshift/operator-framework-operator-controller@ff517d8 Luke Meyer UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redhat/add-service-account-curl-job"
2026-04-09 00:10:11 openshift/operator-framework-operator-controller@4744ee2 Camila Macedo UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
2026-04-09 00:10:11 openshift/operator-framework-operator-controller@8499255 Kui Wang UPSTREAM: <carry>: config watchnamespace cases
2026-04-09 00:10:12 openshift/operator-framework-operator-controller@2c71229 Xia Zhao UPSTREAM: <carry>: enhance ocp-79770
2026-04-09 00:10:13 openshift/operator-framework-operator-controller@a6e9bfd Kui Wang UPSTREAM: <carry>: upgrade version support case
2026-04-09 00:10:14 openshift/operator-framework-operator-controller@6363de1 Per Goncalves da Silva UPSTREAM: <carry>: Remove installed condition check from auth preflight test
2026-04-09 00:10:15 openshift/operator-framework-operator-controller@59562ac Per Goncalves da Silva UPSTREAM: <carry>: Add openshift/api dependency
2026-04-09 00:10:16 openshift/operator-framework-operator-controller@9561e56 Per Goncalves da Silva UPSTREAM: <carry>: Add boxcutter specific preflight auth test
2026-04-09 00:10:17 openshift/operator-framework-operator-controller@f57ecb4 Kui Wang UPSTREAM: <carry>: adjust watchnamespace case based on change
2026-04-09 00:10:18 openshift/operator-framework-operator-controller@a5fa80b Camila Macedo UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root dir
2026-04-09 00:10:19 openshift/operator-framework-operator-controller@af7138c Bruno Andrade UPSTREAM: <carry>: add 83979 automation
2026-04-09 00:10:20 openshift/operator-framework-operator-controller@d2aa624 Bruno Andrade UPSTREAM: <carry>: add 85889 automation
2026-04-09 00:10:20 openshift/operator-framework-operator-controller@e9a34e6 Per Goncalves da Silva UPSTREAM: <carry>: Update test-operator startup script to fix pod probe endpoints
2026-04-09 00:10:21 openshift/operator-framework-operator-controller@25412aa Per Goncalves da Silva UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
2026-04-09 00:10:22 openshift/operator-framework-operator-controller@565989d Camila Macedo UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles instead of openshift-pipelines-operator-rh
2026-04-09 00:10:23 openshift/operator-framework-operator-controller@545dcbf Kui Wang UPSTREAM: <carry>: adjust sa and permission test cases per new change from boxcutterruntime
2026-04-09 00:10:23 openshift/operator-framework-operator-controller@80b5903 Camila Macedo UPSTREAM: <carry>: Update OCP catalogs to v4.22
2026-04-09 00:10:25 openshift/operator-framework-operator-controller@c296efd Camila Macedo UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and dependencies
2026-04-09 00:10:26 openshift/operator-framework-operator-controller@a3f06f1 Jian Zhang UPSTREAM: <carry>: fix 83026 for TP cluster
2026-04-09 00:10:26 openshift/operator-framework-operator-controller@11ad1c9 Kui Wang UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
2026-04-09 00:10:27 openshift/operator-framework-operator-controller@2e57c1e Stephen Benjamin UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
2026-04-09 00:10:28 openshift/operator-framework-operator-controller@772aa86 Camila Macedo UPSTREAM: <carry>: Increase install timeout and add diagnostic logging for CE install tests
2026-04-09 00:10:30 openshift/operator-framework-operator-controller@d3cf68a Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-04-09 00:10:31 openshift/operator-framework-operator-controller@32ddbc2 Jian Zhang UPSTREAM: <carry>: update OCP-75441 to support multi-arch
2026-04-09 00:10:31 openshift/operator-framework-operator-controller@690d160 Kui Wang UPSTREAM: <carry>: deployment config cases
2026-04-09 00:10:32 openshift/operator-framework-operator-controller@4c18b93 Todd Short UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
2026-04-09 00:10:33 openshift/operator-framework-operator-controller@33283c0 Todd Short UPSTREAM: <carry>: Update openshift/api and client-go
2026-04-09 00:10:34 openshift/operator-framework-operator-controller@fc9710c Camila Macedo UPSTREAM: <carry>: Add boxcutter tests
2026-04-09 00:10:35 openshift/operator-framework-operator-controller@836ba93 Xia Zhao UPSTREAM: <carry>: enhance QE cases
2026-04-09 00:10:36 openshift/operator-framework-operator-controller@d3092d9 Daniel Franz UPSTREAM: <carry>: Update quay-operator version to one containing arm64 support
2026-04-09 00:10:37 openshift/operator-framework-operator-controller@b8432d3 Kui Wang UPSTREAM: <carry>: verify volume/volumeMount override
2026-04-09 00:10:37 openshift/operator-framework-operator-controller@79a0588 Jian Zhang UPSTREAM: <carry>: Add long-duration test script and documents
2026-04-09 00:10:38 openshift/operator-framework-operator-controller@b728cfb Todd Short UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
2026-04-09 00:10:39 openshift/operator-framework-operator-controller@36e415b Camila Macedo UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSet in OTE tests
2026-04-09 00:10:40 openshift/operator-framework-operator-controller@57d50b4 Camila Macedo UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter uses ClusterObjectSet
2026-04-09 00:10:40 openshift/operator-framework-operator-controller@2404423 Bruno Andrade UPSTREAM: <carry>: add ocp-87557
2026-04-09 00:10:41 openshift/operator-framework-operator-controller@d7f8a58 Francesco Giudici UPSTREAM: <carry>: Add fgiudici as reviewer
2026-04-09 00:10:42 openshift/operator-framework-operator-controller@68c948a Camila Macedo UPSTREAM: <carry>: Remove skip for incompatible operator check after rename of CER
2026-04-09 00:10:42 openshift/operator-framework-operator-controller@0f4d115 Kui Wang UPSTREAM: <carry>: Test empty affinity erasure and cleanup

This pull request is expected to merge without any human intervention. If tests are failing here, changes must land upstream to fix any issues so that future downstreaming efforts succeed.

/cc @openshift/openshift-team-operator-framework

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.

@openshift-ci-robot openshift-ci-robot added jira/severity-low Referenced Jira bug's severity is low for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Apr 9, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@openshift-bot: This pull request references Jira Issue OCPBUGS-81452, which is invalid:

  • expected the bug to target the "4.22.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

JIRA Tickets:

  • OCPBUGS-81452

The downstream repository has been updated with the following following upstream commits:

Date Commit Author Message
2026-04-09 19:48:03 operator-framework/operator-controller@b6dfd40 Camila Macedo Upgrade boxcutter to v0.13.1 and remove collision detection workaround (#2637)
2026-04-09 19:45:20 operator-framework/operator-controller@a34d269 Camila Macedo fix: aggregate phase errors to handle SSA migration conflicts (#2639)
2026-04-09 15:08:48 operator-framework/operator-controller@58328a0 dependabot[bot] 🌱 Bump codecov/codecov-action from 5.5.2 to 6.0.0 (#2638)
2026-04-09 09:23:43 operator-framework/operator-controller@7f1aa76 Bruno Andrade UPSTREAM: <carry>: OCPBUGS-81452 rollout stall for webhook installs (#2616)
2026-04-09 05:19:35 operator-framework/operator-controller@8bd971b dependabot[bot] 🌱 Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 (#2636)

The vendor/ directory has been updated and the following commits were carried:

Date Commit Author Message
2026-04-09 00:09:36 openshift/operator-framework-operator-controller@bedd94e dtfranz UPSTREAM: <carry>: Add OpenShift specific files
2026-04-09 00:09:38 openshift/operator-framework-operator-controller@9841eb7 Camila Macedo UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
2026-04-09 00:09:39 openshift/operator-framework-operator-controller@b92e7e3 Camila Macedo UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
2026-04-09 00:09:39 openshift/operator-framework-operator-controller@df05468 Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp images from openshift/catalogd/manifests.yaml
2026-04-09 00:09:40 openshift/operator-framework-operator-controller@83cf489 Todd Short UPSTREAM: <carry>: Update OCP catalogs to v4.21
2026-04-09 00:09:41 openshift/operator-framework-operator-controller@8f40e9b Kui Wang UPSTREAM: <carry>: support singleown cases in disconnected
2026-04-09 00:09:41 openshift/operator-framework-operator-controller@3d49db6 Kui Wang UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
2026-04-09 00:09:42 openshift/operator-framework-operator-controller@1c868bb Camila Macedo UPSTREAM: <carry>: Define Default timeouts and apply their usage accross to avoid flakes
2026-04-09 00:09:43 openshift/operator-framework-operator-controller@71d6d11 Todd Short UPSTREAM: <carry>: Update to new feature-gate options in helm
2026-04-09 00:09:43 openshift/operator-framework-operator-controller@b380985 Camila Macedo UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniquess and waiting for k8s cleanups
2026-04-09 00:09:44 openshift/operator-framework-operator-controller@2bb202b Camila Macedo UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comments ( Follow-Up of: 714977c )
2026-04-09 00:09:45 openshift/operator-framework-operator-controller@d8b14a2 Kui Wang UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inline.watchNamespace
2026-04-09 00:09:45 openshift/operator-framework-operator-controller@8a51799 Camila Macedo UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension uninstall
2026-04-09 00:09:46 openshift/operator-framework-operator-controller@9066d3b Kui Wang UPSTREAM: <carry>: Add [OTP] to migrated cases
2026-04-09 00:09:47 openshift/operator-framework-operator-controller@77051bc Camila Macedo UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
2026-04-09 00:09:49 openshift/operator-framework-operator-controller@2da0e72 Camila Macedo UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version format
2026-04-09 00:09:50 openshift/operator-framework-operator-controller@5bd5382 Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and dependencies
2026-04-09 00:09:51 openshift/operator-framework-operator-controller@873e3dd Kui Wang UPSTREAM: <carry>: add disconnected environment support with custom prow job for migrated qe cases
2026-04-09 00:09:52 openshift/operator-framework-operator-controller@1c011a5 Jian Zhang UPSTREAM: <carry>: migrate jiazha test cases to OTE
2026-04-09 00:09:53 openshift/operator-framework-operator-controller@d416af4 Xia Zhao UPSTREAM: <carry>: migrate clustercatalog case to ote
2026-04-09 00:09:53 openshift/operator-framework-operator-controller@f89fe00 Kui Wang UPSTREAM: <carry>: migrate olmv1 QE stress cases
2026-04-09 00:09:54 openshift/operator-framework-operator-controller@372ef85 Todd Short UPSTREAM: <carry>: Use busybox/httpd to simulate probes
2026-04-09 00:09:55 openshift/operator-framework-operator-controller@0c54701 Xia Zhao UPSTREAM: <carry>: migrate olmv1 QE cases
2026-04-09 00:09:55 openshift/operator-framework-operator-controller@d3b0e86 Kui Wang UPSTREAM: <carry>: add agent for olmv1 qe cases
2026-04-09 00:09:56 openshift/operator-framework-operator-controller@a5bd5fd Todd Short UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
2026-04-09 00:09:57 openshift/operator-framework-operator-controller@99ec029 Rashmi Gottipati UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
2026-04-09 00:09:58 openshift/operator-framework-operator-controller@b7875ef Rashmi Gottipati UPSTREAM: <carry>: address review comments through addl prompts
2026-04-09 00:09:59 openshift/operator-framework-operator-controller@c06fd50 Rashmi Gottipati UPSTREAM: <carry>: addressing some more review comments
2026-04-09 00:09:59 openshift/operator-framework-operator-controller@601bea6 Rashmi Gottipati UPSTREAM: <carry>: remove DCO line
2026-04-09 00:10:00 openshift/operator-framework-operator-controller@deabe45 Bruno Andrade UPSTREAM: <carry>: migrate bandrade test cases to OTE
2026-04-09 00:10:01 openshift/operator-framework-operator-controller@449befa Bruno Andrade UPSTREAM: <carry>: update metadata
2026-04-09 00:10:01 openshift/operator-framework-operator-controller@b1e95ab Bruno Andrade UPSTREAM: <carry>: remove originalName
2026-04-09 00:10:02 openshift/operator-framework-operator-controller@a717778 Jian Zhang UPSTREAM: <carry>: update 80458's timeout to 180s
2026-04-09 00:10:03 openshift/operator-framework-operator-controller@199cfa1 Jian Zhang UPSTREAM: <carry>: update 83026 to specify the clustercatalog
2026-04-09 00:10:04 openshift/operator-framework-operator-controller@e7fb1ec Catherine Chan-Tse UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
2026-04-09 00:10:04 openshift/operator-framework-operator-controller@7e26147 Predrag Knezevic UPSTREAM: <carry>: Use oc client for running e2e tests
2026-04-09 00:10:05 openshift/operator-framework-operator-controller@f037582 Predrag Knezevic UPSTREAM: <carry>: Run upstream e2e tests tagged with @catalogd-update
2026-04-09 00:10:06 openshift/operator-framework-operator-controller@ee24b59 Kui Wang UPSTREAM: <carry>: enhance case to make it more stable
2026-04-09 00:10:06 openshift/operator-framework-operator-controller@a6332a0 Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-04-09 00:10:07 openshift/operator-framework-operator-controller@a3cf017 Evan Hearne UPSTREAM: <carry>: move sa creation out of buildCurlJob()
2026-04-09 00:10:08 openshift/operator-framework-operator-controller@77d5178 Evan Hearne UPSTREAM: <carry>: comment out delete service account
2026-04-09 00:10:09 openshift/operator-framework-operator-controller@04b0c9e Evan Hearne UPSTREAM: <carry>: move defercleanup for sa for LIFO
2026-04-09 00:10:09 openshift/operator-framework-operator-controller@9287025 Evan Hearne UPSTREAM: <carry>: add polling so job fully deleted before proceed
2026-04-09 00:10:10 openshift/operator-framework-operator-controller@ff517d8 Luke Meyer UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redhat/add-service-account-curl-job"
2026-04-09 00:10:11 openshift/operator-framework-operator-controller@4744ee2 Camila Macedo UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
2026-04-09 00:10:11 openshift/operator-framework-operator-controller@8499255 Kui Wang UPSTREAM: <carry>: config watchnamespace cases
2026-04-09 00:10:12 openshift/operator-framework-operator-controller@2c71229 Xia Zhao UPSTREAM: <carry>: enhance ocp-79770
2026-04-09 00:10:13 openshift/operator-framework-operator-controller@a6e9bfd Kui Wang UPSTREAM: <carry>: upgrade version support case
2026-04-09 00:10:14 openshift/operator-framework-operator-controller@6363de1 Per Goncalves da Silva UPSTREAM: <carry>: Remove installed condition check from auth preflight test
2026-04-09 00:10:15 openshift/operator-framework-operator-controller@59562ac Per Goncalves da Silva UPSTREAM: <carry>: Add openshift/api dependency
2026-04-09 00:10:16 openshift/operator-framework-operator-controller@9561e56 Per Goncalves da Silva UPSTREAM: <carry>: Add boxcutter specific preflight auth test
2026-04-09 00:10:17 openshift/operator-framework-operator-controller@f57ecb4 Kui Wang UPSTREAM: <carry>: adjust watchnamespace case based on change
2026-04-09 00:10:18 openshift/operator-framework-operator-controller@a5fa80b Camila Macedo UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root dir
2026-04-09 00:10:19 openshift/operator-framework-operator-controller@af7138c Bruno Andrade UPSTREAM: <carry>: add 83979 automation
2026-04-09 00:10:20 openshift/operator-framework-operator-controller@d2aa624 Bruno Andrade UPSTREAM: <carry>: add 85889 automation
2026-04-09 00:10:20 openshift/operator-framework-operator-controller@e9a34e6 Per Goncalves da Silva UPSTREAM: <carry>: Update test-operator startup script to fix pod probe endpoints
2026-04-09 00:10:21 openshift/operator-framework-operator-controller@25412aa Per Goncalves da Silva UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
2026-04-09 00:10:22 openshift/operator-framework-operator-controller@565989d Camila Macedo UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles instead of openshift-pipelines-operator-rh
2026-04-09 00:10:23 openshift/operator-framework-operator-controller@545dcbf Kui Wang UPSTREAM: <carry>: adjust sa and permission test cases per new change from boxcutterruntime
2026-04-09 00:10:23 openshift/operator-framework-operator-controller@80b5903 Camila Macedo UPSTREAM: <carry>: Update OCP catalogs to v4.22
2026-04-09 00:10:25 openshift/operator-framework-operator-controller@c296efd Camila Macedo UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and dependencies
2026-04-09 00:10:26 openshift/operator-framework-operator-controller@a3f06f1 Jian Zhang UPSTREAM: <carry>: fix 83026 for TP cluster
2026-04-09 00:10:26 openshift/operator-framework-operator-controller@11ad1c9 Kui Wang UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
2026-04-09 00:10:27 openshift/operator-framework-operator-controller@2e57c1e Stephen Benjamin UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
2026-04-09 00:10:28 openshift/operator-framework-operator-controller@772aa86 Camila Macedo UPSTREAM: <carry>: Increase install timeout and add diagnostic logging for CE install tests
2026-04-09 00:10:30 openshift/operator-framework-operator-controller@d3cf68a Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-04-09 00:10:31 openshift/operator-framework-operator-controller@32ddbc2 Jian Zhang UPSTREAM: <carry>: update OCP-75441 to support multi-arch
2026-04-09 00:10:31 openshift/operator-framework-operator-controller@690d160 Kui Wang UPSTREAM: <carry>: deployment config cases
2026-04-09 00:10:32 openshift/operator-framework-operator-controller@4c18b93 Todd Short UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
2026-04-09 00:10:33 openshift/operator-framework-operator-controller@33283c0 Todd Short UPSTREAM: <carry>: Update openshift/api and client-go
2026-04-09 00:10:34 openshift/operator-framework-operator-controller@fc9710c Camila Macedo UPSTREAM: <carry>: Add boxcutter tests
2026-04-09 00:10:35 openshift/operator-framework-operator-controller@836ba93 Xia Zhao UPSTREAM: <carry>: enhance QE cases
2026-04-09 00:10:36 openshift/operator-framework-operator-controller@d3092d9 Daniel Franz UPSTREAM: <carry>: Update quay-operator version to one containing arm64 support
2026-04-09 00:10:37 openshift/operator-framework-operator-controller@b8432d3 Kui Wang UPSTREAM: <carry>: verify volume/volumeMount override
2026-04-09 00:10:37 openshift/operator-framework-operator-controller@79a0588 Jian Zhang UPSTREAM: <carry>: Add long-duration test script and documents
2026-04-09 00:10:38 openshift/operator-framework-operator-controller@b728cfb Todd Short UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
2026-04-09 00:10:39 openshift/operator-framework-operator-controller@36e415b Camila Macedo UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSet in OTE tests
2026-04-09 00:10:40 openshift/operator-framework-operator-controller@57d50b4 Camila Macedo UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter uses ClusterObjectSet
2026-04-09 00:10:40 openshift/operator-framework-operator-controller@2404423 Bruno Andrade UPSTREAM: <carry>: add ocp-87557
2026-04-09 00:10:41 openshift/operator-framework-operator-controller@d7f8a58 Francesco Giudici UPSTREAM: <carry>: Add fgiudici as reviewer
2026-04-09 00:10:42 openshift/operator-framework-operator-controller@68c948a Camila Macedo UPSTREAM: <carry>: Remove skip for incompatible operator check after rename of CER
2026-04-09 00:10:42 openshift/operator-framework-operator-controller@0f4d115 Kui Wang UPSTREAM: <carry>: Test empty affinity erasure and cleanup

This pull request is expected to merge without any human intervention. If tests are failing here, changes must land upstream to fix any issues so that future downstreaming efforts succeed.

/cc @openshift/openshift-team-operator-framework

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-bot openshift-bot added 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. labels Apr 9, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 9, 2026

Walkthrough

Updated dependencies; moved cert-manager Certificate from deploy to infrastructure phase; removed sibling-revision discovery and related collision labeling; added aggregated boxcutter error option; adjusted engine constructor arg; removed gojq tooling and jq-based TLS generation, embedding Mozilla JSON and adding runtime parsing and tests.

Changes

Cohort / File(s) Summary
Dependency updates
go.mod, openshift/tests-extension/go.mod
Bumped multiple direct and indirect Go module versions (operator-framework, operator-registry, helm, k8s.io/*, OpenTelemetry modules, boxcutter, and others).
Phase classification & tests
internal/operator-controller/applier/phase.go, internal/operator-controller/applier/phase_test.go
Reclassified cert-manager.io/v1 Certificate GroupKind from PhaseDeploy → PhaseInfrastructure; updated tests and expected batching/order accordingly.
ClusterObjectSet controller & tests
internal/operator-controller/controllers/clusterobjectset_controller.go, internal/operator-controller/controllers/clusterobjectset_controller_test.go
Removed sibling-revision discovery and “Conflicting Owner” collision-label logic; added boxcutter.WithAggregatePhaseReconcileErrors() to phase options; adjusted foreign-collision test to expect an ActionCollision case and removed the conflicting-owner message assertion.
Revision engine factory
internal/operator-controller/controllers/revision_engine_factory.go
machinery.NewObjectEngine call now receives scopedClient as an additional argument after field-owner prefix params.
Removed gojq tooling/config
.bingo/Variables.mk, .bingo/gojq.mod, .bingo/variables.env, Makefile
Deleted gojq-related variable, install rule, module file, and env var; update-tls-profiles Make target no longer depends on or injects GOJQ/JQ.
TLS profiles: generation, data, and tests
hack/tools/update-tls-profiles.sh, internal/shared/util/tlsprofiles/mozilla_data.go, internal/shared/util/tlsprofiles/mozilla_data.json, internal/shared/util/tlsprofiles/tlsprofiles_test.go
Replaced jq-based generation with direct download of embedded mozilla_data.json; added embedding, JSON parsing to construct TLS profiles at init, mapping cipher/curve names to IDs, introduced panic paths on invalid/missing data, and added tests ensuring no skipped ciphers/curves.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

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

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

@camilamacedo86
Copy link
Copy Markdown
Contributor

/re-title OCPBUGS-77972, OCPBUGS-81452: Synchronize From Upstream Repositories

@camilamacedo86
Copy link
Copy Markdown
Contributor

/test openshift-e2e-aws

@camilamacedo86
Copy link
Copy Markdown
Contributor

/retitle OCPBUGS-77972, OCPBUGS-81452: Synchronize From Upstream Repositories

@openshift-ci openshift-ci bot changed the title OCPBUGS-81452: Synchronize From Upstream Repositories OCPBUGS-77972, OCPBUGS-81452: Synchronize From Upstream Repositories Apr 10, 2026
@openshift-ci-robot openshift-ci-robot added jira/severity-important Referenced Jira bug's severity is important for the branch this PR is targeting. and removed jira/severity-low Referenced Jira bug's severity is low for the branch this PR is targeting. labels Apr 10, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@openshift-bot: This pull request references Jira Issue OCPBUGS-77972, which is invalid:

  • expected the bug to target the "4.22.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

This pull request references Jira Issue OCPBUGS-81452, which is invalid:

  • expected the bug to target the "4.22.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

JIRA Tickets:

  • OCPBUGS-81452

The downstream repository has been updated with the following following upstream commits:

Date Commit Author Message
2026-04-09 19:48:03 operator-framework/operator-controller@b6dfd40 Camila Macedo Upgrade boxcutter to v0.13.1 and remove collision detection workaround (#2637)
2026-04-09 19:45:20 operator-framework/operator-controller@a34d269 Camila Macedo fix: aggregate phase errors to handle SSA migration conflicts (#2639)
2026-04-09 15:08:48 operator-framework/operator-controller@58328a0 dependabot[bot] 🌱 Bump codecov/codecov-action from 5.5.2 to 6.0.0 (#2638)
2026-04-09 09:23:43 operator-framework/operator-controller@7f1aa76 Bruno Andrade UPSTREAM: <carry>: OCPBUGS-81452 rollout stall for webhook installs (#2616)
2026-04-09 05:19:35 operator-framework/operator-controller@8bd971b dependabot[bot] 🌱 Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 (#2636)

The vendor/ directory has been updated and the following commits were carried:

Date Commit Author Message
2026-04-09 00:09:36 openshift/operator-framework-operator-controller@bedd94e dtfranz UPSTREAM: <carry>: Add OpenShift specific files
2026-04-09 00:09:38 openshift/operator-framework-operator-controller@9841eb7 Camila Macedo UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
2026-04-09 00:09:39 openshift/operator-framework-operator-controller@b92e7e3 Camila Macedo UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
2026-04-09 00:09:39 openshift/operator-framework-operator-controller@df05468 Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp images from openshift/catalogd/manifests.yaml
2026-04-09 00:09:40 openshift/operator-framework-operator-controller@83cf489 Todd Short UPSTREAM: <carry>: Update OCP catalogs to v4.21
2026-04-09 00:09:41 openshift/operator-framework-operator-controller@8f40e9b Kui Wang UPSTREAM: <carry>: support singleown cases in disconnected
2026-04-09 00:09:41 openshift/operator-framework-operator-controller@3d49db6 Kui Wang UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
2026-04-09 00:09:42 openshift/operator-framework-operator-controller@1c868bb Camila Macedo UPSTREAM: <carry>: Define Default timeouts and apply their usage accross to avoid flakes
2026-04-09 00:09:43 openshift/operator-framework-operator-controller@71d6d11 Todd Short UPSTREAM: <carry>: Update to new feature-gate options in helm
2026-04-09 00:09:43 openshift/operator-framework-operator-controller@b380985 Camila Macedo UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniquess and waiting for k8s cleanups
2026-04-09 00:09:44 openshift/operator-framework-operator-controller@2bb202b Camila Macedo UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comments ( Follow-Up of: 714977c )
2026-04-09 00:09:45 openshift/operator-framework-operator-controller@d8b14a2 Kui Wang UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inline.watchNamespace
2026-04-09 00:09:45 openshift/operator-framework-operator-controller@8a51799 Camila Macedo UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension uninstall
2026-04-09 00:09:46 openshift/operator-framework-operator-controller@9066d3b Kui Wang UPSTREAM: <carry>: Add [OTP] to migrated cases
2026-04-09 00:09:47 openshift/operator-framework-operator-controller@77051bc Camila Macedo UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
2026-04-09 00:09:49 openshift/operator-framework-operator-controller@2da0e72 Camila Macedo UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version format
2026-04-09 00:09:50 openshift/operator-framework-operator-controller@5bd5382 Camila Macedo UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and dependencies
2026-04-09 00:09:51 openshift/operator-framework-operator-controller@873e3dd Kui Wang UPSTREAM: <carry>: add disconnected environment support with custom prow job for migrated qe cases
2026-04-09 00:09:52 openshift/operator-framework-operator-controller@1c011a5 Jian Zhang UPSTREAM: <carry>: migrate jiazha test cases to OTE
2026-04-09 00:09:53 openshift/operator-framework-operator-controller@d416af4 Xia Zhao UPSTREAM: <carry>: migrate clustercatalog case to ote
2026-04-09 00:09:53 openshift/operator-framework-operator-controller@f89fe00 Kui Wang UPSTREAM: <carry>: migrate olmv1 QE stress cases
2026-04-09 00:09:54 openshift/operator-framework-operator-controller@372ef85 Todd Short UPSTREAM: <carry>: Use busybox/httpd to simulate probes
2026-04-09 00:09:55 openshift/operator-framework-operator-controller@0c54701 Xia Zhao UPSTREAM: <carry>: migrate olmv1 QE cases
2026-04-09 00:09:55 openshift/operator-framework-operator-controller@d3b0e86 Kui Wang UPSTREAM: <carry>: add agent for olmv1 qe cases
2026-04-09 00:09:56 openshift/operator-framework-operator-controller@a5bd5fd Todd Short UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
2026-04-09 00:09:57 openshift/operator-framework-operator-controller@99ec029 Rashmi Gottipati UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
2026-04-09 00:09:58 openshift/operator-framework-operator-controller@b7875ef Rashmi Gottipati UPSTREAM: <carry>: address review comments through addl prompts
2026-04-09 00:09:59 openshift/operator-framework-operator-controller@c06fd50 Rashmi Gottipati UPSTREAM: <carry>: addressing some more review comments
2026-04-09 00:09:59 openshift/operator-framework-operator-controller@601bea6 Rashmi Gottipati UPSTREAM: <carry>: remove DCO line
2026-04-09 00:10:00 openshift/operator-framework-operator-controller@deabe45 Bruno Andrade UPSTREAM: <carry>: migrate bandrade test cases to OTE
2026-04-09 00:10:01 openshift/operator-framework-operator-controller@449befa Bruno Andrade UPSTREAM: <carry>: update metadata
2026-04-09 00:10:01 openshift/operator-framework-operator-controller@b1e95ab Bruno Andrade UPSTREAM: <carry>: remove originalName
2026-04-09 00:10:02 openshift/operator-framework-operator-controller@a717778 Jian Zhang UPSTREAM: <carry>: update 80458's timeout to 180s
2026-04-09 00:10:03 openshift/operator-framework-operator-controller@199cfa1 Jian Zhang UPSTREAM: <carry>: update 83026 to specify the clustercatalog
2026-04-09 00:10:04 openshift/operator-framework-operator-controller@e7fb1ec Catherine Chan-Tse UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
2026-04-09 00:10:04 openshift/operator-framework-operator-controller@7e26147 Predrag Knezevic UPSTREAM: <carry>: Use oc client for running e2e tests
2026-04-09 00:10:05 openshift/operator-framework-operator-controller@f037582 Predrag Knezevic UPSTREAM: <carry>: Run upstream e2e tests tagged with @catalogd-update
2026-04-09 00:10:06 openshift/operator-framework-operator-controller@ee24b59 Kui Wang UPSTREAM: <carry>: enhance case to make it more stable
2026-04-09 00:10:06 openshift/operator-framework-operator-controller@a6332a0 Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-04-09 00:10:07 openshift/operator-framework-operator-controller@a3cf017 Evan Hearne UPSTREAM: <carry>: move sa creation out of buildCurlJob()
2026-04-09 00:10:08 openshift/operator-framework-operator-controller@77d5178 Evan Hearne UPSTREAM: <carry>: comment out delete service account
2026-04-09 00:10:09 openshift/operator-framework-operator-controller@04b0c9e Evan Hearne UPSTREAM: <carry>: move defercleanup for sa for LIFO
2026-04-09 00:10:09 openshift/operator-framework-operator-controller@9287025 Evan Hearne UPSTREAM: <carry>: add polling so job fully deleted before proceed
2026-04-09 00:10:10 openshift/operator-framework-operator-controller@ff517d8 Luke Meyer UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redhat/add-service-account-curl-job"
2026-04-09 00:10:11 openshift/operator-framework-operator-controller@4744ee2 Camila Macedo UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
2026-04-09 00:10:11 openshift/operator-framework-operator-controller@8499255 Kui Wang UPSTREAM: <carry>: config watchnamespace cases
2026-04-09 00:10:12 openshift/operator-framework-operator-controller@2c71229 Xia Zhao UPSTREAM: <carry>: enhance ocp-79770
2026-04-09 00:10:13 openshift/operator-framework-operator-controller@a6e9bfd Kui Wang UPSTREAM: <carry>: upgrade version support case
2026-04-09 00:10:14 openshift/operator-framework-operator-controller@6363de1 Per Goncalves da Silva UPSTREAM: <carry>: Remove installed condition check from auth preflight test
2026-04-09 00:10:15 openshift/operator-framework-operator-controller@59562ac Per Goncalves da Silva UPSTREAM: <carry>: Add openshift/api dependency
2026-04-09 00:10:16 openshift/operator-framework-operator-controller@9561e56 Per Goncalves da Silva UPSTREAM: <carry>: Add boxcutter specific preflight auth test
2026-04-09 00:10:17 openshift/operator-framework-operator-controller@f57ecb4 Kui Wang UPSTREAM: <carry>: adjust watchnamespace case based on change
2026-04-09 00:10:18 openshift/operator-framework-operator-controller@a5fa80b Camila Macedo UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root dir
2026-04-09 00:10:19 openshift/operator-framework-operator-controller@af7138c Bruno Andrade UPSTREAM: <carry>: add 83979 automation
2026-04-09 00:10:20 openshift/operator-framework-operator-controller@d2aa624 Bruno Andrade UPSTREAM: <carry>: add 85889 automation
2026-04-09 00:10:20 openshift/operator-framework-operator-controller@e9a34e6 Per Goncalves da Silva UPSTREAM: <carry>: Update test-operator startup script to fix pod probe endpoints
2026-04-09 00:10:21 openshift/operator-framework-operator-controller@25412aa Per Goncalves da Silva UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
2026-04-09 00:10:22 openshift/operator-framework-operator-controller@565989d Camila Macedo UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles instead of openshift-pipelines-operator-rh
2026-04-09 00:10:23 openshift/operator-framework-operator-controller@545dcbf Kui Wang UPSTREAM: <carry>: adjust sa and permission test cases per new change from boxcutterruntime
2026-04-09 00:10:23 openshift/operator-framework-operator-controller@80b5903 Camila Macedo UPSTREAM: <carry>: Update OCP catalogs to v4.22
2026-04-09 00:10:25 openshift/operator-framework-operator-controller@c296efd Camila Macedo UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and dependencies
2026-04-09 00:10:26 openshift/operator-framework-operator-controller@a3f06f1 Jian Zhang UPSTREAM: <carry>: fix 83026 for TP cluster
2026-04-09 00:10:26 openshift/operator-framework-operator-controller@11ad1c9 Kui Wang UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
2026-04-09 00:10:27 openshift/operator-framework-operator-controller@2e57c1e Stephen Benjamin UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
2026-04-09 00:10:28 openshift/operator-framework-operator-controller@772aa86 Camila Macedo UPSTREAM: <carry>: Increase install timeout and add diagnostic logging for CE install tests
2026-04-09 00:10:30 openshift/operator-framework-operator-controller@d3cf68a Evan Hearne UPSTREAM: <carry>: add service account to curl job
2026-04-09 00:10:31 openshift/operator-framework-operator-controller@32ddbc2 Jian Zhang UPSTREAM: <carry>: update OCP-75441 to support multi-arch
2026-04-09 00:10:31 openshift/operator-framework-operator-controller@690d160 Kui Wang UPSTREAM: <carry>: deployment config cases
2026-04-09 00:10:32 openshift/operator-framework-operator-controller@4c18b93 Todd Short UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
2026-04-09 00:10:33 openshift/operator-framework-operator-controller@33283c0 Todd Short UPSTREAM: <carry>: Update openshift/api and client-go
2026-04-09 00:10:34 openshift/operator-framework-operator-controller@fc9710c Camila Macedo UPSTREAM: <carry>: Add boxcutter tests
2026-04-09 00:10:35 openshift/operator-framework-operator-controller@836ba93 Xia Zhao UPSTREAM: <carry>: enhance QE cases
2026-04-09 00:10:36 openshift/operator-framework-operator-controller@d3092d9 Daniel Franz UPSTREAM: <carry>: Update quay-operator version to one containing arm64 support
2026-04-09 00:10:37 openshift/operator-framework-operator-controller@b8432d3 Kui Wang UPSTREAM: <carry>: verify volume/volumeMount override
2026-04-09 00:10:37 openshift/operator-framework-operator-controller@79a0588 Jian Zhang UPSTREAM: <carry>: Add long-duration test script and documents
2026-04-09 00:10:38 openshift/operator-framework-operator-controller@b728cfb Todd Short UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
2026-04-09 00:10:39 openshift/operator-framework-operator-controller@36e415b Camila Macedo UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSet in OTE tests
2026-04-09 00:10:40 openshift/operator-framework-operator-controller@57d50b4 Camila Macedo UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter uses ClusterObjectSet
2026-04-09 00:10:40 openshift/operator-framework-operator-controller@2404423 Bruno Andrade UPSTREAM: <carry>: add ocp-87557
2026-04-09 00:10:41 openshift/operator-framework-operator-controller@d7f8a58 Francesco Giudici UPSTREAM: <carry>: Add fgiudici as reviewer
2026-04-09 00:10:42 openshift/operator-framework-operator-controller@68c948a Camila Macedo UPSTREAM: <carry>: Remove skip for incompatible operator check after rename of CER
2026-04-09 00:10:42 openshift/operator-framework-operator-controller@0f4d115 Kui Wang UPSTREAM: <carry>: Test empty affinity erasure and cleanup

This pull request is expected to merge without any human intervention. If tests are failing here, changes must land upstream to fix any issues so that future downstreaming efforts succeed.

/cc @openshift/openshift-team-operator-framework

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 openshift-eng/jira-lifecycle-plugin repository.

@camilamacedo86
Copy link
Copy Markdown
Contributor

/jira refresh

@openshift-ci-robot
Copy link
Copy Markdown

@camilamacedo86: This pull request references Jira Issue OCPBUGS-77972, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @kuiwang02

This pull request references Jira Issue OCPBUGS-81452, which is invalid:

  • expected the bug to target the "4.22.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

Details

In response to this:

/jira refresh

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 10, 2026

@openshift-ci-robot: GitHub didn't allow me to request PR reviews from the following users: kuiwang02.

Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs.

Details

In response to this:

@camilamacedo86: This pull request references Jira Issue OCPBUGS-77972, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @kuiwang02

This pull request references Jira Issue OCPBUGS-81452, which is invalid:

  • expected the bug to target the "4.22.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

In response to this:

/jira refresh

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 openshift-eng/jira-lifecycle-plugin repository.

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.

@camilamacedo86
Copy link
Copy Markdown
Contributor

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Apr 10, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@camilamacedo86: This pull request references Jira Issue OCPBUGS-77972, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @kuiwang02

This pull request references Jira Issue OCPBUGS-81452, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

No GitHub users were found matching the public email listed for the QA contact in Jira (bandrade@redhat.com), skipping review request.

Details

In response to this:

/jira refresh

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 10, 2026

@openshift-ci-robot: GitHub didn't allow me to request PR reviews from the following users: kuiwang02.

Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs.

Details

In response to this:

@camilamacedo86: This pull request references Jira Issue OCPBUGS-77972, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @kuiwang02

This pull request references Jira Issue OCPBUGS-81452, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

No GitHub users were found matching the public email listed for the QA contact in Jira (bandrade@redhat.com), skipping review request.

In response to this:

/jira refresh

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 openshift-eng/jira-lifecycle-plugin repository.

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.

jianzhangbjz and others added 25 commits April 11, 2026 10:18
The test operator's httpd script uses python3's http.server which
binds to 0.0.0.0 (IPv4 only) by default. On IPv6-only networks
(e.g. metal-ipi-ovn-ipv6-techpreview), the startup/liveness/readiness
probes connect to the pod's IPv6 address but nothing is listening,
causing the operator pod to never become Ready and the OLMv1
ClusterExtension install test to time out.

Adding --bind :: makes python3 http.server listen on all interfaces
including IPv6, fixing the test on dual-stack and IPv6-only clusters.

This resolves the 0% pass rate on:
- periodic-ci-openshift-release-main-nightly-4.22-e2e-metal-ipi-ovn-ipv6-techpreview

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…g for CE install tests

With BoxcutterRuntime, Installed=True is only set after all availability
probes pass, which can take longer on TechPreview clusters (IPv6, multi-arch).
Increases install-specific timeout from 5m to 10m and logs condition state
on each poll to aid debugging flaky failures.
Add 7 Ginkgo tests under [sig-olmv1][OCPFeatureGate:NewOLMDeploymentConfig]
covering the spec.config.inline.deploymentConfig feature:

Positive tests (verify applied customisations):
- environment variables
- resource requirements
- tolerations
- node selector
- annotations on deployment and pod template

Negative tests (verify terminal validation errors):
- invalid deploymentConfig.env type (string instead of array)
- unknown field inside deploymentConfig (additionalProperties:false)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Todd Short <tshort@redhat.com>
Signed-off-by: Todd Short <tshort@redhat.com>
…64 support

Signed-off-by: Daniel Franz <dfranz@redhat.com>
Signed-off-by: Todd Short <tshort@redhat.com>
…t in OTE tests

Update all remaining references to ClusterExtensionRevision in
openshift/tests-extension to use ClusterObjectSet, matching the
upstream rename in operator-framework/operator-controller#2589.

Files updated:
- test/qe/specs/olmv1_ce.go: RBAC resource names and comments
- test/olmv1-preflight.go: scenario constants, test names, RBAC rules
- .openshift-tests-extension/openshift_payload_olmv1.json: test name
- pkg/bindata/qe/bindata.go: embedded RBAC templates
- test/qe/testdata/olm/sa-nginx-limited-boxcutter.yaml: RBAC resources
- test/qe/testdata/olm/sa-nginx-insufficient-operand-rbac-boxcutter.yaml: RBAC resources

Signed-off-by: Camila Macedo <cmacedo@redhat.com>
Made-with: Cursor
…s ClusterObjectSet

The upstream rename of ClusterExtensionRevision to ClusterObjectSet
(operator-framework/operator-controller#2589) breaks the incompatible
operator detection in cluster-olm-operator. The cluster-olm-operator
binary still reads ClusterExtensionRevision resources to find operators
with olm.maxOpenShiftVersion, so after the rename it never detects
incompatible operators and InstalledOLMOperatorsUpgradeable stays True.

Skip this test when NewOLMBoxCutterRuntime feature gate is enabled
until cluster-olm-operator is updated to read ClusterObjectSet.

Signed-off-by: Camila Macedo <cmacedo@redhat.com>
Made-with: Cursor
Signed-off-by: Francesco Giudici <fgiudici@redhat.com>
@openshift-bot openshift-bot added the lgtm Indicates that a PR is ready to be merged. label Apr 11, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 11, 2026

[APPROVALNOTIFIER] This PR is APPROVED

Approval requirements bypassed by manually added approval.

This pull-request has been approved by: openshift-bot

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

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
internal/shared/util/tlsprofiles/mozilla_data.go (1)

90-97: Derive the minimum TLS version explicitly.

Using cfg.TLSVersions[0] makes MinVersion depend on upstream array order. If Mozilla reorders that list, this changes the effective security policy silently. Parse all entries and pick the lowest supported version instead.

Proposed fix
 	if len(cfg.TLSVersions) == 0 {
 		panic(fmt.Sprintf("tlsprofiles: profile %q has no tls_versions in embedded mozilla_data.json", name))
 	}
 
 	var version tlsVersion
-	if err := version.Set(cfg.TLSVersions[0]); err != nil {
-		panic(fmt.Sprintf("tlsprofiles: profile %q has unrecognized tls_versions[0] %q: %v", name, cfg.TLSVersions[0], err))
+	for i, raw := range cfg.TLSVersions {
+		var parsed tlsVersion
+		if err := parsed.Set(raw); err != nil {
+			panic(fmt.Sprintf("tlsprofiles: profile %q has unrecognized tls_versions[%d] %q: %v", name, i, raw, err))
+		}
+		if i == 0 || uint16(parsed) < uint16(version) {
+			version = parsed
+		}
 	}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@internal/shared/util/tlsprofiles/mozilla_data.go` around lines 90 - 97, The
current code sets MinVersion from cfg.TLSVersions[0], which relies on upstream
ordering; instead parse every entry in cfg.TLSVersions with tlsVersion.Set
(reporting/panicking on any unrecognized value as before), keep the numerically
lowest tlsVersion value found while iterating, and assign that minimum to
MinVersion (replace the single-parse of cfg.TLSVersions[0] and the single
version variable usage with a loop that computes the minimum). Ensure the
initial empty-check on cfg.TLSVersions remains and preserve the same error
behavior for invalid entries using the profile name for context.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@hack/tools/update-tls-profiles.sh`:
- Around line 5-11: The script currently writes directly to OUTPUT (variable
internal/shared/util/tlsprofiles/mozilla_data.json) which can be truncated on
partial download; change the download to write to a temporary file (use mktemp)
and only move it into place atomically (mv) after curl succeeds, ensuring you
still check curl's exit code; also ensure the temp file is removed on failure
(use a trap or explicit cleanup) and preserve final file permissions if needed
so that the atomic replace prevents leaving a corrupt mozilla_data.json and
avoids init() panics in the code that reads it.

In `@internal/shared/util/tlsprofiles/mozilla_data.go`:
- Around line 68-103: parseProfile currently drops unresolved cipher/curve names
(when cipherSuiteId or curveId return 0) which weakens profiles; change
parseProfile to treat those as errors instead of silently skipping: collect any
unknown cipher or curve names and return a non-nil error (update the return
signature accordingly) so callers must handle it; update the caller that loads
embedded profiles to check the returned error and panic/fail closed if parsing
fails (as suggested for the caller at the embedded-profile load site), ensuring
unresolved names never silently degrade the TLS profile.

---

Nitpick comments:
In `@internal/shared/util/tlsprofiles/mozilla_data.go`:
- Around line 90-97: The current code sets MinVersion from cfg.TLSVersions[0],
which relies on upstream ordering; instead parse every entry in cfg.TLSVersions
with tlsVersion.Set (reporting/panicking on any unrecognized value as before),
keep the numerically lowest tlsVersion value found while iterating, and assign
that minimum to MinVersion (replace the single-parse of cfg.TLSVersions[0] and
the single version variable usage with a loop that computes the minimum). Ensure
the initial empty-check on cfg.TLSVersions remains and preserve the same error
behavior for invalid entries using the profile name for context.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0540802b-40ee-4e00-a717-da6b871c46ac

📥 Commits

Reviewing files that changed from the base of the PR and between 296fab7 and 9f00e24.

⛔ Files ignored due to path filters (106)
  • .bingo/gojq.sum is excluded by !**/*.sum
  • go.sum is excluded by !**/*.sum
  • openshift/tests-extension/go.sum is excluded by !**/*.sum
  • openshift/tests-extension/vendor/github.com/fxamacker/cbor/v2/.golangci.yml is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/fxamacker/cbor/v2/README.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/fxamacker/cbor/v2/cache.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/fxamacker/cbor/v2/decode.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/fxamacker/cbor/v2/decode_map_utils.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/fxamacker/cbor/v2/diagnose.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/fxamacker/cbor/v2/encode.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/fxamacker/cbor/v2/simplevalue.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/fxamacker/cbor/v2/stream.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/fxamacker/cbor/v2/structfields.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/github.com/fxamacker/cbor/v2/valid.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/.golangci.yml is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/CHANGELOG.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/Makefile is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/RELEASING.md is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/attribute/encoder.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/attribute/hash.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/attribute/kv.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/attribute/type_string.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/attribute/value.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/internal/x/features.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/config.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/container.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/env.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/os.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/process.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/batch_span_processor.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/simple_span_processor.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/tracer.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/trace/span.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/sdk/version.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/semconv/v1.40.0/otelconv/metric.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/trace/trace.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/version.go is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/go.opentelemetry.io/otel/versions.yaml is excluded by !**/vendor/**
  • openshift/tests-extension/vendor/modules.txt is excluded by !**/vendor/**
  • vendor/github.com/fxamacker/cbor/v2/.golangci.yml is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/fxamacker/cbor/v2/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/fxamacker/cbor/v2/cache.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/fxamacker/cbor/v2/decode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/fxamacker/cbor/v2/decode_map_utils.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/fxamacker/cbor/v2/diagnose.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/fxamacker/cbor/v2/encode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/fxamacker/cbor/v2/simplevalue.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/fxamacker/cbor/v2/stream.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/fxamacker/cbor/v2/structfields.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/fxamacker/cbor/v2/valid.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/mattn/go-sqlite3/sqlite3.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/mattn/go-sqlite3/sqlite3_opt_serialize.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/operator-framework/operator-registry/alpha/declcfg/model_to_declcfg.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/operator-framework/operator-registry/alpha/model/model.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/operator-framework/operator-registry/pkg/lib/bundle/validate.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/operator-framework/operator-registry/pkg/registry/conversion.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/.golangci.yml is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/CHANGELOG.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/Makefile is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/RELEASING.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/encoder.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/hash.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/kv.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/type_string.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/value.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/dependencies.Dockerfile is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/internal/x/features.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/config.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/container.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/env.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/os.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/process.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/resource.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/batch_span_processor.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/simple_span_processor.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/tracer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/provider.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/trace/span.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/version.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.40.0/otelconv/metric.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/trace/trace.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/version.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/versions.yaml is excluded by !vendor/**, !**/vendor/**
  • vendor/helm.sh/helm/v3/pkg/chart/metadata.go is excluded by !vendor/**, !**/vendor/**
  • vendor/helm.sh/helm/v3/pkg/chartutil/expand.go is excluded by !vendor/**, !**/vendor/**
  • vendor/modules.txt is excluded by !vendor/**, !**/vendor/**
  • vendor/pkg.package-operator.run/boxcutter/boxcutter.go is excluded by !vendor/**, !**/vendor/**
  • vendor/pkg.package-operator.run/boxcutter/machinery/objects.go is excluded by !vendor/**, !**/vendor/**
  • vendor/pkg.package-operator.run/boxcutter/managedcache/objectboundaccess.go is excluded by !vendor/**, !**/vendor/**
📒 Files selected for processing (15)
  • .bingo/Variables.mk
  • .bingo/gojq.mod
  • .bingo/variables.env
  • Makefile
  • go.mod
  • hack/tools/update-tls-profiles.sh
  • internal/operator-controller/applier/phase.go
  • internal/operator-controller/applier/phase_test.go
  • internal/operator-controller/controllers/clusterobjectset_controller.go
  • internal/operator-controller/controllers/clusterobjectset_controller_test.go
  • internal/operator-controller/controllers/revision_engine_factory.go
  • internal/shared/util/tlsprofiles/mozilla_data.go
  • internal/shared/util/tlsprofiles/mozilla_data.json
  • internal/shared/util/tlsprofiles/tlsprofiles_test.go
  • openshift/tests-extension/go.mod
💤 Files with no reviewable changes (3)
  • .bingo/gojq.mod
  • .bingo/variables.env
  • .bingo/Variables.mk
✅ Files skipped from review due to trivial changes (3)
  • internal/shared/util/tlsprofiles/tlsprofiles_test.go
  • internal/shared/util/tlsprofiles/mozilla_data.json
  • openshift/tests-extension/go.mod
🚧 Files skipped from review as they are similar to previous changes (5)
  • internal/operator-controller/controllers/revision_engine_factory.go
  • Makefile
  • internal/operator-controller/applier/phase.go
  • internal/operator-controller/controllers/clusterobjectset_controller_test.go
  • go.mod

Comment on lines +5 to 11
OUTPUT=internal/shared/util/tlsprofiles/mozilla_data.json
INPUT=https://ssl-config.mozilla.org/guidelines/latest.json

TMPFILE="$(mktemp)"
trap 'rm -rf "$TMPFILE"' EXIT

if ! curl -L -s -f "${INPUT}" > "${TMPFILE}"; then
if ! curl -L -s -f "${INPUT}" -o "${OUTPUT}"; then
echo "ERROR: Failed to download ${INPUT} (HTTP error or connection failure)" >&2
exit 1
fi
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Write mozilla_data.json atomically.

curl -o "${OUTPUT}" truncates the checked-in file before the transfer completes. If the download fails mid-stream, internal/shared/util/tlsprofiles/mozilla_data.json can be left corrupt, and internal/shared/util/tlsprofiles/mozilla_data.go will panic during init() on the next build/test.

Proposed fix
 OUTPUT=internal/shared/util/tlsprofiles/mozilla_data.json
 INPUT=https://ssl-config.mozilla.org/guidelines/latest.json
+tmp="$(mktemp "${OUTPUT}.tmp.XXXXXX")"
+trap 'rm -f "${tmp}"' EXIT
 
-if ! curl -L -s -f "${INPUT}" -o "${OUTPUT}"; then
+if ! curl -L -s -f "${INPUT}" -o "${tmp}"; then
     echo "ERROR: Failed to download ${INPUT} (HTTP error or connection failure)" >&2
     exit 1
 fi
+
+mv "${tmp}" "${OUTPUT}"
+trap - EXIT
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
OUTPUT=internal/shared/util/tlsprofiles/mozilla_data.json
INPUT=https://ssl-config.mozilla.org/guidelines/latest.json
TMPFILE="$(mktemp)"
trap 'rm -rf "$TMPFILE"' EXIT
if ! curl -L -s -f "${INPUT}" > "${TMPFILE}"; then
if ! curl -L -s -f "${INPUT}" -o "${OUTPUT}"; then
echo "ERROR: Failed to download ${INPUT} (HTTP error or connection failure)" >&2
exit 1
fi
OUTPUT=internal/shared/util/tlsprofiles/mozilla_data.json
INPUT=https://ssl-config.mozilla.org/guidelines/latest.json
tmp="$(mktemp "${OUTPUT}.tmp.XXXXXX")"
trap 'rm -f "${tmp}"' EXIT
if ! curl -L -s -f "${INPUT}" -o "${tmp}"; then
echo "ERROR: Failed to download ${INPUT} (HTTP error or connection failure)" >&2
exit 1
fi
mv "${tmp}" "${OUTPUT}"
trap - EXIT
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hack/tools/update-tls-profiles.sh` around lines 5 - 11, The script currently
writes directly to OUTPUT (variable
internal/shared/util/tlsprofiles/mozilla_data.json) which can be truncated on
partial download; change the download to write to a temporary file (use mktemp)
and only move it into place atomically (mv) after curl succeeds, ensuring you
still check curl's exit code; also ensure the temp file is removed on failure
(use a trap or explicit cleanup) and preserve final file permissions if needed
so that the atomic replace prevents leaving a corrupt mozilla_data.json and
avoids init() panics in the code that reads it.

Comment on lines +68 to +103
func parseProfile(name string, cfg mozillaConfiguration) (tlsProfile, []string, []string) {
var skippedC, skippedK []string
var cipherNums []uint16
for _, c := range append(cfg.Ciphersuites, cfg.Ciphers.IANA...) {
id := cipherSuiteId(c)
if id == 0 {
skippedC = append(skippedC, c)
continue
}
cipherNums = append(cipherNums, id)
}

var curveNums []tls.CurveID
for _, c := range cfg.TLSCurves {
id := curveId(c)
if id == 0 {
skippedK = append(skippedK, c)
continue
}
curveNums = append(curveNums, id)
}

if len(cfg.TLSVersions) == 0 {
panic(fmt.Sprintf("tlsprofiles: profile %q has no tls_versions in embedded mozilla_data.json", name))
}

var version tlsVersion
if err := version.Set(cfg.TLSVersions[0]); err != nil {
panic(fmt.Sprintf("tlsprofiles: profile %q has unrecognized tls_versions[0] %q: %v", name, cfg.TLSVersions[0], err))
}

return tlsProfile{
ciphers: cipherSlice{cipherNums: cipherNums},
curves: curveSlice{curveNums: curveNums},
minTLSVersion: version,
}, skippedC, skippedK
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Fail closed on unsupported ciphers and curves.

Lines 73-76 and 83-86 silently drop names that Go cannot resolve. internal/shared/util/tlsprofiles/tlsprofiles_test.go:170-186 catches that only when tests run; the production code would otherwise ship a weaker/incomplete TLS profile.

Proposed fix
-func parseProfile(name string, cfg mozillaConfiguration) (tlsProfile, []string, []string) {
-	var skippedC, skippedK []string
+func parseProfile(name string, cfg mozillaConfiguration) (tlsProfile, error) {
 	var cipherNums []uint16
 	for _, c := range append(cfg.Ciphersuites, cfg.Ciphers.IANA...) {
 		id := cipherSuiteId(c)
 		if id == 0 {
-			skippedC = append(skippedC, c)
-			continue
+			return tlsProfile{}, fmt.Errorf("tlsprofiles: profile %q contains unsupported cipher %q", name, c)
 		}
 		cipherNums = append(cipherNums, id)
 	}
 
 	var curveNums []tls.CurveID
 	for _, c := range cfg.TLSCurves {
 		id := curveId(c)
 		if id == 0 {
-			skippedK = append(skippedK, c)
-			continue
+			return tlsProfile{}, fmt.Errorf("tlsprofiles: profile %q contains unsupported curve %q", name, c)
 		}
 		curveNums = append(curveNums, id)
 	}
 
 	if len(cfg.TLSVersions) == 0 {
-		panic(fmt.Sprintf("tlsprofiles: profile %q has no tls_versions in embedded mozilla_data.json", name))
+		return tlsProfile{}, fmt.Errorf("tlsprofiles: profile %q has no tls_versions in embedded mozilla_data.json", name)
 	}
 
 	var version tlsVersion
 	if err := version.Set(cfg.TLSVersions[0]); err != nil {
-		panic(fmt.Sprintf("tlsprofiles: profile %q has unrecognized tls_versions[0] %q: %v", name, cfg.TLSVersions[0], err))
+		return tlsProfile{}, fmt.Errorf("tlsprofiles: profile %q has unrecognized tls_versions[0] %q: %w", name, cfg.TLSVersions[0], err)
 	}
 
 	return tlsProfile{
 		ciphers:       cipherSlice{cipherNums: cipherNums},
 		curves:        curveSlice{curveNums: curveNums},
 		minTLSVersion: version,
-	}, skippedC, skippedK
+	}, nil
 }

Also update Line 55 to handle the returned error and panic there if needed.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
func parseProfile(name string, cfg mozillaConfiguration) (tlsProfile, []string, []string) {
var skippedC, skippedK []string
var cipherNums []uint16
for _, c := range append(cfg.Ciphersuites, cfg.Ciphers.IANA...) {
id := cipherSuiteId(c)
if id == 0 {
skippedC = append(skippedC, c)
continue
}
cipherNums = append(cipherNums, id)
}
var curveNums []tls.CurveID
for _, c := range cfg.TLSCurves {
id := curveId(c)
if id == 0 {
skippedK = append(skippedK, c)
continue
}
curveNums = append(curveNums, id)
}
if len(cfg.TLSVersions) == 0 {
panic(fmt.Sprintf("tlsprofiles: profile %q has no tls_versions in embedded mozilla_data.json", name))
}
var version tlsVersion
if err := version.Set(cfg.TLSVersions[0]); err != nil {
panic(fmt.Sprintf("tlsprofiles: profile %q has unrecognized tls_versions[0] %q: %v", name, cfg.TLSVersions[0], err))
}
return tlsProfile{
ciphers: cipherSlice{cipherNums: cipherNums},
curves: curveSlice{curveNums: curveNums},
minTLSVersion: version,
}, skippedC, skippedK
func parseProfile(name string, cfg mozillaConfiguration) (tlsProfile, error) {
var cipherNums []uint16
for _, c := range append(cfg.Ciphersuites, cfg.Ciphers.IANA...) {
id := cipherSuiteId(c)
if id == 0 {
return tlsProfile{}, fmt.Errorf("tlsprofiles: profile %q contains unsupported cipher %q", name, c)
}
cipherNums = append(cipherNums, id)
}
var curveNums []tls.CurveID
for _, c := range cfg.TLSCurves {
id := curveId(c)
if id == 0 {
return tlsProfile{}, fmt.Errorf("tlsprofiles: profile %q contains unsupported curve %q", name, c)
}
curveNums = append(curveNums, id)
}
if len(cfg.TLSVersions) == 0 {
return tlsProfile{}, fmt.Errorf("tlsprofiles: profile %q has no tls_versions in embedded mozilla_data.json", name)
}
var version tlsVersion
if err := version.Set(cfg.TLSVersions[0]); err != nil {
return tlsProfile{}, fmt.Errorf("tlsprofiles: profile %q has unrecognized tls_versions[0] %q: %w", name, cfg.TLSVersions[0], err)
}
return tlsProfile{
ciphers: cipherSlice{cipherNums: cipherNums},
curves: curveSlice{curveNums: curveNums},
minTLSVersion: version,
}, nil
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@internal/shared/util/tlsprofiles/mozilla_data.go` around lines 68 - 103,
parseProfile currently drops unresolved cipher/curve names (when cipherSuiteId
or curveId return 0) which weakens profiles; change parseProfile to treat those
as errors instead of silently skipping: collect any unknown cipher or curve
names and return a non-nil error (update the return signature accordingly) so
callers must handle it; update the caller that loads embedded profiles to check
the returned error and panic/fail closed if parsing fails (as suggested for the
caller at the embedded-profile load site), ensuring unresolved names never
silently degrade the TLS profile.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 11, 2026

@openshift-bot: all tests passed!

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.

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. jira/severity-low Referenced Jira bug's severity is low for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. kind/sync lgtm Indicates that a PR is ready to be merged. tide/merge-method-merge Denotes a PR that should use a standard merge by tide when it merges.

Projects

None yet

Development

Successfully merging this pull request may close these issues.