Upgrading Watson Query from Version 4.6 to Version 4.7

An instance administrator can upgrade Watson Query from Cloud Pak for Data Version 4.6 to Version 4.7.

Who needs to complete this task?

Instance administrator To upgrade Watson Query, 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 Cloud Pak for Data 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 Cloud Pak for Data control plane and the services for this instance of Cloud Pak for Data 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 Cloud Pak for Data control plane and one or more services at the same time, follow the process in Upgrading an instance of Cloud Pak for Data instead.
  • If you didn't upgrade Watson Query when you upgraded the Cloud Pak for Data control plane, complete this task to upgrade Watson Query.

Information you need to complete this task

Review the following information before you upgrade Watson Query:

Version requirements

All the components that are associated with an instance of Cloud Pak for Data must be installed at the same release. For example, if the Cloud Pak for Data control plane is at Version 4.7.4, you must upgrade Watson Query to Version 4.7.4.

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
Watson Query requires the Cloud Pak for Data 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 Watson Query. The common core services upgrade increases the amount of time the upgrade takes to complete.

Storage requirements
You don't need to specify storage when you upgrade Watson Query.

Before you begin

Watson Query version numbers and upgrade paths
Verify the Watson Query version numbers that you are upgrading from and to. See Supported upgrade paths in Watson Query.

This task assumes that the following prerequisites are met:

Prerequisite Where to find more information
The cluster meets the minimum requirements for Watson Query. If this task is not complete, see System requirements.
The workstation from which you will run the upgrade is set up as a client workstation and the following command-line interfaces:
  • Cloud Pak for Data CLI: cpd-cli
  • OpenShift® CLI: oc
If this task is not complete, see Updating client workstations.
The Cloud Pak for Data control plane is upgraded. If this task is not complete, see Upgrading an instance of Cloud Pak for Data.
For environments that use a private container registry, such as air-gapped environments, the Watson Query software images are mirrored to the private container registry. If this task is not complete, see Mirroring images to a private container registry.
For environments that use a private container registry, such as air-gapped environments, the cpd-cli is configured to pull the olm-utils-v2 image from the private container registry. If this task is not complete, see Pulling the olm-utils-v2 image from the private container registry.

Prerequisite services

Before you upgrade Watson Query, ensure that the following services are upgraded and running:

Procedure

Complete the following tasks to upgrade Watson Query:

  1. Upgrading the service
  2. Validating the upgrade
  3. Upgrading the service instance
  4. Upgrading remote connectors
  5. What to do next

Upgrading the service

Important: The Operator Lifecycle Manager (OLM) objects for Watson Query were updated when you upgraded the Cloud Pak for Data platform. The cpd-cli manage apply-olm updates all of the OLM objects in the operators project at the same time.

To upgrade Watson Query:

  1. Run the cpd-cli manage login-to-ocp command to log in to the cluster as a user with sufficient permissions to complete this task. For example:
    cpd-cli manage login-to-ocp \
    --username=${OCP_USERNAME} \
    --password=${OCP_PASSWORD} \
    --server=${OCP_URL}
    Tip: The login-to-ocp command takes the same input as the oc login command. Run oc login --help for details.
  2. Update the custom resource for Watson Query.
    cpd-cli manage apply-cr \
    --components=dv \
    --release=${VERSION} \
    --cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --license_acceptance=true \
    --upgrade=true

Validating the upgrade

Watson Query is upgraded when the apply-cr command returns:
[SUCCESS]... The apply-cr 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=dv

Upgrading the service instance

After you upgrade Watson Query, you must upgrade the service instance that is associated with Watson Query.

Ensure that the user has a cpd-cli profile. The CPD_PROFILE_NAME is the value that you specified when you created the profile. For more information, see Creating a profile to use the cpd-cli management commands.

To upgrade the service instance:

  1. Log in to the cluster as a user with sufficient permissions to complete the task.
    oc login ${OCP_URL}
  2. Change to the project where Watson Query pods are installed.
    oc project ${PROJECT_CPD_INST_OPERANDS}
  3. Get the name of the Watson Query service instance:
    cpd-cli service-instance list --service-type=dv
  4. Set the WQ_INSTANCE_NAME environment variable to the name of the instance that you want to upgrade:
    export WQ_INSTANCE_NAME=<instance-name>
  5. Run the following command to upgrade the instance:
    cpd-cli service-instance upgrade 
    --instance-name=${WQ_INSTANCE_NAME} \
    --service-type=dv \
    --profile=${CPD_PROFILE_NAME} \
    
  6. Run one of the following commands to verify that the version now reads 2.1.3:
    • cpd-cli service-instance list
    • oc get bigsql db2u-dv -o jsonpath='{.status.version}{"\n"}'

    You must wait until the instance upgrade completes before you proceed to the next step.

Upgrading remote connectors

You can upgrade remote connectors by using the UPDATEREMOTECONNECTOR stored procedure. You can run this procedure by using the SQL editor or the Db2 console on the cluster.

  • To update all remote connectors, run the following stored procedure.
    call dvsys.updateremoteconnector('',?,?)
  • If you need to upgrade a set of remote connectors, pass in a comma-separated list.
    call dvsys.updateremoteconnector('<REMOTE_CONNECTOR_NODES>',?,?)

    You can obtain the <REMOTE_CONNECTOR_NODES> by running the following command.

    select node_name from dvsys.listnodes where AGENT_CLASS='R'

What to do next

  1. After you upgrade, all active or inactive caches with refresh schedules are reset. You must edit the active caches and set the refresh rate again. For more information, see Adding data caches in Watson Query.

When you upgrade to Watson Query on Cloud Pak for Data version 4.7.3, the old .jar files remain in the directory $IBM_DB_HOME/function/jar/DVSYS. This does not affect any of the Watson Query functionality and no workaround is necessary.

Watson Query is ready to use. For more information, see Virtualizing data with Watson Query.