Upgrading watsonx Assistant from Version 5.2 to Version 5.4
An instance administrator can upgrade watsonx Assistant from Version 5.2 to Version 5.4.
- Who needs to complete this task?
-
Instance administrator To upgrade watsonx Assistant, you must be an instance administrator. An instance administrator has permission to manage software in the following projects:
- The operators project for the instance
-
The operators for this instance of watsonx Assistant are installed in the operators project. In the upgrade commands, the
${PROJECT_CPD_INST_OPERATORS}environment variable refers to the operators project. - The operands project for the instance
-
The custom resources for the control plane and watsonx Assistant are installed in the operands project. In the upgrade commands, the
${PROJECT_CPD_INST_OPERANDS}environment variable refers to the operands project.
- When do you need to complete this task?
-
Review the following options to determine whether you need to complete this task:
- If you want to upgrade the IBM Software Hub control plane and one or more services at the same time, follow the process in Upgrading an instance of IBM Software Hub instead.
- If you didn't upgrade watsonx Assistant when you upgraded the IBM Software
Hub
control plane, complete this task to upgrade watsonx Assistant.
Repeat as needed If you are responsible for multiple instances of IBM Software Hub, you can repeat this task to upgrade more instances of watsonx Assistant on the cluster.
Information you need to complete this task
Review the following information before you upgrade watsonx Assistant:
- Version requirements
-
All the components that are associated with an instance of IBM Software Hub must be installed at the same release. For example, if the IBM Software Hub control plane is at Version 5.4.0, you must upgrade watsonx Assistant to Version 5.4.0.
- Environment variables
- The commands in this task use environment variables so that you can run the commands exactly as
written.
- If you don't have the script that defines the environment variables, see Setting up installation environment variables.
- To use the environment variables from the script, you must source the environment variables
before you run the commands in this task. For example,
run:
source ./cpd_vars.sh
- Common core services
- watsonx Assistant requires the IBM Software
Hub
common core services.
If the common core services are not at the correct version in the operands project for the instance, the common core services are automatically upgraded when you upgrade watsonx Assistant. The common core services upgrade increases the amount of time the upgrade takes to complete.
Before you begin
This task assumes that the following prerequisites are met:
- System requirements
- This task assumes that the cluster meets the minimum requirements for watsonx Assistant.
Where to find more information If this task is not complete, see System requirements. In addition, if you plan to use features that require GPU, ensure that you have the appropriate type and number of GPU for watsonx Assistant.Where to find more information If this task is not complete, see GPU requirements. - Workstation
- This task assumes that the workstation from which you will run the upgrade is set up as a client
workstation and has the following command-line interfaces:
- IBM Software
Hub CLI:
cpd-cli - OpenShift® CLI:
oc - Helm CLI:
helm
Where to find more information If this task is not complete, see Updating client workstations. - IBM Software
Hub CLI:
- Control plane
- This task assumes that the IBM Software
Hub
control plane is upgraded.
Where to find more information If this task is not complete, see Upgrading an instance of IBM Software Hub. - Private container registry
- If your environment uses a private container registry (for example, your cluster is air-gapped),
this task assumes that the following tasks are complete:
- The watsonx Assistant software images are mirrored to the private container
registry.
Where to find more information If this task is not complete, see Mirroring images to a private container registry. - The
cpd-cliis configured to pull theolm-utils-v4image from the private container registry.Where to find more information If this task is not complete, see Pulling the olm-utils-v4 image from the private container registry.
- The watsonx Assistant software images are mirrored to the private container
registry.
- GPU operators
- If you plan to use features that require GPUs, this task
assumes that the operators required to use GPUs are installed.
Where to find more information If this task is not complete, see Installing operators for services that require GPUs. - Red Hat® OpenShift AI
- If you plan to use features that require Red Hat
OpenShift AI, this task assumes that Red Hat
OpenShift AI is installed.
Where to find more information If this task is not complete, see Installing Red Hat OpenShift AI. - Multicloud Object Gateway
- This task assumes that Multicloud Object Gateway is upgraded, if
needed.
Where to find more information If this task is not complete, see Upgrading Multicloud Object Gateway. - Red Hat OpenShift Serverless Knative Eventing
- This task assumes that the following tasks are complete:
- Red Hat
OpenShift Serverless Knative Eventing is upgraded
Where to find more information If this task is not complete, see Installing Red Hat OpenShift Serverless Knative Eventing. - The IBM
Events Operator for the instance is
upgraded.
Where to find more information If this task is not complete, see Upgrading the IBM Events Operator.
- Red Hat
OpenShift Serverless Knative Eventing is upgraded
- Cluster-scoped resources
- This task assumes that the cluster-scoped resources, such as custom resource definitions,
cluster roles, and cluster role bindings, were updated.
Where to find more information If this task is not complete, see Updating the cluster-scoped resources for the platform and services. - Image pull secrets
- This task assumes that the secrets that contain the image pull credentials for the instance
exist.
Where to find more information If this task is not complete, see Creating image pull secrets for an instance of IBM Software Hub.
Procedure
Complete the following tasks to upgrade watsonx Assistant:
- Back up your data.
For more information, see Backing up your data in IBM Software Hub in the watsonx Assistant product documentation.
- Backing up and retaining temporary patches
- Specifying additional installation options
- Upgrading the service
- Validating the upgrade
- Upgrading existing service instances
- What to do next
Backing up and retaining temporary patches
'type=critical-configuration'. If you need to retain some temporary patches,
you can preserve them before upgrading by labeling them as critical. For example, you might have a
custom configuration that is specific to your environment and was not included in the new release.- Ignore this section if you don't find any pre-existing temporary patches.
- If you are unsure about what patches need to be retained, contact IBM Support.
To back up and label the patches that need to be retained, follow these steps:
-
Run the following command to list all temporary patches for your instances. Save the list to the file patches_list.txt.
oc get temporarypatch -n ${PROJECT_CPD_INST_OPERANDS} >patches_list.txt -
Save the YAML file for your existing temporary patches by running the following command:
oc get temporarypatch -o yaml > old_patch_backups.yaml - Get the list of the temporary patches from your deployment to determine which patches you want
to
preserve.
oc get temporarypatch -n ${PROJECT_CPD_INST_OPERANDS} - Apply or remove the
"type": "critical-configuration"label as appropriate:- For all patches that you want to retain, use the following
command:
oc label temporarypatch <patch_name> type=critical-configurationFor example:
oc label temporarypatch wa-store-assistant-limits type=critical-configuration - For the patches that you want to remove, use the following
command:
oc label temporarypatch <patch_name> type-For example:
oc label temporarypatch wa-store-assistant-limits type-
- For all patches that you want to retain, use the following
command:
-
Run the following commands to verify that the temporary patches you want to preserve have the label
type=critical-configuration:oc get temporarypatch -n ${PROJECT_CPD_INST_OPERANDS} -l type=critical-configurationoc get temporarypatch -n ${PROJECT_CPD_INST_OPERANDS} --show-labels
Migrating guidance for models
To know about the supported and deprecated models in Version 5.4.x, see Supported foundation models for GPU features.
- To retain the same model configuration from previous versions
-
- Get the list of models that are to be
retained.
Sample output:oc get wa wa -o jsonpath='{.configOverrides.ifm.model_config.ootb}' | jq -c 'keys'No output (returns nothing)Or["granite-3-8b-instruct","llama-3-1-70b-instruct"] - If no models are returned (empty output)
Add
granite-3-8b-instructforootbModelsininstall-options.ymlfile.--- # ............................................................................ # watsonx Assistant parameters # ............................................................................ non_olm: watsonAssistant: watsonxAiType: embedded ootbModels: - granite-3-8b-instruct - If one or more models are returned
Update the
install-options.ymlfile by replacing<retained-model-name>with the model name or names from the output.--- # ............................................................................ # watsonx Assistant parameters # ............................................................................ non_olm: watsonAssistant: watsonxAiType: embedded ootbModels: - <retained-model-name>
- Get the list of models that are to be
retained.
- To retain the same models from previous versions and also install a new model
-
Note: Ensure that you have sufficient
GPUsto retain older models while deploying the new model. - To migrate older models to the new model
-
If multiple assistants are using older models for Conversational Search, configure
extra_varsin thestorecomponent to avoid manually updating each assistant.Example: Migrate a single model
The following OC command usesibm/granite-3-8b-instructas an example. Replace the value forCUSTOM_EOL_MODELSwith your preferred model.
Example: Migrate multiple modelsoc patch wa wa -n ${PROJECT_CPD_INST_OPERANDS} --type=merge --patch='{"configOverrides":{"store":{"extra_vars":{"store": {"CUSTOM_EOL_MODELS": "ibm/granite-3-8b-instruct:openai/gpt-oss-120b"}}}}}'oc patch wa wa -n ${PROJECT_CPD_INST_OPERANDS} --type=merge --patch='{"configOverrides":{"store":{"extra_vars":{"store": {"CUSTOM_EOL_MODELS": "meta-llama/llama-3-1-70b-instruct:openai/gpt-oss-120b,ibm/granite-3-8b-instruct:openai/gpt-oss-120b"}}}}}' - To remove older models and install new model
-
Note:
- Use this approach if GPU capacity is insufficient to retain existing models while deploying the new model.
- You might experience downtime during this process due to model changes.
Specifying installation options
When you upgrade watsonx Assistant, specify the following option in the install-options.yml file in the work directory.
---
# ............................................................................
# watsonx Assistant parameters
# ............................................................................
non_olm:
watsonAssistant:
size: Production
bigpv: false
analytics: true
watsonxAiType: embedded
ootbModels:
- gpt-oss-120b
| Property | Description |
|---|---|
size |
The deployment size for watsonx Assistant. The deployment size determines the number of resources allocated to watsonx Assistant.
|
bigpv |
Specify whether to create larger physical volumes to improve IOPS performance. Create larger physical volumes if your storage class IOPS performance depends on the size of the physical volume. Important: You cannot change this setting after you install watsonx Assistant.
You do not need to create larger physical volumes if you use the following storage:
|
analytics |
Specify whether to store chat logs and analytics.
|
watsonxAiType |
Specify this option if you want to install Inference foundation models (watsonx_ai_ifm) to enable the following features, which require GPUs:
Omit this option if you do not want to enable the preceding features. For more information about supported GPUs, see the GPU requirements for models.
|
ootbModels |
Specify the model to use for features that require GPUs.
|
Upgrading the service
To upgrade watsonx Assistant:
-
Log the
cpd-cliin to the Red Hat OpenShift Container Platform cluster:${CPDM_OC_LOGIN}Remember:CPDM_OC_LOGINis an alias for thecpd-cli manage login-to-ocpcommand. - Update the operator and custom
resource for watsonx Assistant.
cpd-cli manage install-components \ --license_acceptance=true \ --components=watson_assistant \ --release=${VERSION} \ --patch_id=${PATCH_ID} \ --operator_ns=${PROJECT_CPD_INST_OPERATORS} \ --instance_ns=${PROJECT_CPD_INST_OPERANDS} \ --image_pull_prefix=${IMAGE_PULL_PREFIX} \ --image_pull_secret=${IMAGE_PULL_SECRET} \ --param-file=/tmp/work/install-options.yml \ --upgrade=true
Validating the upgrade
install-components command
returns:[SUCCESS]... The install-components command ran successfully
If you want to confirm that the custom resource status is
Completed, you can run the cpd-cli
manage
get-cr-status command:
cpd-cli manage get-cr-status \
--cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
--components=watson_assistant
Upgrading existing service instances
The service instances are automatically upgraded when you upgrade watsonx Assistant.
What to do next
watsonx Assistant is ready to use. To get started with watsonx Assistant, see Administering watsonx Assistant.