Skip to content

OPRUN-4392,OPRUN-4393: Add OLMv1 progress deadline QE tests + fixes - #755

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
dtfranz:ocp-88331-88332-automation_dtfranz
Jul 21, 2026
Merged

OPRUN-4392,OPRUN-4393: Add OLMv1 progress deadline QE tests + fixes#755
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
dtfranz:ocp-88331-88332-automation_dtfranz

Conversation

@dtfranz

@dtfranz dtfranz commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Automate the ClusterExtension rollout failure coverage for OCP-88331 and OCP-88332 by building in-cluster bundle and catalog images for successful and failing bundle versions.

The new QE specs verify ProgressDeadlineExceeded on an initial failed rollout and ProbeFailure while upgrading to a bad revision under the BoxCutter runtime.

Supersedes #745

Additional changes:

  • Test respects the CRD minimum of 10 minutes for the timeout - upstream we would modify the CRD so we can do 1 minute, but we can't do that downstream.
  • Fixed the httpd script

Test pass shown here: PR, CI run

Summary by CodeRabbit

  • Tests
    • Added a gated end-to-end ClusterExtension spec validating ProgressDeadlineMinutes, including ProgressDeadlineExceeded and probe failure behavior, with coverage for persistent rollout issues across install and replace/upgrade scenarios.
    • Expanded the OLMv1 test payload with additional Boxcutter-runtime scenarios and related progress-deadline cases.
  • New Features
    • Added a helper option to set ProgressDeadlineMinutes on ClusterExtension.
  • Chores
    • Improved in-cluster bundle/image/catalog build and cleanup tooling with better defaults, templating, and exported resource helpers.
    • Updated embedded operator assets and CSV templating to align with configured bundle versions.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 23, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 23, 2026

Copy link
Copy Markdown

@dtfranz: This pull request references OPRUN-4392 which is a valid jira issue.

This pull request references OPRUN-4393 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Automate the ClusterExtension rollout failure coverage for OCP-88331 and OCP-88332 by building in-cluster bundle and catalog images for successful and failing bundle versions.

The new QE specs verify ProgressDeadlineExceeded on an initial failed rollout and ProbeFailure while upgrading to a bad revision under the BoxCutter runtime.

Supersedes #745

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.

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 567d639b-15af-4489-ac04-cda2c4c93b95

📥 Commits

Reviewing files that changed from the base of the PR and between 3b6649f and 0e1c54e.

📒 Files selected for processing (6)
  • openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json
  • openshift/tests-extension/pkg/bindata/operator/operator.go
  • openshift/tests-extension/pkg/helpers/cluster_extension.go
  • openshift/tests-extension/pkg/helpers/in_cluster_bundles.go
  • openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go
  • openshift/tests-extension/testdata/operator/manifests/registry.clusterserviceversion.yaml
🚧 Files skipped from review as they are similar to previous changes (4)
  • openshift/tests-extension/pkg/helpers/cluster_extension.go
  • openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json
  • openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go
  • openshift/tests-extension/pkg/helpers/in_cluster_bundles.go

Walkthrough

Adds gated OLMv1 end-to-end coverage for ClusterExtension progress-deadline failures and failed upgrades, with supporting image-build helpers, templated bundle assets, cleanup handling, and payload registrations.

Changes

OLMv1 progress deadline coverage

Layer / File(s) Summary
Bundle build infrastructure
openshift/tests-extension/pkg/helpers/cluster_extension.go, openshift/tests-extension/pkg/helpers/in_cluster_bundles.go, openshift/tests-extension/testdata/operator/..., openshift/tests-extension/pkg/bindata/operator/operator.go
Adds progress-deadline options, exported resource helpers, in-cluster image construction, centralized cleanup registration, and version-templated operator assets.
Progress deadline test scenarios
openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go
Creates bundle and catalog fixtures, waits for catalog serving, and validates persistent rollout failure plus upgrade revision conditions.
Payload registration and ordering
openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json
Registers the two progress-deadline cases and reorders related OLMv1 test entries.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Suggested labels: lgtm, verified

Suggested reviewers: fgiudici

Sequence Diagram(s)

sequenceDiagram
  participant TestSpec
  participant BuildImage
  participant ClusterCatalog
  participant ClusterExtension
  participant ClusterObjectSet
  TestSpec->>BuildImage: Build bundle and catalog images
  TestSpec->>ClusterCatalog: Create catalog and wait for serving
  TestSpec->>ClusterExtension: Create or patch bundle version
  ClusterExtension->>ClusterObjectSet: Reconcile bundle revision
  ClusterObjectSet-->>TestSpec: Report rollout or probe-failure condition
