Upgrading from 5.2.1 to 5.2.2 heading-link-icon

This section describes how to upgrade a Corda cluster from version 5.2.1 to 5.2.2.

The examples provided in this section assume that you installed Corda 5.2.1 in a namespace called corda. This is different to other deployments.

To perform an upgrade, you must fulfill the required prerequisites and go through the following steps:

  1. Scale Down the Running Corda Worker Instances
  2. Launch the Corda 5.2.2 Workers

For information about how to roll back an upgrade, see Rolling Back.

Corda 5 relies on certain underlying prerequisites, namely Kafka and PostgreSQL, administered by the Cluster Administrators.

Developers, including customer CorDapp developers, or those trialing Corda, can use the R3-provided Corda Helm chart which installs these prerequisites. The Corda Helm chart can also configure Corda, so it can reach these prerequisites, allowing a quick and convenient installation of Corda 5.

Customers in production are not expected to follow this path, and generally use managed services for these prerequisites. There are likely to be significant privilege restrictions in terms of who can administer these services. This guide cannot provide instructions on how to gain administrator access to customer-managed or self-hosted services.

Install Kubernetes command line tool (kubectl) on your local machine.

You can scale down the workers using any tool of your choice. For example, run the following commands if using kubectl:

kubectl scale --replicas=0 deployment/corda-crypto-worker -n corda
kubectl scale --replicas=0 deployment/corda-db-worker -n corda
kubectl scale --replicas=0 deployment/corda-flow-mapper-worker -n corda
kubectl scale --replicas=0 deployment/corda-flow-worker -n corda
kubectl scale --replicas=0 deployment/corda-membership-worker -n corda
kubectl scale --replicas=0 deployment/corda-p2p-gateway-worker -n corda
kubectl scale --replicas=0 deployment/corda-p2p-link-manager-worker -n corda
kubectl scale --replicas=0 deployment/corda-persistence-worker -n corda
kubectl scale --replicas=0 deployment/corda-rest-worker -n corda
kubectl scale --replicas=0 deployment/corda-token-selection-worker -n corda
kubectl scale --replicas=0 deployment/corda-uniqueness-worker -n corda
kubectl scale --replicas=0 deployment/corda-verification-worker -n corda

If you are scripting these commands, you can wait for the workers to be scaled down using something similar to the following:

while [ "$(kubectl get pods --field-selector=status.phase=Running -n corda | grep worker | wc -l | tr -d ' ')" != 0 ]
do
sleep 1
done

If Corda 5.2.1 was deployed using Corda Helm chart, you can deploy Corda 5.2.2 the same way. This updates the deployments with the new image versions and scales them to the defined replica counts. The Corda version is overridden at the command line, and selecting the 5.2.2 Corda Helm chart defaults to the 5.2.2 worker images. If you provide your own values in a YAML file, ensure it does not refer to 5.2.1 images.

For more information, see the Corda Helm chart instructions.

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.