Skip to content

Upgrading Hyperledger Fabric version

Pre-requisites

Hyperledger Fabric image versions, which are compatible with the target fabric version need to be known.

For example, for Fabric v1.4.8, these are the image tags of the supporting docker images

Fabric component Fabric image tag
kafka 0.4.18
zookeeper 0.4.18
couchDB 0.4.18
orderer 1.4.8
peer 1.4.8
ca 1.4.4

NOTE: This change only upgrades the docker images, any other configuration changes is not covered by this guide. Please refer to Fabric documentation for any specific configuration changes.


Modifying image versions

The network.yaml here should be updated with the required version tag under network.version for upgrading the base images of CA, orderer and peer. For example:

# yaml-language-server: $schema=../../../../platforms/network-schema.json
# This is a sample configuration file for setting up initial Fabric network with 1 RAFT Orderer and 5 Nodes.
network:
  # Network level configuration specifies the attributes required for each organization
  # to join an existing network.
  type: fabric
  version: 2.2.2                 # currently tested 1.4.8, 2.2.2 and 2.5.4
  upgrade: false # true : To upgrading Hyperledger Fabric version from 1.4.x to 2.2.x
  frontend: enabled #Flag for frontend to enabled for nodes/peers

2 files need to be edited in order to support version change for kafka, zookeeper and couchDB

File Fabric entity Key
orderer vars kafka kafka_image
orderer vars zookeeper zookeeper_image
peer vars couchDB couchdb_image

Executing Ansible playbook

The playbook site.yaml (ReadMe) can be run after the configuration file (for example: network.yaml for Fabric) has been updated.

ansible-playbook platforms/shared/configuration/site.yaml --extra-vars "@path-to-network.yaml"

Verify network deployment

For instructions on how to troubleshoot network, read our troubleshooting guide