Loading
🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Test Structure And Quality ⚠️ Warning FAIL: the upgrade test indexes ActiveRevisions[1] in a listType=map field, so revision order isn’t guaranteed and the scenario is flaky. Select the new revision by name/version (or label) instead of slice index, and keep assertions scoped to one rollout behavior.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: new OLMv1 progress deadline QE tests plus related fixes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The new Ginkgo titles and payload descriptors are fixed literal strings; no timestamps, generated suffixes, or interpolated runtime values appear in test names.
Microshift Test Compatibility ✅ Passed The new Ginkgo describe calls exutil.SkipMicroshift() in BeforeEach, so the BuildConfig/OLM APIs are gated off on MicroShift.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No multi-node/HA assumptions found; the new spec only uses OpenShift APIs/builds and has no node-count, affinity, drain, or SNO-guard logic.
Topology-Aware Scheduling Compatibility ✅ Passed Changes are test-only and image-build helpers; scans found no new nodeSelector, affinity, topologySpread, tolerations, or control-plane/worker scheduling assumptions.
Ote Binary Stdout Contract ✅ Passed No new stdout writes in process-level code; touched files use GinkgoWriter/By only and add no main/init/TestMain/BeforeSuite setup.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed New tests only use cluster-internal registry/API paths and ShellImage; no IPv4 literals, ParseIP/To4, or public hosts found.
No-Weak-Crypto ✅ Passed PASS: Searched all changed files and operator testdata; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, crypto imports, or secret/token comparisons were added.
Container-Privileges ✅ Passed PASS: the changed CSV only sets allowPrivilegeEscalation:false and runAsNonRoot:true; no privileged/host* /SYS_ADMIN settings were added in the new helpers or manifests.
No-Sensitive-Data-In-Logs ✅ Passed No new log statements expose passwords, tokens, PII, or internal hostnames; the added By/Expect messages only reference test names, namespaces, versions, and build names.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci
openshift-ci Bot requested review from fgiudici and perdasilva June 23, 2026 13:07

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go (1)

405-416: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Consider documenting the 12-minute timeout rationale.

The 12-minute timeout here is notably longer than other assertions (3-5 minutes). While this is correct for waiting beyond the 10-minute progress deadline set in test case 88331, a comment explaining the relationship would improve maintainability.

