Skip to content

docs: clarify OSSM conflict applies only to OLM-managed OCP versions#1158

Merged
openshift-merge-bot[bot] merged 4 commits into
mainfrom
autofix/rhoaieng-76376
Jul 14, 2026
Merged

docs: clarify OSSM conflict applies only to OLM-managed OCP versions#1158
openshift-merge-bot[bot] merged 4 commits into
mainfrom
autofix/rhoaieng-76376

Conversation

@jira-autofix

@jira-autofix jira-autofix Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Documentation updates to warn users about the OSSM 3 / Gateway API conflict on OCP versions where openshift-ingress manages OSSM via OLM.

Changes

  • platform-setup.md: Added warning admonition with version compatibility table showing which OCP versions are affected by the manual OSSM install conflict, covering both OSSM v2.x and v3 scenarios, with remediation guidance
  • troubleshooting.md: Added troubleshooting entry (issue 12) with step-by-step remediation for GatewayClass stuck in "Waiting for controller" due to conflicting OSSM subscriptions
  • setup-gateway.sh: Added diagnostic check for conflicting OSSM subscriptions with actionable error message

Review iteration

  • Replaced informal shorthand "noOLM" with "direct-install" per reviewer feedback

Risk analysis

  • Risk rating: 0
  • Why: Documentation-only change (markdown files and a log message in a setup script). No runtime code, no API changes, no deployment manifest changes.

Summary by CodeRabbit

  • Documentation

    • Added guidance for resolving GatewayClass resources stuck in Accepted: Unknown on OCP 4.20+.
    • Documented conflicts caused by manually installed or existing OSSM subscriptions, including cleanup and InstallPlan recommendations.
    • Added troubleshooting verification steps and updated related issue references.
  • Bug Fixes

    • Improved setup warnings when gateway readiness times out, including commands to identify conflicting Service Mesh subscriptions.

@jira-autofix
jira-autofix Bot requested a review from a team as a code owner July 13, 2026 16:05
@jira-autofix
jira-autofix Bot requested review from EgorLu and somya-bhatnagar and removed request for a team July 13, 2026 16:05
@openshift-ci
openshift-ci Bot requested review from jland-redhat and jrhyness July 13, 2026 16:06
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

Adds OCP 4.20+ guidance for manually installed OSSM 3 subscriptions that can leave the GatewayClass unaccepted. Installation and troubleshooting documentation describe detection, removal of the subscription and CSV, InstallPlan handling, and verification. The route-mode gateway setup warning now identifies this conflict when the Gateway remains unprogrammed. Troubleshooting item numbering is updated accordingly.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 Pre-merge checks | ✅ 10
✅ Passed checks (10 passed)
Check name Status Explanation
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.
Contribution Quality And Spam Detection ✅ Passed Only a one-line docs wording change is present; no security-theater, code-quality, or cross-repo spray evidence. No CWE/CVE-style issue here.
No Hardcoded Secrets ✅ Passed No hardcoded secrets found in the PR changes; only docs text and a non-secret warning string were modified. CWE-798 not triggered.
No Weak Cryptography ✅ Passed Diff only changes a doc label; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret comparisons. CWE-327/328/916/208 not present.
No Injection Vectors ✅ Passed No CWE-78/89/94/79/502 sinks in changed content; the shell warning is static text and log_warn just echoes, with quoted kubectl args.
No Privileged Containers ✅ Passed No CWE-266 surface here: only docs/platform-setup.md changed; no Kubernetes/OpenShift manifest, Helm, or Dockerfile privilege flags were introduced.
No Sensitive Data In Logs ✅ Passed Diff only touches docs in this checkout; the gateway warning present in scripts/setup-gateway.sh mentions versions and a kubectl command only, with no secrets/PII.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: clarifying OSSM conflicts for OLM-managed OCP versions.

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

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 4

🤖 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 `@docs/content/install/platform-setup.md`:
- Around line 201-207: The OSSM conflict guidance is targeting the wrong
subscription version and remediation. Update the warning in
docs/content/install/platform-setup.md:201-207 and the corresponding
troubleshooting text in docs/content/install/troubleshooting.md:101-106 to
identify an active OSSM v2.x subscription as the conflict and instruct users to
remove it so ingress can install and manage OSSM v3.x.

In `@docs/content/install/troubleshooting.md`:
- Line 163: Update the fallback reference near the troubleshooting entry’s
webhook-health procedure from “issue 12” to “issue 14”, leaving the surrounding
troubleshooting guidance unchanged.
- Around line 108-119: Update the manual OSSM 3 subscription cleanup
instructions so detection and deletion use the same namespace. Either scope the
kubectl lookup to openshift-operators or capture the matching Subscription
namespace from the cluster-wide lookup and reuse it for both subscription and
CSV deletion.
- Around line 121-133: Update the GatewayClass verification step to inspect
status.conditions for gatewayclass/openshift-default and require Accepted=True,
rather than only confirming the object exists. Keep this check after
clusteroperator/ingress becomes Available and make the documented command or
validation explicitly expose the condition.
🪄 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: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 7b25c71b-ea68-4793-94ca-5b5c191fb15d

📥 Commits

Reviewing files that changed from the base of the PR and between 93a0849 and c628741.

📒 Files selected for processing (3)
  • docs/content/install/platform-setup.md
  • docs/content/install/troubleshooting.md
  • scripts/setup-gateway.sh

Comment thread docs/content/install/platform-setup.md Outdated
Comment thread docs/content/install/troubleshooting.md Outdated
Comment thread docs/content/install/troubleshooting.md
Comment thread docs/content/install/troubleshooting.md
Comment thread docs/content/install/platform-setup.md Outdated
@jira-autofix jira-autofix Bot changed the title docs: warn against manual OSSM 3 install on OCP 4.20+ docs: address OSSM v2.x conflict and review feedback Jul 13, 2026
@jira-autofix
jira-autofix Bot force-pushed the autofix/rhoaieng-76376 branch from 97805f1 to dcaddce Compare July 13, 2026 20:50
Comment thread docs/content/install/platform-setup.md Outdated
aipcc-bot added 4 commits July 13, 2026 23:21
RHOAIENG-76376

On OCP 4.20 the openshift-ingress ClusterOperator manages OSSM internally
and pins it to a compatible version. Manually installing servicemeshoperator3
(e.g. from the stable channel) prevents the ingress operator from controlling
the version, leaving the GatewayClass in Accepted: Unknown and blocking all
Gateway API traffic including maas-default-gateway.

- Add a warning admonition in the Gateway API Controller install section
  of platform-setup.md explaining the conflict and the remediation
- Add a troubleshooting entry (#12) with step-by-step diagnosis and fix
  for GatewayClass stuck in "Waiting for controller"
- Improve the setup-gateway.sh warning message to mention the OSSM 3
  conflict and suggest a diagnostic command

Assisted-by: Claude claude-opus-4-6 <noreply@anthropic.com>
- Update platform-setup.md and troubleshooting.md to document both
  OSSM v2.x (servicemeshoperator) and manually installed OSSM v3
  (servicemeshoperator3) as sources of the GatewayClass conflict
  on OCP 4.20+
- Fix namespace hardcoding in troubleshooting: detection is cluster-wide
  but deletion was hardcoded to openshift-operators; now uses
  placeholders from the lookup output
- Verify GatewayClass Accepted=True condition instead of just object
  existence
- Fix stale cross-reference from "issue 12" to "issue 14"
- Update setup-gateway.sh warning to mention both OSSM v2 and v3

RHOAIENG-76376

Assisted-by: Claude claude-opus-4-6 <noreply@anthropic.com>
Address reviewer feedback (gcs278) that the ingress operator is migrating
from OLM to the Sail Library for OSSM management. The manual OSSM
subscription conflict only affects OCP versions still on the OLM path
(4.19, 4.20, 4.21 before 4.21.22). On 4.21.22+ and 4.22+, CIO installs
Istio directly via the Sail Library and manual subscriptions do not
conflict.

Update the warning admonition, troubleshooting entry, and setup-gateway.sh
diagnostic message with per-version applicability table and notes.

Ref: RHOAIENG-76376

Assisted-by: Claude claude-opus-4-6 <noreply@anthropic.com>
Assisted-by: Claude claude-opus-4-6 <noreply@anthropic.com>
@jira-autofix jira-autofix Bot changed the title docs: address OSSM v2.x conflict and review feedback docs: clarify OSSM conflict applies only to OLM-managed OCP versions Jul 13, 2026
@jira-autofix
jira-autofix Bot force-pushed the autofix/rhoaieng-76376 branch from dcaddce to e2ae2e7 Compare July 13, 2026 23:23
@rhods-ci-bot

Copy link
Copy Markdown

@jira-autofix[bot]: The following test has Succeeded:

OCI Artifact Browser URL

View in Artifact Browser

Inspecting Test Artifacts Manually

To inspect your test artifacts manually, follow these steps:

  1. Install ORAS (see the ORAS installation guide).
  2. Download artifacts with the following commands:
mkdir -p oras-artifacts
cd oras-artifacts
oras pull quay.io/opendatahub/odh-ci-artifacts:maas-group-test-dcr5l

@jland-redhat jland-redhat 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.

lgtm

@openshift-ci

openshift-ci Bot commented Jul 14, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jira-autofix[bot], jland-redhat

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

The pull request process is described here

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

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

@openshift-merge-bot
openshift-merge-bot Bot merged commit 61b2a63 into main Jul 14, 2026
12 checks passed
@rhods-ci-bot

Copy link
Copy Markdown

/early-gate-build

ishitasequeira added a commit that referenced this pull request Jul 14, 2026
## Promotion: main → stable

Automated promotion of **10 commit(s)** from `main` to `stable`.

| Detail | Value |
| --- | --- |
| Promotion | `main` → `stable` |
| Commits to merge | **10** |
| Conflict check | ✅ Passed |

### Commits included

````
adb6628 fix: set gateway namespace on payload-processing NetworkPolicy (#1157)
0e33993 feat: expand e2e artifact collection to cover all MaaS ecosystem CRDs (#1171)
055b650 docs: fix multi-tenancy documentation inaccuracies (#1166)
61b2a63 docs: clarify OSSM conflict applies only to OLM-managed OCP versions (#1158)
a3d3160 fix: return ExternalModel CR name as resolvedModelAlias and remove openshift-identities from gateway auth (#1164)
80186c1 fix: add NetworkPolicy allowing deployment namespace to reach maas-api (#1161)
0957cb5 fix: proper panel names in usage dashboard (#1156)
b4aa3ef fix: prefer path-based endpoint over model-routing for LLMInferenceService discovery (#1142)
a37588c fix: prevent crash-loop when Kuadrant or KServe CRDs are not installed (#1075)
8d8f7d1 feat: migrate maas-db-config secret to infrastructure namespace on up… (#1149)
````

---
⚠️ **Merge this PR with a merge commit** (do not squash or rebase).
ishitasequeira added a commit that referenced this pull request Jul 14, 2026
## Promotion: stable → rhoai

Automated promotion of **11 commit(s)** from `stable` to `rhoai`.

| Detail | Value |
| --- | --- |
| Promotion | `stable` → `rhoai` |
| Commits to merge | **11** |
| Conflict check | ✅ Passed |

### Commits included

````
adb6628 fix: set gateway namespace on payload-processing NetworkPolicy (#1157)
0e33993 feat: expand e2e artifact collection to cover all MaaS ecosystem CRDs (#1171)
055b650 docs: fix multi-tenancy documentation inaccuracies (#1166)
61b2a63 docs: clarify OSSM conflict applies only to OLM-managed OCP versions (#1158)
a3d3160 fix: return ExternalModel CR name as resolvedModelAlias and remove openshift-identities from gateway auth (#1164)
80186c1 fix: add NetworkPolicy allowing deployment namespace to reach maas-api (#1161)
0957cb5 fix: proper panel names in usage dashboard (#1156)
b4aa3ef fix: prefer path-based endpoint over model-routing for LLMInferenceService discovery (#1142)
a37588c fix: prevent crash-loop when Kuadrant or KServe CRDs are not installed (#1075)
8d8f7d1 feat: migrate maas-db-config secret to infrastructure namespace on up… (#1149)
````

---
⚠️ **Merge this PR with a merge commit** (do not squash or rebase).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants