You can scale your current VMware Blockchain deployed nodes.

For example, you can scale a four-node configuration to 7 nodes.

Prerequisites

  • Determine whether you need to scale up your node configuration. See VMware Blockchain Node Scaling Operations.

  • Verify that you have at least four nodes deployed. See Deploy VMware Blockchain Nodes Using VMware Blockchain Orchestrator.

  • Note down the Blockchain ID, consortium ID, and Blockchain type details.

  • Note down the Replica node zone name, Replica node IP address, and Replica node ID details.

  • Note down the Client node zone name, Client node IP address, Client node ID, Client node DAML database password, and Client node group name and group ID name details.

Procedure

  1. SSH into the VMware Blockchain Orchestrator appliance.
  2. Enter the login credentials for the blockchain user account.
  3. Navigate to the /home/blockchain directory.
  4. Create a scaleup descriptor JSON file and set the parameter values in the descriptor directory.

    The scaleup descriptor file contains the new node details to deploy.

    Sample scaleup_deployment_descriptor.json file to deploy three new Replica nodes.

    {
      "replicas": [
        {
          "zoneName": "replicas",
          "providedIp": "192.168.10.20"
        },
        {
          "zoneName": "replicas",
          "providedIp": "192.168.10.21"
        },
        {
          "zoneName": "replicas",
          "providedIp": "192.168.10.22"
        },
      ], 
      "replicaNodeSpec":{
        "cpuCount": 2,
        "memoryGb": 16,
        "diskSizeGb": 64
      },
      "blockchain": {
        "consortiumName": "finance",
        "blockchainType": "DAML"
      }
    }
  5. Validate your deployment descriptor file semantics against the deployment-descriptor-v1.schema.
  6. Validate that vSphere credentials, network name, and folder name are correctly populated to avoid errors.
    ORCHESTRATOR_DESCRIPTORS_DIR=/home/blockchain/descriptors  INFRA_DESC_FILENAME=infrastructure_descriptor.json DEPLOY_DESC_FILENAME=scaleup_deployment_descriptor.json ORCHESTRATOR_OUTPUT_DIR=/home/blockchain/output 
    ORCHESTRATOR_DEPLOYMENT_TYPE=VALIDATE docker-compose -f docker-compose-orchestrator.yml up
  7. Run the VMware Blockchain Orchestrator deployment script.
    ORCHESTRATOR_DESCRIPTORS_DIR=/home/blockchain/descriptors INFRA_DESC_FILENAME=infrastructure_descriptor.json DEPLOY_DESC_FILENAME=scaleup_deployment_descriptor.json 
    ORCHESTRATOR_DEPLOYMENT_TYPE=PROVISION 
    CONFIG_SERVICE_IP=<orchestrator-ip-address>
    ORCHESTRATOR_DEPLOYMENT_TYPE=SCALE
    ORCHESTRATOR_OUTPUT_DIR=/home/blockchain/output docker-compose -f docker-compose-orchestrator.yml up

    The <orchestrator-ip-address> is the VMware Blockchain Orchestratorappliance IP address running the configuration service container.

Results

The new VMware Blockchain nodes are deployed.

What to do next

Bind the newly deployed VMware Blockchain nodes. See Bind the Newly Deployed VMware Blockchain Nodes.