📝 Optional improvement
 func expectClusterObjectSetCondition(ctx context.Context, name, conditionType string, status metav1.ConditionStatus, reason string) {
+	// Timeout is 12 minutes to accommodate the 10-minute progress deadline in test case 88331,
+	// plus buffer time for controller processing and status updates.
 	eventually(func(g o.Gomega) {
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go` around
lines 405 - 416, Add a comment above the eventually function call in
expectClusterObjectSetCondition to document why the 12-minute timeout is used.
The comment should explain that this timeout is intentionally longer than other
assertions (3-5 minutes) to wait beyond the 10-minute progress deadline
configured in test case 88331, establishing the relationship between the timeout
value and the deadline requirement for maintainability.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go`:
- Around line 263-264: The error message in the o.Expect assertion for the oc
start-build command includes the full output variable, which can contain
extensive build logs violating QE guidelines. Remove the output variable from
the o.Expect error message assertion at the line where start-build is run and
Run method is called, and instead log the output separately using g.By() before
the assertion or truncate the output to a reasonable size if the error needs to
include diagnostic information. This ensures large build logs are handled
through proper logging mechanisms rather than being embedded in the error
expectation message.

---

Nitpick comments:
In `@openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go`:
- Around line 405-416: Add a comment above the eventually function call in
expectClusterObjectSetCondition to document why the 12-minute timeout is used.
The comment should explain that this timeout is intentionally longer than other
assertions (3-5 minutes) to wait beyond the 10-minute progress deadline
configured in test case 88331, establishing the relationship between the timeout
value and the deadline requirement for maintainability.
🪄 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: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 2af580ca-f800-4db0-8859-d59b8a61f185

📥 Commits

Reviewing files that changed from the base of the PR and between ecd140b and 1d56a97.

📒 Files selected for processing (2)
  • openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json
  • openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go

Comment on lines +263 to +264
output, err := oc.AsAdmin().WithoutNamespace().Run("start-build").Args(name, "-n", namespace, "--from-archive="+archive, "--wait").Output()
o.Expect(err).NotTo(o.HaveOccurred(), "failed to build image %s: %s", name, output)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Don't include large build output in error messages.

The output variable from oc start-build could contain extensive build logs (hundreds of lines). Including this directly in the o.Expect error message violates the QE guideline: "Don't put large log outputs in error messages (use proper log messages instead of o.Expect with large output)".

Consider logging the output separately with g.By() or truncating it:

♻️ Suggested fix
 output, err := oc.AsAdmin().WithoutNamespace().Run("start-build").Args(name, "-n", namespace, "--from-archive="+archive, "--wait").Output()
-o.Expect(err).NotTo(o.HaveOccurred(), "failed to build image %s: %s", name, output)
+if err != nil {
+    g.By(fmt.Sprintf("Build output for %s:\n%s", name, output))
+    o.Expect(err).NotTo(o.HaveOccurred(), "failed to build image %s", name)
+}

Or truncate the output:

 output, err := oc.AsAdmin().WithoutNamespace().Run("start-build").Args(name, "-n", namespace, "--from-archive="+archive, "--wait").Output()
-o.Expect(err).NotTo(o.HaveOccurred(), "failed to build image %s: %s", name, output)
+truncated := output
+if len(truncated) > 500 {
+    truncated = truncated[:500] + "... (truncated)"
+}
+o.Expect(err).NotTo(o.HaveOccurred(), "failed to build image %s: %s", name, truncated)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go` around
lines 263 - 264, The error message in the o.Expect assertion for the oc
start-build command includes the full output variable, which can contain
extensive build logs violating QE guidelines. Remove the output variable from
the o.Expect error message assertion at the line where start-build is run and
Run method is called, and instead log the output separately using g.By() before
the assertion or truncate the output to a reasonable size if the error needs to
include diagnostic information. This ensures large build logs are handled
through proper logging mechanisms rather than being embedded in the error
expectation message.

Source: Coding guidelines

@dtfranz

dtfranz commented Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@dtfranz

dtfranz commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-upgrade-ovn-single-node

4 similar comments
@dtfranz

dtfranz commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-upgrade-ovn-single-node

@dtfranz

dtfranz commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-upgrade-ovn-single-node

@dtfranz

dtfranz commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-upgrade-ovn-single-node

@dtfranz

dtfranz commented Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-upgrade-ovn-single-node

return input
}

func expectClusterCatalogServing(ctx context.Context, name string) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

suggestion: The file introduces expectClusterCatalogServing, expectClusterExtensionCondition, expectClusterObjectSetCondition, and deleteObject — all of which duplicate existing helpers:

  • expectClusterCatalogServinghelpers.ExpectCatalogToBeServing (pkg/helpers/catalogs.go:38)
  • expectClusterExtensionConditionolmv1util.ClusterExtensionDescription.WaitClusterExtensionCondition
  • deleteObject → cleanup functions returned by helpers.CreateClusterCatalog, helpers.EnsureCleanupClusterExtension, etc.

Reusing the existing helpers would cut ~34 lines and keep timeouts consistent across the test suite (these use hardcoded 3/5/12 min vs the established DefaultTimeout/DefaultPolling constants).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

deleteObject is still used for a few things that don't appear to have relevant helpers - but I've otherwise cleaned things up by using some other available helpers for clusterextension and catalog.

command:
- /scripts/httpd.sh
ports:
- containerPort: 8080

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

suggestion: containerPort: 8080 but httpd.sh listens on 8081 (and all probes correctly target 8081). The field is informational-only so nothing breaks, but it's misleading if someone reads the CSV template later. Consider changing to 8081.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed 👍

@dtfranz
dtfranz force-pushed the ocp-88331-88332-automation_dtfranz branch from 1d56a97 to 41eb704 Compare July 2, 2026 09:34

@perdasilva perdasilva left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code review of the progress deadline QE tests. 9 findings below (ranked by severity).

Comment thread openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go Outdated
Comment thread openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go Outdated
Comment thread openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go Outdated
Comment thread openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go Outdated
Comment thread openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go Outdated
Comment thread openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go Outdated
Comment thread openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go Outdated
Comment thread openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go Outdated
Comment thread openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go Outdated
@dtfranz
dtfranz force-pushed the ocp-88331-88332-automation_dtfranz branch from 41eb704 to 04021bf Compare July 7, 2026 07:03
@dtfranz

dtfranz commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

/retest

2 similar comments
@dtfranz

dtfranz commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@dtfranz

dtfranz commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@dtfranz

dtfranz commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

@perdasilva @pedjak I believe I've addressed all your comments here - please take another look if you can!

Comment thread openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go Outdated
@dtfranz
dtfranz force-pushed the ocp-88331-88332-automation_dtfranz branch from 04021bf to 23a52eb Compare July 14, 2026 08:57

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@openshift/tests-extension/testdata/operator/manifests/registry.clusterserviceversion.yaml`:
- Line 24: Quote the templated CSV metadata values in the manifest, including
the name expression and the corresponding version field referenced by the same
template pattern. Preserve the existing rendered values while ensuring the YAML
parses before template rendering.
🪄 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: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 938e1c70-e541-4743-948e-54bb747dfd05

📥 Commits

Reviewing files that changed from the base of the PR and between 41eb704 and 23a52eb.

📒 Files selected for processing (6)
  • openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json
  • openshift/tests-extension/pkg/bindata/operator/operator.go
  • openshift/tests-extension/pkg/helpers/cluster_extension.go
  • openshift/tests-extension/pkg/helpers/in_cluster_bundles.go
  • openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go
  • openshift/tests-extension/testdata/operator/manifests/registry.clusterserviceversion.yaml
🚧 Files skipped from review as they are similar to previous changes (4)
  • openshift/tests-extension/pkg/helpers/cluster_extension.go
  • openshift/tests-extension/test/qe/specs/olmv1_ce_progress_deadline.go
  • openshift/tests-extension/pkg/bindata/operator/operator.go
  • openshift/tests-extension/pkg/helpers/in_cluster_bundles.go

operators.operatorframework.io/builder: operator-sdk-v1.34.1
operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
name: {{ TEST-BUNDLE }}.v0.0.1
name: {{ TEST-BUNDLE }}.v{{ BUNDLE-VERSION }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Quote the templated CSV name and version.

These unquoted {{ ... }} expressions are invalid YAML before template rendering; YAMLlint already reports a syntax error at Line 24. Keep both values quoted so the CSV can be parsed:

Proposed fix
-  name: {{ TEST-BUNDLE }}.v{{ BUNDLE-VERSION }}
+  name: "{{ TEST-BUNDLE }}.v{{ BUNDLE-VERSION }}"
...
-  version: {{ BUNDLE-VERSION }}
+  version: "{{ BUNDLE-VERSION }}"

Also applies to: 161-161

🧰 Tools
🪛 YAMLlint (1.37.1)

[error] 24-24: syntax error: expected , but found ''

(syntax)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@openshift/tests-extension/testdata/operator/manifests/registry.clusterserviceversion.yaml`
at line 24, Quote the templated CSV metadata values in the manifest, including
the name expression and the corresponding version field referenced by the same
template pattern. Preserve the existing rendered values while ensuring the YAML
parses before template rendering.

Source: Linters/SAST tools

@perdasilva

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 14, 2026
@dtfranz

dtfranz commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@dtfranz
dtfranz force-pushed the ocp-88331-88332-automation_dtfranz branch from 23a52eb to 3b6649f Compare July 15, 2026 07:06
@dtfranz

dtfranz commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

Added [Slow] tag and ProgressDeadlineExceeded test for the ClusterExtension to 88331 per @bandrade 's comment here.

@dtfranz
dtfranz force-pushed the ocp-88331-88332-automation_dtfranz branch from 3b6649f to e1abc4f Compare July 15, 2026 07:19
@openshift-ci-robot

Copy link
Copy Markdown

@perdasilva: This PR has been marked as verified by ci.

Details

In response to this:

/verified by ci

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.

@tmshort

tmshort commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

/retest

@grokspawn

Copy link
Copy Markdown
Contributor

/lgtm
barring discovery during CI

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 16, 2026
@dtfranz

dtfranz commented Jul 17, 2026

Copy link
Copy Markdown
Contributor Author

/retest
So far the techpreview run has failed for a different reason every single time, so I think in this case we're seeing some heavy instability.

@tmshort

tmshort commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

/override ci/prow/openshift-e2e-aws-techpreview

So far the techpreview run has failed for a different reason every single time, so I think in this case we're seeing some heavy instability.

Yes, I've been seeing it fail on other PRs in this repo too, with similar [sig-node] errors. I think we can override.

@tmshort

tmshort commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

/label acknowledge-critical-fixes

Since this is just adding tests, I think we should allow it through.

@openshift-ci

openshift-ci Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

@tmshort: The label(s) `/label acknowledge-critical-fixes

cannot be applied. These labels are supported:acknowledge-critical-fixes-only, platform/aws, platform/azure, platform/baremetal, platform/google, platform/libvirt, platform/openstack, ga, tide/merge-method-merge, tide/merge-method-rebase, tide/merge-method-squash, px-approved, docs-approved, qe-approved, ux-approved, no-qe, rebase/manual, cluster-config-api-changed, run-integration-tests, verified, ready-for-human-review, approved, backport-risk-assessed, bugzilla/valid-bug, cherry-pick-approved, jira/skip-dependent-bug-check, jira/valid-bug, ok-to-test, stability-fix-approved, staff-eng-approved. Is this label configured under labels -> additional_labelsorlabels -> restricted_labelsinplugin.yaml`?

Details

In response to this:

/label acknowledge-critical-fixes

Since this is just adding tests, I think we should allow it through.

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

openshift-ci Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

@tmshort: Overrode contexts on behalf of tmshort: ci/prow/openshift-e2e-aws-techpreview

Details

In response to this:

/override ci/prow/openshift-e2e-aws-techpreview

So far the techpreview run has failed for a different reason every single time, so I think in this case we're seeing some heavy instability.

Yes, I've been seeing it fail on other PRs in this repo too, with similar [sig-node] errors. I think we can override.

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.

@tmshort

tmshort commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

/label acknowledge-critical-fixes-only

Since this is just adding tests, I think we should allow it through, with correct label name

@openshift-ci openshift-ci Bot added the acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. label Jul 17, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 93894cf and 2 for PR HEAD e1abc4f in total

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD af22b3e and 1 for PR HEAD e1abc4f in total

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 20, 2026
Automate the ClusterExtension rollout failure coverage for OCP-88331 and OCP-88332 by building in-cluster bundle and catalog images for successful and failing bundle versions.

The new QE specs verify ProgressDeadlineExceeded on an initial failed rollout and ProbeFailure while upgrading to a bad revision under the BoxCutter runtime.

Signed-off-by: Daniel Franz <dfranz@redhat.com>
Co-authored-by: Bruno Andrade <bruno.balint@gmail.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@dtfranz
dtfranz force-pushed the ocp-88331-88332-automation_dtfranz branch from e1abc4f to 0e1c54e Compare July 21, 2026 00:41
@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Jul 21, 2026
@openshift-ci openshift-ci Bot removed lgtm Indicates that a PR is ready to be merged. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Jul 21, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 21, 2026

Copy link
Copy Markdown

@dtfranz: This pull request references OPRUN-4392 which is a valid jira issue.

This pull request references OPRUN-4393 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Automate the ClusterExtension rollout failure coverage for OCP-88331 and OCP-88332 by building in-cluster bundle and catalog images for successful and failing bundle versions.

The new QE specs verify ProgressDeadlineExceeded on an initial failed rollout and ProbeFailure while upgrading to a bad revision under the BoxCutter runtime.

Supersedes #745

Additional changes:

  • Test respects the CRD minimum of 10 minutes for the timeout - upstream we would modify the CRD so we can do 1 minute, but we can't do that downstream.
  • Fixed the httpd script

Test pass shown here: PR, CI run

Summary by CodeRabbit

  • Tests
  • Added a gated end-to-end ClusterExtension spec validating ProgressDeadlineMinutes, including ProgressDeadlineExceeded and probe failure behavior, with coverage for persistent rollout issues across install and replace/upgrade scenarios.
  • Expanded the OLMv1 test payload with additional Boxcutter-runtime scenarios and related progress-deadline cases.
  • New Features
  • Added a helper option to set ProgressDeadlineMinutes on ClusterExtension.
  • Chores
  • Improved in-cluster bundle/image/catalog build and cleanup tooling with better defaults, templating, and exported resource helpers.
  • Updated embedded operator assets and CSV templating to align with configured bundle versions.

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

openshift-ci Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

@dtfranz: 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.

@rashmigottipati rashmigottipati left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 21, 2026
@openshift-ci

openshift-ci Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dtfranz, perdasilva, rashmigottipati

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

@dtfranz

dtfranz commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

/verified by ci

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 21, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@dtfranz: This PR has been marked as verified by ci.

Details

In response to this:

/verified by ci

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-merge-bot
openshift-merge-bot Bot merged commit 3254e84 into openshift:main Jul 21, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants