7 Upgrading Offline Mediation Controller
Learn how to upgrade your existing Oracle Communications Offline Mediation Controller cloud native deployment to the latest release.
Topics in this document:
In this document, the Offline Mediation Controller release running on your production system is called the existing release. The release you are upgrading to is called the new release. For example, if you are upgrading from Offline Mediation Controller 12.0 Patch Set 8 to Offline Mediation Controller 15.1, 12.0 Patch Set 8 is the existing release and 15.1 is the new release.
Upgrading Offline Mediation Controller to 15.1
When you upgrade your Offline Mediation Controller cloud native services, it upgrades all core services in your Offline Mediation Controller cloud native environment.
Supported upgrade paths to 15.1:
-
Offline Mediation Controller 12.0 Patch Set 8
-
Offline Mediation Controller 15.0.0.0.0
-
Offline Mediation Controller 15.0.1.0.0
To upgrade your Offline Mediation Controller cloud native services to the 15.1 release:
-
Ensure that you back up your data to prevent data loss.
-
Download the Helm charts for the Offline Mediation Controller cloud native deployment 15.1 version specification. For more information, see "Downloading Packages for the Offline Mediation Controller Cloud Native Helm Charts".
-
Download the Offline Mediation Controller cloud native images in one of these ways:
-
From the Oracle Container Registry. To do so, see "Pulling Offline Mediation Controller Images from the Oracle Container Registry".
-
From the Oracle Software Delivery website. To do so, see "Downloading Offline Mediation Controller Images from Oracle Software Delivery Website".
-
-
Extract the Offline Mediation Controller Helm chart from the archive:
tar xvzf oc-cn-ocomc-15.1.0.0.0.tgz
If you are extracting an interim patch, the file name will also have the interim patch number appended to it, such as oc-cn-ocomc-helm-chart-15.1.0.0.0-12345678.tgz.
-
Enable data migration in the Offline Mediation Controller existing release:
-
Download the latest Helm charts for your existing Offline Mediation Controller release.
-
Edit your override-values.yaml file and set the ocomc.statefullSetUpgrade.runMigrationDataJob key to true.
-
Run the helm upgrade command from the oc-cn-ocomc directory:
helm upgrade --install ReleaseName oc-cn-ocomc -f OverrideValuesFile
-
-
Configure and deploy the Offline Mediation Controller 15.1 release:
-
Configure the new Helm charts for Offline Mediation Controller 15.1.0.0.
-
Run the helm upgrade command from the oc-cn-ocomc-helm-chart directory:
helm upgrade --install ReleaseName oc-cn-ocomc-helm-chart -f OverrideValuesFile
-
-
Import your custom JAR files.
-
Check the status of the pods, especially the REST Services Manager pod.
-
Validate the stability of the application.
-
To import node chains:
-
Open your override-values.yaml file for the 15.1 version of oc-cn-ocomc-helm-chart.
-
Enable RSM request automation by setting the rsm.jobs.requestAutomation key to true.
-
Configure the following keys under rsm.jobs.requestAutomation.config:
-
apiUrl: Set this to the URL of your Offline Mediation Controller RSM service, such as http://ocomc-rsm:8080.
-
payloadFile: Specify the absolute path to your workflow payload JSON file.
-
loggingDir: Define the directory where log files should be written.
-
-
Set the global.statefulSetUpgrade.runMigrationDataJob key to true.
-
Ensure that the global.RSMcontainer keys are set properly.
-
Save and close your override-values.yaml file.
-
Create a workflow payload JSON file that imports node chains from the previous release setup to the new release setup. You can use the sample JSON file to start with. See "Sample Workflow Payload JSON File".
-
Edit the JSON file.
-
Under the customizationMapping and configurationMapping sections, map all Node Managers from the old setup to your new setup.
-
Set customJarsToRemove to the list of custom JAR files to remove.
-
Save and close your JSON file.
-
Move the workflow payload JSON file to the external PersistentVolumeClaim (/home/ocomcuser/external) or to migration-pvc (/home/ocomcuser/migration). This location must match the one specified in your override-values.yaml file’s payloadFile key.
-
-
Run the helm upgrade command from the oc-cn-ocomc-helm-charts directory:
helm upgrade NameSpace oc-cn-ocomc-helm-charts -values OverrideValuesFile -n ReleaseName
where:
-
NameSpace is the namespace in which to create Offline Mediation Controller Kubernetes objects.
-
OverrideValuesFile is the path to a YAML file that overrides the default configurations in the chart's values.yaml file.
-
ReleaseName is the release name, which is used to track this installation instance.
-
Note:
-
If there are configuration keys present in the sub-charts, or from previous installations during upgrades, which are not found in the new values.yaml file, add them to your override-values.yaml file.
-
A failure in the above steps may lead to the loss of data.
Sample Workflow Payload JSON File
This sample specifies to import node chains from the previous release setup to the new release setup.
{ "workflow": { "flow": [ { "id": "UPLOAD_IMPORT_FILE_ACTION", "request": "UPLOAD_IMPORT_FILE", "onResponse": { "environment": { "IMPORT_ID": "/importId" }, "statusMapping": { "2**": ["START_IMPORT_ACTION"] } } }, { "id": "START_IMPORT_ACTION", "request": "START_IMPORT", "onResponse": { "environment": { "IMPORT_TASK_ID": "/importTaskId" }, "statusMapping": { "202": ["CHECK_IMPORT_COMPLETION_ACTION"] } } }, { "id": "CHECK_IMPORT_COMPLETION_ACTION", "request": "CHECK_IMPORT_STATUS", "retry": { "maxRetries": "5", "interval": "10000" }, "onResponse": { "environment": { "END_TIME": "/importTaskItem/endTime", "START_TIME": "/importTaskItem/startTime" }, "statusMapping": { "5**": ["RETRY"] }, "dataMapping": [ { "path": "/importTaskItem/taskFinished", "equals": "true", "then": [] }, { "path": "/importTaskItem/taskFinished", "equals": "false", "then": ["RETRY"] } ] } } ] }, "headers": {}, "environment": {}, "requests": [ { "id": "UPLOAD_IMPORT_FILE", "method": "POST", "uri": "/v1/imports/uploadImportFile", "headers": {}, "multipartForm": { "configurationFile": "FILE::/home/ocomcuser/migration/nodeChains/exported_node_chains.xml", "customizationFile": "FILE::/home/ocomcuser/migration/nodeChains/exported_node_chains.nmx" } }, { "id": "START_IMPORT", "method": "POST", "uri": "/v1/imports/{{ENV:IMPORT_ID}}/tasks", "headers": {}, "payload": { "customizationMapping": [ { "sourceTriplet": { "ip": "node-mgr-app", "name": "nm1", "port": 32170 }, "destinationTriplet": { "ip": "nm-cc-0", "name": "nm-cc-0", "port": 55109 } }, { "sourceTriplet": { "ip": "node-mgr-app-2", "name": "nm2", "port": 32172 }, "destinationTriplet": { "ip": "nm-epdc-0", "name": "nm-epdc-0", "port": 55109 } }, { "sourceTriplet": { "ip": "node-mgr-app-100", "name": "nm100", "port": 32270 }, "destinationTriplet": { "ip": "nm-epdc-0", "name": "nm-epdc-0", "port": 55109 } } ], "configurationMapping": [ { "sourceTriplet": { "ip": "node-mgr-app", "name": "nm1", "port": 32170 }, "destinationTriplet": { "ip": "nm-cc-0", "name": "nm-cc-0", "port": 55109 } }, { "sourceTriplet": { "ip": "node-mgr-app-2", "name": "nm2", "port": 32172 }, "destinationTriplet": { "ip": "nm-epdc-0", "name": "nm-epdc-0", "port": 55109 } }, { "sourceTriplet": { "ip": "node-mgr-app-100", "name": "nm100", "port": 32270 }, "destinationTriplet": { "ip": "nm-epdc-0", "name": "nm-epdc-0", "port": 55109 } } ], "regenerateNodeIds": false, "skipConfiguration": false, "skipCustomization": false, "skipRestart": false, "customJarsToRemove": [], "importType": "NODE_MANAGER" } }, { "id": "CHECK_IMPORT_STATUS", "method": "GET", "uri": "/v1/imports/{{ENV:IMPORT_ID}}/tasks/{{ENV:IMPORT_TASK_ID}}", "headers": {}, "payload": {} } ] }