If your environment includes services with a
dependency on Red Hat
OpenShift AI, you might need to
upgrade the Red Hat
OpenShift AI Operator before you
upgrade IBM® Software
Hub.
- Upgrade phase
-
Updating your client workstation
Collecting required information
Preparing to run an upgrade in a restricted network
Preparing to run an upgrade from a private container registry
Preparing the cluster
Preparing to upgrade an instance
Upgrading an instance
Setting up IBM Software
Hub
- Who needs to complete this task?
-
Cluster administrator A cluster
administrator must complete this task.
- When do you need to complete this task?
-
One-time setup Complete this task if
both of the following statements are true:
- One or more of the following services are installed or will be installed on the
cluster:
| Service |
Red Hat
OpenShift AI |
| IBM Knowledge Catalog Premium |
- Required if you run the models on GPU.
- Not required if you run the models on:
- CPU
- A remote instance of watsonx.ai™
|
| IBM Knowledge Catalog Standard |
- Required if you run the models on GPU.
- Not required if you run the models on:
- CPU
- A remote instance of watsonx.ai
|
| Watson Speech services |
Required only if you want to enable the enrichments feature.
|
| watsonx.ai |
Always required.
|
| watsonx Assistant |
Required only if you want to use features that require GPU.
|
| watsonx™
BI |
Always required.
|
| watsonx Code Assistant™ |
Always required.
|
| watsonx Code Assistant for Red Hat
Ansible® Lightspeed |
Always required.
|
| watsonx Code Assistant for Z Agentic |
Always required.
|
| watsonx Code Assistant for Z Understand |
Always required.
|
|
watsonx.data™ Premium |
Always required.
|
|
watsonx.data integration |
Required if you use the Unstructured Data Integration feature
(enableUnstructuredDataIntegration: true).
|
|
watsonx.data intelligence |
Required if one of the following statements are true:
- You run models for generative AI on local GPU
- You use the Unstructured Data Integration feature
(
enableUnstructuredDataIntegration: true), which requires local GPU
|
| watsonx
Orchestrate |
- Required if you run models locally.
- Not required if you use the AI gateway to access third-party models.
|
- The version of IBM Software
Hub that you are
upgrading to requires a newer version of Red Hat
OpenShift AI:
| Release |
Red Hat
OpenShift AI Version |
| 5.4.0 (June 2026)
|
2.25.1 |
Restore If you plan to restore IBM Software
Hub to a different cluster, you must also
complete this task on the target cluster.
About this task
The commands in this task upgrade Red Hat
OpenShift AI with the minimum components needed to
support IBM Software
Hub services.
Procedure
-
Log in to Red Hat
OpenShift Container Platform as a cluster
administrator.
${OC_LOGIN}
Remember:
OC_LOGIN is an alias for the oc login
command.
- Set the
ODS_OPERATOR_NS environment variable to the name of the project
where the Red Hat OpenShift AI Operator is installed.
The following command uses the recommended project: redhat-ods-operator.
export ODS_OPERATOR_NS=redhat-ods-operator
- Set the
CHANNEL_VERSION environment variable based on
the version of Red Hat
OpenShift AI that you are
installing:
Version 2.25.1
export CHANNEL_VERSION=stable-2.25.1
- Update the
rhods-operator operator subscription:
cat << EOF | oc apply -f -
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: rhods-operator
namespace: ${ODS_OPERATOR_NS}
spec:
name: rhods-operator
channel: ${CHANNEL_VERSION}
source: redhat-operators
sourceNamespace: openshift-marketplace
config:
env:
- name: "DISABLE_DSC_CONFIG"
EOF
The command returns the following message when the subscription is created:
subscription.operators.coreos.com/rhods-operator configured
- Set the
DSC_INIT_NAME environment variable to the name of the DSC
Initialization (DSCInitialization) object.
The following command uses the default name: default-dsci.
export DSC_INIT_NAME=default-dsci
Tip: Run the following command to get the name of the DSC Initialization
(
DSCInitialization)
object:
oc get dscinitialization
- Update the DSC Initialization (
DSCInitialization) object:
cat << EOF | oc apply -f -
apiVersion: dscinitialization.opendatahub.io/v1
kind: DSCInitialization
metadata:
name: ${DSC_INIT_NAME}
spec:
applicationsNamespace: redhat-ods-applications
monitoring:
managementState: Managed
namespace: redhat-ods-monitoring
serviceMesh:
managementState: Removed
trustedCABundle:
managementState: Managed
customCABundle: ""
EOF
- Wait for the DSC Initialization object to be
Ready.
To check the status of the object, run:
oc get dscinitialization
- Set the
DS_CLUSTER_NAME environment variable to the name of the Data
Science Cluster (DataScienceCluster) object.
The following command uses the default name: default-dsc.
export DS_CLUSTER_NAME=default-dsc
Tip: Run the following command to get the name of the Data Science Cluster
(
DataScienceCluster)
object:
oc get datasciencecluster
- Update the Data Science Cluster (
DataScienceCluster) object:
cat << EOF | oc apply -f -
apiVersion: datasciencecluster.opendatahub.io/v1
kind: DataScienceCluster
metadata:
name: default-dsc
spec:
components:
codeflare:
managementState: Removed
dashboard:
managementState: Removed
datasciencepipelines:
managementState: Removed
kserve:
managementState: Managed
defaultDeploymentMode: RawDeployment
serving:
managementState: Removed
name: knative-serving
kueue:
managementState: Removed
modelmeshserving:
managementState: Removed
ray:
managementState: Removed
trainingoperator:
managementState: Managed
trustyai:
managementState: Removed
workbenches:
managementState: Removed
EOF
The Red Hat
OpenShift AI Operator manages the services
that are listed as Managed and upgrades the services, if possible.
- Wait for the Data Science Cluster object to be
Ready.
To check the status of the object, run:
oc get datasciencecluster ${DS_CLUSTER_NAME} -o jsonpath='"{.status.phase}" {"\n"}'
- Check the status of the pods in the
redhat-ods-applications
project:
oc get pods -n redhat-ods-applications
Ensure that the following pods are running:
kserve-controller-manager
kubeflow-training-operator
odh-model-controller
- Restart the Red Hat
OpenShift AI Operator
pod:
oc delete pod -n ${ODS_OPERATOR_NS} -l name=rhods-operator
- Edit the
inferenceservice-config configuration map in the redhat-ods-applications project:
- Log in to the Red Hat
OpenShift Container Platform web console as a cluster administrator.
- From the navigation menu, select
.
- From the Project list, select
redhat-ods-applications.
- Click the
inferenceservice-config resource. Then, open the
YAML tab.
- In the
metadata.annotations section of the file, add
opendatahub.io/managed: 'false'. For example:
metadata:
annotations:
internal.config.kubernetes.io/previousKinds: ConfigMap
internal.config.kubernetes.io/previousNames: inferenceservice-config
internal.config.kubernetes.io/previousNamespaces: opendatahub
opendatahub.io/managed: 'false'
- Find the following entry in the file:
"domainTemplate": "{{ .Name }}-{{ .Namespace }}.{{ .IngressDomain }}",
- Update the value of the
domainTemplate field to
"example.com":
"domainTemplate": "example.com",
- Click Save.