Skip to content

OTA-1814: fix(alerts): populate CVO-sourced risks in issues#2319

Open
nbottari9 wants to merge 15 commits into
openshift:mainfrom
nbottari9:1814-cvo-enabled-accept-risks
Open

OTA-1814: fix(alerts): populate CVO-sourced risks in issues#2319
nbottari9 wants to merge 15 commits into
openshift:mainfrom
nbottari9:1814-cvo-enabled-accept-risks

Conversation

@nbottari9

@nbottari9 nbottari9 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

After fixing duplicate printing (see), CVO-sourced risks would not appear in list of unaccepted risks. Fixed by populating issues list with CVO-sourced risks

Summary by CodeRabbit

  • Bug Fixes
    • Improved upgrade recommendations to accurately identify unaccepted conditional update risks and alerts.
    • Updated acceptance guidance based on whether the cluster evaluates alerts automatically or requires explicit command-line acceptance.
    • Enhanced upgrade output examples to include all applicable unaccepted issues, including test alerts.

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

Copy link
Copy Markdown
Contributor

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

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

This repository is configured in: LGTM mode

@openshift-ci-robot

openshift-ci-robot commented Jul 21, 2026

Copy link
Copy Markdown

@nbottari9: This pull request references OTA-1814 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 bug to target the "5.0.0" version, but no target version was set.

Details

In response to this:

After fixing duplicate printing (see), CVO-sourced risks would not appear in list of unaccepted risks. Fixed by populating issues list with CVO-sourced risks

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 Jul 21, 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

Walkthrough

The upgrade recommendation command now loads related mock data, evaluates conditional risks from ClusterVersion status when CVO checks alerts, and provides context-specific acceptance guidance. The example output also lists TestAlert among unaccepted issues.

Changes

CVO risk handling

