4 Upgrading an Existing Unified Data Repository Deployment

Note:

IF YOU HAVE ENABLED SERVICE MESH THEN YOU HAVE TO INSTALL UDR. YOU CANNOT UPGRADE FROM UDR 1.7.0 TO UDR 1.7.1. HOWEVER, IF THE SERVICE MESH IS NOT ENABLED THEN YOU CAN UPGRADE FROM UDR 1.7.0 TO UDR 1.7.1 BY FOLLOWING THE HELM UPGRADE SECTION DIRECTLY. WHILE UPGRADING, YOU CAN SKIP THE DB SCHEMA UPGRADE SECTION.

To upgrade an existing UDR deployment, first upgrade the DB schema and then, perform the helm upgrade.

User should stop the Provisioning traffic while performing the upgrade procedure.

Note:

For SLF, upgrade feature is not supported from 1.7.0 to 1.7.1. Hence, these instructions are not applicable for the same.

DB Schema Upgrade

You should install mysql-connector and Python3 before upgrading the DB schema. If Python3 is not available, then execute the commands given below on one of the sql nodes for dbschema upgrade.

yum install gcc openssl-devel bzip2-devel sqlite-devel
cd /usr/src/
wget https://www.python.org/ftp/python/3.6.10/Python-3.6.10.tgz
tar xzf Python-3.6.10.tgz
cd Python-3.6.10
./configure --enable-optimizations
make altinstall
python3.6 -V (To check if installation is OK)

To install mysql-connector using pip, execute the following commands on the sql node.

python3.6 -m pip install -U setuptools
python3.6 -m pip install -U wheel
python3.6 -m pip install -U mysql-connector-python-rf
Modify username, password and db name in the script as per requirement.

Note:

You can refer to the Oracle Help Center for upgrade.py script to upgrade to 1.7.0 schema.

For db upgrade, execute the following command:

python3.6 upgrade.py

Helm Upgrade

Upgrading an existing deployment replaces the running containers and pods with new containers and pods. If there is no change in the pod configuration, it is not replaced. Unless there is a change in the service configuration of a micro service, the service endpoints remain unchanged. For example, ClusterIP.
  • To upgrade, follow instructions given in the Deploying OCUDR section to extract the required OCUDR software components. If required, re-tag and push the images to customer's repository. For more information, see UDR Deployment.
  • Take a backup of 1.6.0 version's ocudr-custom-values.yaml file before changing any configuration.
  • Modify the ocudr-custom-values-1.7.0.yaml file parameters as per site requirement. For more information on updating the ocudr-custom-values-1.7.0.yaml file, see ocudr-custom-values.yaml File Configuration.

Execute the following command to upgrade an existing Unified Data Repository deployment. For the parameters that are configurable, see . Customizing Unified Data Repository

$ helm upgrade <release> <helm chart> [--version <OCUDR version>] -f <ocudr-custom-values-1.7.0.yaml>
 
<release> could be found in the output of 'helm list' command
<chart> is the name of the chart in the form of <repository/ocudr> e.g. reg-1/ocudr or cne-repo/ocudr

Rollback Instructions

Execute the following command to check if the pods are successfully started.

kubectl get pods -n <namespace_name>

If there are issues that a user cannot recover on checking logs and describe on pods, rollback using the steps below:

Schema Rollback:
  1. Rollback schema to 1.6.0.
  2. Use the rollback.py script to downgrade to 1.6.0 schema, modify username, password and db name as per requirement.

    python rollback.py

Note:

You can refer to the Oracle Help Center site for the rollback.py script.
Image Rollback using Helm:
  1. Use the backed up customized 1.6.0 version's ocudr-values.yaml file to rollback to previous version.
  2. Execute the helm rollback command.

    helm rollback <helm release name> <revision_no>

    To obtain the revision number, execute the following command :

    helm history <helm release name>