<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/upgrade-openshift-ai-faster-using-an-ai-coding-assistant-8prewmvtl" -->

---
title: Upgrade OpenShift AI faster using an AI coding assistant
description: A Red Hat IT team upgraded OpenShift AI from 2.25.5 to 3.3.2 — the most architecturally significant release, replacing Service Mesh, authentication, and...
canonical: https://daily.dev/posts/upgrade-openshift-ai-faster-using-an-ai-coding-assistant-8prewmvtl
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Upgrade OpenShift AI faster using an AI coding assistant | daily.dev
og:description: A Red Hat IT team upgraded OpenShift AI from 2.25.5 to 3.3.2 — the most architecturally significant release, replacing Service Mesh, authentication, and...
og:url: https://daily.dev/posts/upgrade-openshift-ai-faster-using-an-ai-coding-assistant-8prewmvtl
og:image: https://api.daily.dev/og/posts/8prEWMVTL.png
og:image:alt: Upgrade OpenShift AI faster using an AI coding assistant
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Upgrade OpenShift AI faster using an AI coding assistant

**[Red Hat Developer](https://daily.dev/sources/rhdev)** · 11 min read · 0 upvotes · 0 comments

## Summary

A Red Hat IT team upgraded OpenShift AI from 2.25.5 to 3.3.2 — the most architecturally significant release, replacing Service Mesh, authentication, and serverless components — using an AI coding assistant as a primary engineering partner. The approach compressed an estimated 6-month, 3-4 engineer project into 8 weeks with a single engineer, achieving a 60% reduction in engineering effort. The team built a custom Go CLI called rhoai-upgrade (9,384 lines across 28 files) implementing a gate-based orchestration pipeline with hexagonal architecture. Nine undocumented issues were discovered on the dev cluster, encoded into automation, and resolved automatically on pre-production and production clusters. The production upgrade completed in a single day with zero downtime for 297 users and 71 InferenceServices. Key troubleshooting patterns include NetworkPolicy label mismatches causing HTTP 503s and PVC naming convention changes causing HTTP 502s on workbenches.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://developers.redhat.com/articles/2026/08/07/upgrade-openshift-ai-faster-using-ai-coding-assistant>

## Questions this post answers

### What changed architecturally in Red Hat OpenShift AI 3.3.2 compared to 2.x?

OpenShift AI 3.3.2 replaces three core components: Gateway API replaces OpenShift Service Mesh 2, kube-rbac-proxy replaces oauth-proxy, and RawDeployment replaces Serverless and ModelMesh. The dashboard URL also changes from rhods-dashboard-redhat-ods-applications.$APPS_DOMAIN to data-science-gateway.$APPS_DOMAIN, affecting bookmarks and hard-coded references across an organization.

_Engineers planning the 2.x to 3.3 migration track breaking changes like these on daily.dev before they hit production._

### Why are my InferenceService routes returning HTTP 503 after upgrading OpenShift AI to 3.3.2?

The cause is a NetworkPolicy with a podSelector still referencing the old HAProxy IngressController label (ingresscontroller.operator.openshift.io/deployment-ingresscontroller: internal-router-shard). After the upgrade, the Istio Gateway Envoy pod uses a different label (gateway.networking.k8s.io/gateway-name: data-science-gateway), so the unchanged policy silently drops traffic. Fix it with an oc patch command updating the NetworkPolicy podSelector to match the new gateway label.

_Teams running OpenShift AI upgrades catch silent networking regressions like this faster on daily.dev._

### Why do workbenches show HTTP 502 EACCES permission denied errors after upgrading to OpenShift AI 3.x?

In OpenShift AI 3.x, the persistent volume is only auto-mounted to /opt/app-root/src when the PVC name matches the notebook name exactly. The older 2.x convention appended a -pvc suffix, which causes the volume to appear in the pod spec but never actually mount. The code-server process then cannot write to its expected path. The fix requires two oc patch commands on the Notebook custom resource: one to rename the PVC reference and one to update the volume mount entry.

_Platform engineers upgrading OpenShift AI workbench environments find undocumented edge cases like this on daily.dev._

## Similar posts on daily.dev

- [Operationalize AI agents with OpenShift and Kubernetes primitives](https://daily.dev/posts/operationalize-ai-agents-with-openshift-and-kubernetes-primitives-txscvjqfi) · Red Hat Developer · 0 upvotes · 0 comments
- [Red Hat ships AI platform for hybrid cloud deployments](https://daily.dev/posts/red-hat-ships-ai-platform-for-hybrid-cloud-deployments-wkafxoetq) · InfoWorld · 0 upvotes · 0 comments
- [Fine-tune AI pipelines in Red Hat OpenShift AI 3.3](https://daily.dev/posts/fine-tune-ai-pipelines-in-red-hat-openshift-ai-3-3-kdpwnunnd) · Red Hat Developer · 0 upvotes · 0 comments
- [Red Hat Expands OpenShift Application Development Environment](https://daily.dev/posts/red-hat-expands-openshift-application-development-environment-9febxassl) · Cloud Native Now · 1 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes), [#golang](https://daily.dev/tags/golang), [#openshift](https://daily.dev/tags/openshift), [#platform-engineering](https://daily.dev/tags/platform-engineering)

[View this post on daily.dev](https://daily.dev/posts/upgrade-openshift-ai-faster-using-an-ai-coding-assistant-8prewmvtl)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Upgrade OpenShift AI faster using an AI coding assistant","url":"https://daily.dev/posts/upgrade-openshift-ai-faster-using-an-ai-coding-assistant-8prewmvtl","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/upgrade-openshift-ai-faster-using-an-ai-coding-assistant-8prewmvtl"},"datePublished":"2026-08-07T15:09:22.998Z","dateModified":"2026-08-07T15:09:55.307Z","description":"A Red Hat IT team upgraded OpenShift AI from 2.25.5 to 3.3.2 — the most architecturally significant release, replacing Service Mesh, authentication, and...","image":"https://media.daily.dev/image/upload/s--2-1xRawN--/f_auto/v1722860399/public/Placeholder%2011","thumbnailUrl":"https://media.daily.dev/image/upload/s--2-1xRawN--/f_auto/v1722860399/public/Placeholder%2011","isAccessibleForFree":true,"articleSection":"Red Hat Developer","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Red Hat Developer","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/2a8895f3216c4900bdc455585a4ad3e4","url":"https://daily.dev/sources/rhdev"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/upgrade-openshift-ai-faster-using-an-ai-coding-assistant-8prewmvtl","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kubernetes,golang,openshift,platform-engineering","timeRequired":"PT11M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Red Hat Developer","item":"https://daily.dev/sources/rhdev"},{"@type":"ListItem","position":3,"name":"Upgrade OpenShift AI faster using an AI coding assistant"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/upgrade-openshift-ai-faster-using-an-ai-coding-assistant-8prewmvtl#faq","mainEntity":[{"@type":"Question","name":"What changed architecturally in Red Hat OpenShift AI 3.3.2 compared to 2.x?","acceptedAnswer":{"@type":"Answer","text":"OpenShift AI 3.3.2 replaces three core components: Gateway API replaces OpenShift Service Mesh 2, kube-rbac-proxy replaces oauth-proxy, and RawDeployment replaces Serverless and ModelMesh. The dashboard URL also changes from rhods-dashboard-redhat-ods-applications.$APPS_DOMAIN to data-science-gateway.$APPS_DOMAIN, affecting bookmarks and hard-coded references across an organization. Engineers planning the 2.x to 3.3 migration track breaking changes like these on daily.dev before they hit production."}},{"@type":"Question","name":"Why are my InferenceService routes returning HTTP 503 after upgrading OpenShift AI to 3.3.2?","acceptedAnswer":{"@type":"Answer","text":"The cause is a NetworkPolicy with a podSelector still referencing the old HAProxy IngressController label (ingresscontroller.operator.openshift.io/deployment-ingresscontroller: internal-router-shard). After the upgrade, the Istio Gateway Envoy pod uses a different label (gateway.networking.k8s.io/gateway-name: data-science-gateway), so the unchanged policy silently drops traffic. Fix it with an oc patch command updating the NetworkPolicy podSelector to match the new gateway label. Teams running OpenShift AI upgrades catch silent networking regressions like this faster on daily.dev."}},{"@type":"Question","name":"Why do workbenches show HTTP 502 EACCES permission denied errors after upgrading to OpenShift AI 3.x?","acceptedAnswer":{"@type":"Answer","text":"In OpenShift AI 3.x, the persistent volume is only auto-mounted to /opt/app-root/src when the PVC name matches the notebook name exactly. The older 2.x convention appended a -pvc suffix, which causes the volume to appear in the pod spec but never actually mount. The code-server process then cannot write to its expected path. The fix requires two oc patch commands on the Notebook custom resource: one to rename the PVC reference and one to update the volume mount entry. Platform engineers upgrading OpenShift AI workbench environments find undocumented edge cases like this on daily.dev."}}]}
```

