9.2. Upgrading OpenShift Serverless Logic Operator from version 1.35.0 to 1.36.0
You can upgrade the OpenShift Serverless Logic Operator from version 1.35.0 to 1.36.0. The upgrade process involves preparing the existing workflows and services, updating the Operator, and restoring the workflows after the upgrade.
Different workflow profiles require different upgrade steps. Follow the instructions for each profile carefully.
9.2.1. Preparing for the upgrade 링크 복사링크가 클립보드에 복사되었습니다!
Before starting the upgrade process, you need to prepare your OpenShift Serverless Logic environment to upgrade from version 1.35.0 to 1.36.0.
The preparation process is as follows:
- Deleting or scaling workflows based on their profiles.
- Backing up all necessary databases and resources.
- Ensuring you have a record of all custom configurations.
Prerequisites
-
You have access to the cluster with
cluster-adminprivileges. - You have OpenShift Serverless Logic Operator installed on your cluster.
- You have access to a OpenShift Serverless Logic project with the appropriate roles and permissions to create applications and other workloads in OpenShift Container Platform.
- You have access to the OpenShift Management Console for Operator upgrades.
-
You have installed the OpenShift CLI (
oc).
9.2.1.1. Deleting workflows with the dev profile 링크 복사링크가 클립보드에 복사되었습니다!
Before upgrading the Operator, you must delete workflows running with the dev profile and redeploy them after the upgrade is complete.
Procedure
-
Ensure you have a backup of all necessary Kubernetes resources, including
SonataFlowcustom resources (CRs),ConfigMapresources, or any other related custom configurations. Delete the workflow by executing the following command:
$ oc delete workflow <workflow_name> -n <target_namespace>
9.2.1.2. Deleting workflows with the preview profile 링크 복사링크가 클립보드에 복사되었습니다!
Before upgrading the Operator, you must delete workflows running with the preview profile. When the upgrade is complete, you must redeploy the workflows.
Procedure
- If you are using persistence, back up the workflow database and ensure the backup includes both database objects and table data.
-
Ensure you have a backup of all necessary Kubernetes resources, including
SonataFlowcustom resources (CRs),ConfigMapresources, or any other related custom configurations. Delete the workflow by executing the following command:
$ oc delete workflow <workflow_name> -n <target_namespace>
9.2.1.3. Scaling down workflows with the gitops profile 링크 복사링크가 클립보드에 복사되었습니다!
Before upgrading the Operator, you must scale down workflows running with the gitops profile, and scale them up again after the upgrade is complete.
Procedure
Modify the
my-workflow.yamlcustom resources (CR) and scale down each workflow to0before upgrading as shown in the following example:spec: podTemplate: replicas: 0 # ...Apply the updated
my-workflow.yamlCR by running the following command:$ oc apply -f my-workflow.yaml -n <target_namespace>Optional: Scale the workflow to
0by running the following command:$ oc patch workflow <workflow_name> -n <target_namespace> --type=merge -p '{"spec": {"podTemplate": {"replicas": 0}}}'
9.2.1.4. Backing up the Data Index database 링크 복사링크가 클립보드에 복사되었습니다!
You must back up the Data Index database before upgrading to prevent data loss.
Procedure
Take a full backup of the Data Index database, ensuring:
- The backup includes all database objects and not just table data.
- The backup is stored in a secure location.
9.2.1.5. Backing up the Jobs Service database 링크 복사링크가 클립보드에 복사되었습니다!
You must back up the Jobs Service database before upgrading to maintain job scheduling data.
Procedure
Take a full backup of the Jobs Service database, ensuring:
- The backup includes all database objects and not just table data.
- The backup is stored in a secure location.
9.2.2. Upgrading the OpenShift Serverless Logic Operator to 1.36.0 링크 복사링크가 클립보드에 복사되었습니다!
You can upgrade the OpenShift Serverless Logic Operator from version 1.35.0 to 1.36.0 by performing the following steps.
Prerequisites
-
You have access to the cluster with
cluster-adminprivileges. - You have OpenShift Serverless Logic Operator installed on your cluster.
- You have access to a OpenShift Serverless Logic project with the appropriate roles and permissions to create applications and other workloads in OpenShift Container Platform.
- You have access to the OpenShift Management Console for Operator upgrades.
-
You have installed the OpenShift CLI (
oc). - You have version 1.35.0 of OpenShift Serverless Logic Operator installed.
Procedure
Patch the
ClusterServiceVersion(CSV) for the 1.35.0 OpenShift Serverless Logic Operator to update the deployment labels by running the following command:$ oc patch csv logic-operator-rhel8.v1.35.0 \ -n openshift-serverless-logic \ --type=json \ -p='[ { "op": "replace", "path": "/spec/install/spec/deployments/0/spec/selector/matchLabels", "value": { "app.kubernetes.io/name": "sonataflow-operator" } }, { "op": "replace", "path": "/spec/install/spec/deployments/0/label", "value": { "app.kubernetes.io/name": "sonataflow-operator" } }, { "op": "replace", "path": "/spec/install/spec/deployments/0/spec/template/metadata/labels", "value": { "app.kubernetes.io/name": "sonataflow-operator" } } ]'Delete the current Operator deployment by running the following command:
$ oc delete deployment logic-operator-rhel8-controller-manager -n openshift-serverless-logic-
In the web console, navigate to the Operators
OperatorHub Installed Operators page. - In the list of installed Operators, find and click the Operator named OpenShift Serverless Logic Operator.
- Initiate the OpenShift Serverless Logic Operator upgrade to version 1.36.0.
Verification
After applying the upgrade, verify that the Operator is running and in the
Succeededphase, by running the following command:$ oc get clusterserviceversion logic-operator-rhel8.v1.36.0Example output
NAME DISPLAY VERSION REPLACES PHASE logic-operator-rhel8.v1.36.0 OpenShift Serverless Logic Operator 1.36.0 logic-operator-rhel8.v1.35.0 Succeeded
9.2.3. Finalizing the upgrade 링크 복사링크가 클립보드에 복사되었습니다!
After upgrading the OpenShift Serverless Logic Operator to version 1.36.0, you must finalize the upgrade process by restoring or scaling workflows and cleaning up old services. This ensures that your system runs cleanly on the new version and that all dependent components are configured correctly.
Follow the appropriate steps below based on the profile of your workflows and services.
Prerequisites
-
You have access to the cluster with
cluster-adminprivileges. - You have OpenShift Serverless Logic Operator installed on your cluster.
- You have access to a OpenShift Serverless Logic project with the appropriate roles and permissions to create applications and other workloads in OpenShift Container Platform.
- You have access to the OpenShift Management Console for Operator upgrades.
-
You have installed the OpenShift CLI (
oc).
9.2.3.1. Finalizing the Data Index upgrade 링크 복사링크가 클립보드에 복사되었습니다!
After the Operator upgrade, if your deployment is configured to use a Knative Eventing Kafka Broker, you must delete the old data-index-process-definition trigger that was created in the OpenShift Serverless Logic 1.35.0 version. Optionally, you can delete the old ReplicaSet resource as well.
Procedure
List all the triggers by running the following command:
$ oc get triggers -n <target_namespace>Example output
NAME BROKER SUBSCRIBER_URI data-index-jobs-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/jobs data-index-process-definition-473e1ddbb3ca1d62768187eb80de99bca example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/definitions data-index-process-error-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/processes data-index-process-instance-mul07f593476e8c14353a337590e0bfd5ae example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/processes data-index-process-node-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/processes data-index-process-state-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/processes data-index-process-variable-487e9a6777fff650e60097c9e17111aea25 example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/processes jobs-service-create-job-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-jobs-service.<target_namespace>.svc.cluster.local/v2/jobs/events jobs-service-delete-job-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-jobs-service.<target_namespace>.svc.cluster.local/v2/jobs/eventsBased on the generated example output, delete the old
data-index-process-definitiontrigger by running the following command:$ oc delete trigger data-index-process-definition-473e1ddbb3ca1d62768187eb80de99bca -n <target_namespace>After deletion, a new trigger compatible with OpenShift Serverless Logic 1.36.0 is automatically created.
Optional: Identify the old
ReplicaSetresource by running the following command:$ oc get replicasets -o custom-columns=Name:metadata.name,Image:spec.template.spec.containers[*].image -n <target_namespace>Example output
Name Image sonataflow-platform-data-index-service-1111111111 registry.redhat.io/openshift-serverless-1/logic-data-index-postgresql-rhel8:1.35.0 sonataflow-platform-data-index-service-2222222222 registry.redhat.io/openshift-serverless-1/logic-data-index-postgresql-rhel8:1.36.0Optional: Delete your old
ReplicaSetresource by running the following command:$ oc delete replicaset <old_replicaset_name> -n <target_namespace>Example command based on the example output
$ oc delete replicaset sonataflow-platform-data-index-service-1111111111 -n <target_namespace>
9.2.3.2. Finalizing the Job Service upgrade 링크 복사링크가 클립보드에 복사되었습니다!
After the OpenShift Serverless Operator is upgraded to version 1.36.0 you can optionally delete the old ReplicaSet resource.
Procedure
Identify the old
ReplicaSetresource by running the following command:$ oc get replicasets -o custom-columns=Name:metadata.name,Image:spec.template.spec.containers[*].image -n <target_namespace>Example output
Name Image sonataflow-platform-jobs-service-1111111111 registry.redhat.io/openshift-serverless-1/logic-jobs-service-postgresql-rhel8:1.35.0 sonataflow-platform-jobs-service-2222222222 registry.redhat.io/openshift-serverless-1/logic-jobs-service-postgresql-rhel8:1.36.0Delete your old
ReplicaSetresource by running the following command:$ oc delete replicaset <old_replicaset_name> -n <target_namespace>Example command based on the example output
$ oc delete replicaset sonataflow-platform-jobs-service-1111111111 -n <target_namespace>
9.2.3.3. Redeploying workflows with the dev profile 링크 복사링크가 클립보드에 복사되었습니다!
After the upgrade, you must redeploy workflows that use the dev profile and any associated Kubernetes resources.
Procedure
-
Ensure that all required Kubernetes resources, including the
ConfigMapwith theapplication.propertiesfield, are restored before redeploying the workflow. Redeploy the workflow by running the following command:
$ oc apply -f <workflow_name> -n <target_namespace>
9.2.3.4. Restoring workflows with the preview profile 링크 복사링크가 클립보드에 복사되었습니다!
After the upgrade, you must redeploy workflows that use the preview profile and any associated Kubernetes resources.
Procedure
-
Ensure that all required Kubernetes resources, including the
ConfigMapwith theapplication.propertiesfield, are restored before redeploying the workflow. Redeploy the workflow by running the following command:
$ oc apply -f <workflow_name> -n <target_namespace>
9.2.3.5. Scaling up workflows with the gitops profile 링크 복사링크가 클립보드에 복사되었습니다!
To continue operation, you must scale up workflows that you previously scaled down with the gitops profile.
Procedure
Modify the
my-workflow.yamlcustom resources (CR) and scale up each workflow to1as shown in the following example:spec: podTemplate: replicas: 1 # ...Apply the updated CR by running the following command:
$ oc apply -f my-workflow.yaml -n <target_namespace>Optional: Scale the workflow back to
1by running the following command:$ oc patch workflow <workflow_name> -n <target_namespace> --type=merge -p '{"spec": {"podTemplate": {"replicas": 1}}}'
9.2.4. Verifying the 1.36.0 upgrade 링크 복사링크가 클립보드에 복사되었습니다!
After restoring workflows and services, verify that the upgrade was successful and all components are functioning as expected.
Procedure
Check if all workflows and services are running by entering the following command:
$ oc get pods -n <target_namespace>Ensure that all pods related to workflows, Data Index, and Jobs Service are in a
RunningorCompletedstate.Verify that the OpenShift Serverless Logic Operator is running correctly by entering the following command:
$ oc get clusterserviceversion logic-operator-rhel8.v1.36.0 -n openshift-serverless-logicExample output
NAME DISPLAY VERSION REPLACES PHASE logic-operator-rhel8.v1.36.0 OpenShift Serverless Logic Operator 1.36.0 logic-operator-rhel8.v1.35.0 SucceededCheck Operator logs for any errors by entering the following command:
$ oc logs -l control-plane=sonataflow-operator -n openshift-serverless-logic