Layer / File(s) Summary
CVO-aware risk evaluation
pkg/cli/admin/upgrade/recommend/recommend.go, pkg/cli/admin/upgrade/recommend/examples/*
Mock-data paths are derived from the ClusterVersion path; unaccepted risks now include applicable true conditional risks and use CVO-specific or command-line acceptance guidance. The example output includes TestAlert.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • openshift/oc#2320: Directly overlaps the CVO-specific unaccepted-risk and error-message handling.
  • openshift/oc#2322: Relates to the alertsEvaluatedByCVO logic used by this change.

Suggested labels: approved, lgtm

Suggested reviewers: ardaguclu, atiratree

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 14.29% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: adding CVO-sourced risks into the issues list.
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 No Ginkgo titles were added or edited; the touched tests use static t.Run names, and the changed files are non-Ginkgo code/example output.
Test Structure And Quality ✅ Passed No Ginkgo tests were changed in this PR; only production code in recommend.go was modified, so the test-quality check is not applicable.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only changes recommend.go logic and example output, so MicroShift test compatibility is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only changes CLI logic and example output, so the SNO check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed Only CLI recommendation logic changed; no manifests, controllers, pod specs, affinities, selectors, replicas, or PDBs were modified.
Ote Binary Stdout Contract ✅ Passed The patch only changes recommend.go command logic in Run; there are no main/init/TestMain/suite setup stdout writes or new process-level emitters.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR only changes CLI recommendation logic; no Ginkgo e2e tests or network-dependent test code were added.
No-Weak-Crypto ✅ Passed The diff only adjusts update-risk handling; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret comparisons were introduced.
Container-Privileges ✅ Passed Changed files are Go logic and an output example; no K8s/container manifests or privileged/hostNetwork/hostIPC/SYS_ADMIN/allowPrivilegeEscalation settings were added.
No-Sensitive-Data-In-Logs ✅ Passed PR only adjusts upgrade recommendation/error text and mock test paths; no new logs or messages expose secrets, PII, hostnames, or customer data.
✨ 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 ardaguclu and atiratree July 21, 2026 17:13

@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: 2

🧹 Nitpick comments (1)
pkg/cli/admin/upgrade/recommend/alerts.go (1)

263-290: 🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

Cache the result to avoid redundant API calls.

This method is called twice during oc adm upgrade recommend --version <version> (once from precheck -> alerts and once directly in Run). Since it makes up to three API calls each time when not using mock data, consider caching the boolean result or the retrieved API objects on the options struct to avoid duplicate requests.

🤖 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 `@pkg/cli/admin/upgrade/recommend/alerts.go` around lines 263 - 290, Update
options and alertsEvaluatedByCVO to cache the computed result or retrieved
FeatureGates, Infrastructure, and ClusterVersion objects after the first
non-mock evaluation. Reuse that cached state on subsequent calls so precheck and
Run do not repeat the API requests, while preserving mock-data behavior and the
existing boolean result.
🤖 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 `@pkg/cli/admin/upgrade/recommend/alerts.go`:
- Around line 26-31: Correct the spelling of “occured” to “occurred” in the
klog.Warningf message within the alertsEvaluatedByCVO error-handling block,
without changing the surrounding behavior.

In `@pkg/cli/admin/upgrade/recommend/recommend.go`:
- Around line 340-354: Update the alertsEvaluatedByCVO handling in the
recommendation flow to match alerts()/precheck behavior: log the API error as a
warning and continue with client-side checks instead of returning a hard
failure, while preserving CVO-specific conditional-risk handling only when the
check succeeds. Also revise the unaccepted-issues error message to start
lowercase and omit the trailing newline; if hard failure is retained, wrap the
original error with %w.

---

Nitpick comments:
In `@pkg/cli/admin/upgrade/recommend/alerts.go`:
- Around line 263-290: Update options and alertsEvaluatedByCVO to cache the
computed result or retrieved FeatureGates, Infrastructure, and ClusterVersion
objects after the first non-mock evaluation. Reuse that cached state on
subsequent calls so precheck and Run do not repeat the API requests, while
preserving mock-data behavior and the existing boolean result.
🪄 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 YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 6699e1c3-d867-4a04-832d-8f4aaea5a760

📥 Commits

Reviewing files that changed from the base of the PR and between ae0477d and d1d2dae.

📒 Files selected for processing (19)
  • pkg/cli/admin/upgrade/recommend/alerts.go
  • pkg/cli/admin/upgrade/recommend/alerts_test.go
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-handling-risks-alerts.json
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-handling-risks-cv.yaml
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-handling-risks-featuregate.yaml
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-handling-risks-infrastructure.yaml
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-handling-risks.output
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-handling-risks.show-outdated-releases-output
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-handling-risks.version-5.0.0-ec.3-output
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-not-handling-risks-alerts.json
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-not-handling-risks-cv.yaml
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-not-handling-risks-featuregate.yaml
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-not-handling-risks-infrastructure.yaml
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-not-handling-risks.output
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-not-handling-risks.show-outdated-releases-output
  • pkg/cli/admin/upgrade/recommend/examples/5.0.0-cvo-not-handling-risks.version-5.0.0-ec.3-output
  • pkg/cli/admin/upgrade/recommend/examples_test.go
  • pkg/cli/admin/upgrade/recommend/mockresources.go
  • pkg/cli/admin/upgrade/recommend/recommend.go

Comment on lines +26 to +31
if skip, err := o.alertsEvaluatedByCVO(ctx); err != nil {
klog.Warningf("An error occured while determining if the CVO is evaluating alerts, so the client will check. %v", err)
} else if skip {
return nil, nil
}

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

Correct the spelling in the log message.

There is a typo in the warning log: "occured" should be "occurred".

✏️ Proposed fix
-	if skip, err := o.alertsEvaluatedByCVO(ctx); err != nil {
-		klog.Warningf("An error occured while determining if the CVO is evaluating alerts, so the client will check. %v", err)
-	} else if skip {
+	if skip, err := o.alertsEvaluatedByCVO(ctx); err != nil {
+		klog.Warningf("An error occurred while determining if the CVO is evaluating alerts, so the client will check. %v", err)
+	} else if skip {
📝 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
if skip, err := o.alertsEvaluatedByCVO(ctx); err != nil {
klog.Warningf("An error occured while determining if the CVO is evaluating alerts, so the client will check. %v", err)
} else if skip {
return nil, nil
}
if skip, err := o.alertsEvaluatedByCVO(ctx); err != nil {
klog.Warningf("An error occurred while determining if the CVO is evaluating alerts, so the client will check. %v", err)
} else if skip {
return nil, nil
}
🤖 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 `@pkg/cli/admin/upgrade/recommend/alerts.go` around lines 26 - 31, Correct the
spelling of “occured” to “occurred” in the klog.Warningf message within the
alertsEvaluatedByCVO error-handling block, without changing the surrounding
behavior.

Comment on lines +340 to +354
cvoChecking, err := o.alertsEvaluatedByCVO(ctx)
if err != nil {
return fmt.Errorf("failed to determine if CVO is checking alerts: %v", err)
}
if cvoChecking {
for _, name := range conditionalRisksFromCVO(cv) {
unaccepted.Insert(name)
}
}
if unaccepted.Len() > 0 {
return fmt.Errorf("issues that apply to this cluster but which were not included in --accept: %s", strings.Join(sets.List(unaccepted), ","))
if cvoChecking {
return fmt.Errorf("There are issues that apply to this cluster and have not been accepted. `oc adm upgrade accept` can be used to accept them: %s\n", strings.Join(sets.List(unaccepted), ","))
} else {
return fmt.Errorf("issues that apply to this cluster but which were not included in --accept: %s", strings.Join(sets.List(unaccepted), ","))
}

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 | 🟠 Major | ⚡ Quick win

Handle API errors gracefully and format error strings idiomatically.

There are two concerns here:

  1. Inconsistent error handling: If alertsEvaluatedByCVO returns an error here, the command fails entirely. However, when the same method is called earlier in alerts() (via precheck), the error is gracefully logged as a warning and the CLI falls back to client-side checks. Handling the error gracefully here would ensure consistent command behavior.
  2. Go error string conventions: The new error string starts with a capital letter and ends with a newline (\n), which violates standard Go error conventions (e.g., Effective Go guidelines). Error strings should be lowercase and avoid trailing punctuation or newlines.

As per coding guidelines, if you choose to keep the hard failure rather than falling back gracefully, you should wrap the error with fmt.Errorf("context: %w", err) instead of %v.

🛠️ Proposed fix (graceful fallback + style corrections)
-					cvoChecking, err := o.alertsEvaluatedByCVO(ctx)
-					if err != nil {
-						return fmt.Errorf("failed to determine if CVO is checking alerts: %v", err)
-					}
+					cvoChecking, err := o.alertsEvaluatedByCVO(ctx)
+					if err != nil {
+						klog.Warningf("An error occurred while determining if the CVO is evaluating alerts, assuming client-side checks: %v", err)
+						cvoChecking = false
+					}
					if cvoChecking {
						for _, name := range conditionalRisksFromCVO(cv) {
							unaccepted.Insert(name)
						}
					}
					if unaccepted.Len() > 0 {
						if cvoChecking {
-							return fmt.Errorf("There are issues that apply to this cluster and have not been accepted. `oc adm upgrade accept` can be used to accept them: %s\n", strings.Join(sets.List(unaccepted), ","))
+							return fmt.Errorf("there are issues that apply to this cluster and have not been accepted; `oc adm upgrade accept` can be used to accept them: %s", strings.Join(sets.List(unaccepted), ","))
						} else {
							return fmt.Errorf("issues that apply to this cluster but which were not included in --accept: %s", strings.Join(sets.List(unaccepted), ","))
						}
📝 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
cvoChecking, err := o.alertsEvaluatedByCVO(ctx)
if err != nil {
return fmt.Errorf("failed to determine if CVO is checking alerts: %v", err)
}
if cvoChecking {
for _, name := range conditionalRisksFromCVO(cv) {
unaccepted.Insert(name)
}
}
if unaccepted.Len() > 0 {
return fmt.Errorf("issues that apply to this cluster but which were not included in --accept: %s", strings.Join(sets.List(unaccepted), ","))
if cvoChecking {
return fmt.Errorf("There are issues that apply to this cluster and have not been accepted. `oc adm upgrade accept` can be used to accept them: %s\n", strings.Join(sets.List(unaccepted), ","))
} else {
return fmt.Errorf("issues that apply to this cluster but which were not included in --accept: %s", strings.Join(sets.List(unaccepted), ","))
}
cvoChecking, err := o.alertsEvaluatedByCVO(ctx)
if err != nil {
klog.Warningf("An error occurred while determining if the CVO is evaluating alerts, assuming client-side checks: %v", err)
cvoChecking = false
}
if cvoChecking {
for _, name := range conditionalRisksFromCVO(cv) {
unaccepted.Insert(name)
}
}
if unaccepted.Len() > 0 {
if cvoChecking {
return fmt.Errorf("there are issues that apply to this cluster and have not been accepted; `oc adm upgrade accept` can be used to accept them: %s", strings.Join(sets.List(unaccepted), ","))
} else {
return fmt.Errorf("issues that apply to this cluster but which were not included in --accept: %s", strings.Join(sets.List(unaccepted), ","))
}
🤖 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 `@pkg/cli/admin/upgrade/recommend/recommend.go` around lines 340 - 354, Update
the alertsEvaluatedByCVO handling in the recommendation flow to match
alerts()/precheck behavior: log the API error as a warning and continue with
client-side checks instead of returning a hard failure, while preserving
CVO-specific conditional-risk handling only when the check succeeds. Also revise
the unaccepted-issues error message to start lowercase and omit the trailing
newline; if hard failure is retained, wrap the original error with %w.

Source: Coding guidelines

Comment thread pkg/cli/admin/upgrade/recommend/recommend.go
@hongkailiu

Copy link
Copy Markdown
Member

LGTM.

I will do the labels after rebase.
You may want to squash the commits too.

@nbottari9
nbottari9 force-pushed the 1814-cvo-enabled-accept-risks branch from 6e34130 to 273b9a3 Compare July 21, 2026 19:27
Signed-off-by: Nicholas Bottari <nbottari9@gmail.com>
@nbottari9
nbottari9 force-pushed the 1814-cvo-enabled-accept-risks branch from 273b9a3 to e9139f9 Compare July 21, 2026 19:29
@hongkailiu

Copy link
Copy Markdown
Member

/lgtm

@openshift-ci openshift-ci 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 Jul 21, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-agnostic-ovn-cmd
/test e2e-aws-ovn
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-aws-ovn-upgrade

@nbottari9

Copy link
Copy Markdown
Contributor Author

/verified by TestExamples @nbottari9

@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

@nbottari9: This PR has been marked as verified by TestExamples @nbottari9.

Details

In response to this:

/verified by TestExamples @nbottari9

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.

…2296)

* docs(alerts): add missing inputs for alerts, add new inputs for fg and infra. add more context

Signed-off-by: Nicholas Bottari <nbottari9@gmail.com>

* docs(alerts): address feedback in review.

Signed-off-by: Nicholas Bottari <nbottari9@gmail.com>

---------

Signed-off-by: Nicholas Bottari <nbottari9@gmail.com>
@nbottari9

Copy link
Copy Markdown
Contributor Author

/retest

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 29ec221 and 2 for PR HEAD e9139f9 in total

NO-JIRA: Bump k8s dependencies to 1.36 along with openshift
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD cd086f9 and 1 for PR HEAD e9139f9 in total

@nbottari9

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-ovn-serial-1of2

…14-duplicate-warning"

This reverts commit 54b7c12, reversing
changes made to ae0477d.

PR openshift#2279 introduced a regression: alertsEvaluatedByCVO() returns nil from
alerts() when the ClusterUpdateAcceptRisks feature gate (TechPreview-only)
is enabled, breaking `oc adm upgrade recommend` output. This is blocking
the 5.0 nightly payload.
@nbottari9

Copy link
Copy Markdown
Contributor Author

/verified remove

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

Copy link
Copy Markdown

@nbottari9: The verified label has been removed.

Details

In response to this:

/verified remove

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.

@petr-muller

Copy link
Copy Markdown
Member

https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_oc/2319/pull-ci-openshift-oc-main-e2e-aws-ovn-serial-1of2/2079919509216432128

The jobs fails with oc adm upgrade recommend When the update service has conditional recommendations runs successfully with conditional recommendations to the --version target which indicates this fix may be incomplete, I think.

/hold

TRT policy is to land a revert #2320 to restore payload health

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 22, 2026
TRT-2817: Revert "Merge pull request openshift#2279 from nbottari9/1814-duplicate-warning"
return fmt.Errorf("There are issues that apply to this cluster and have not been accepted. `oc adm upgrade accept` can be used to accept them: %s\n", strings.Join(sets.List(unaccepted), ","))
}
}
if cv.Spec.DesiredUpdate != nil {

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.

This should be inside the cvoChecking branch.
See https://github.com/openshift/oc/pull/2319/changes#r3624785682

I think that causes the failure of serial e2e.

/lgtm cancel

@openshift-ci openshift-ci Bot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed lgtm Indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Jul 22, 2026
Signed-off-by: Nicholas Bottari <nbottari9@gmail.com>
@openshift-ci-robot

openshift-ci-robot commented Jul 23, 2026

Copy link
Copy Markdown

@nbottari9: This pull request references OTA-1814 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 bug to target the "5.0.0" version, but no target version was set.

Details

In response to this:

After fixing duplicate printing (see), CVO-sourced risks would not appear in list of unaccepted risks. Fixed by populating issues list with CVO-sourced risks

Summary by CodeRabbit

  • Bug Fixes
  • Improved upgrade recommendations to accurately identify unaccepted conditional update risks and alerts.
  • Updated acceptance guidance based on whether the cluster evaluates alerts automatically or requires explicit command-line acceptance.
  • Enhanced upgrade output examples to include all applicable unaccepted issues, including test alerts.

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.

Signed-off-by: Nicholas Bottari <nbottari9@gmail.com>
Signed-off-by: Nicholas Bottari <nbottari9@gmail.com>
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 23, 2026
@openshift-ci

openshift-ci Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: nbottari9
Once this PR has been reviewed and has the lgtm label, please assign atiratree for approval. For more information see the Code Review Process.

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

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

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

@openshift-ci

openshift-ci Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

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

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-ovn-serial-1of2 e9139f9 link true /test e2e-aws-ovn-serial-1of2
ci/prow/okd-scos-images 9eca03e link true /test okd-scos-images
ci/prow/build-rpms-from-tar 9eca03e link true /test build-rpms-from-tar
ci/prow/rpm-build 9eca03e link true /test rpm-build
ci/prow/verify 9eca03e link true /test verify
ci/prow/images 9eca03e link true /test images
ci/prow/unit 9eca03e link true /test unit

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

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants