|
| 1 | +// Modules included in the following assemblies: |
| 2 | +// |
| 3 | +// * networking/configuring_ingress_cluster_traffic/ingress-gateway-api.adoc |
| 4 | + |
| 5 | +:_mod-docs-content-type: PROCEDURE |
| 6 | +[id="nw-ingress-gateway-api-troubleshooting-degraded_{context}"] |
| 7 | += Ingress Operator is Degraded due to Gateway API and OSSM conflict |
| 8 | + |
| 9 | +In {product-title} 4.20 and later, if you create a `GatewayClass` resource while a conflicting OpenShift Service Mesh (OSSM) v2.x subscription exists, the `ingress` Cluster Operator (CIO) reports a `Degraded` status. This procedure details how to verify and resolve this conflict. |
| 10 | + |
| 11 | +The conflict occurs because the Gateway API implementation requires OSSM v3.x, which cannot coexist with OSSM v2.x. The CIO detects this conflict, stops the Gateway API provisioning, and reports the `Degraded` status to alert administrators. |
| 12 | + |
| 13 | +.Prerequisites |
| 14 | + |
| 15 | +Your Cluster Operator reports a status of `True` and a type of `Degraded` with a reason of `GatewayAPIOSSMConflict`. Verify by running the following command: |
| 16 | + |
| 17 | +[source,terminal] |
| 18 | +---- |
| 19 | +$ oc get clusteroperator ingress -o yaml |
| 20 | +---- |
| 21 | + |
| 22 | +In the `status` section of the output, look for a `Degraded` condition with `status: "True"` and `reason: GatewayAPIOSSMConflict`. |
| 23 | + |
| 24 | +[source,yaml] |
| 25 | +---- |
| 26 | +status: |
| 27 | + conditions: |
| 28 | +
|
| 29 | + lastTransitionTime: "2025-10-22T17:00:00Z" |
| 30 | +
|
| 31 | + message: 'Failed to install OpenShift Service Mesh 3.x for Gateway API: A |
| 32 | + conflicting OpenShift Service Mesh 2.x subscription was found. Remove the |
| 33 | + GatewayClass resource or the conflicting OSSM 2.x subscription to resolve.' |
| 34 | + reason: GatewayAPIOSSMConflict |
| 35 | + status: "True" |
| 36 | + type: Degraded |
| 37 | +---- |
| 38 | + |
| 39 | +You can resolve this issue and clear the `Degraded` status either by removing the `GatewayClass` resource or by using Openshift Gateway API to remove the conflicting OpenShift Service Mesh v2.x subscription from the cluster. |
| 40 | + |
| 41 | +.Procedure |
| 42 | + |
| 43 | +* If you do not intend to use the OpenShift Gateway API, remove the `GatewayClass` resource. This signals to the Ingress Operator to stop attempting to provision Gateway API. |
| 44 | ++ |
| 45 | +[source,terminal] |
| 46 | +---- |
| 47 | +$ oc delete gatewayclass <gatewayclass-name> |
| 48 | +---- |
| 49 | +
|
| 50 | +* If you do intend to use the OpenShift Gateway API, you must remove the conflicting OpenShift Service Mesh v2.x subscription from the cluster. |
| 51 | ++ |
| 52 | +[source,terminal] |
| 53 | +---- |
| 54 | +$ oc -n openshift-operators delete subscription <OSSM v2.x subscription name> |
| 55 | +---- |
| 56 | ++ |
| 57 | +After the v2.x subscription is removed, the Ingress Operator automatically retries the installation of OSSM v3.x and completes the Gateway API provisioning. |
0 commit comments