You can scale your current VMware Blockchain deployed nodes. The scale-up operation requires additional storage space.
For example, you can scale a configuration to add two Client nodes.
Prerequisites
Determine whether you need to scale up your node configuration. See VMware Blockchain Node Scaling Operations on vSphere.
Verify that you have at least four nodes deployed. See Deploy VMware Blockchain Nodes Using VMware Blockchain Orchestrator on vSphere.
Identify and record the blockchain ID, consortium ID, and Blockchain type details.
Note the Replica node zone name, Replica node IP address, and Replica node ID details.
Note 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.
Verify that all the deployed nodes are functioning properly. Failed nodes cannot be scaled up.
Procedure
- SSH into the VMware Blockchain Orchestrator appliance.
- Enter the login credentials for the blockchain user account.
- Navigate to the /home/blockchain directory.
- Create a scaleup infrastructure descriptor JSON file and set the parameter values in the descriptor directory.
Sample scaleup_infrastructure_descriptor.json file to deploy new nodes.
{
"organization": {
"sddcUrl": "https://cloud.vmware.com/",
"damlSdk": "2.0.1",
"dockerImage": "1.6.0.0.234",
"cpuCount": 4,
"memoryGb": 8,
"enableBftClient": true,
"generateDamlDbPassword": true
"advancedFeatures" : {
"ENABLE_CRE": true
}
},
"zones": [
{
"name": "my-zone",
"vCenter": {
"url": "https://somewhere.vmwarevmc.com/",
"userName": "admin@vmc.local",
"password": "pass",
"resourcePool": "Compute-ResourcePool",
"storage": "WorkloadDatastore",
"folder": "my-folder"
},
"network": {
"name": "sddc6-vmware-vpn-onprem-5-for-example",
"gateway": "10.77.255.1",
"subnet": 24,
"nameServers": [
"10.78.1.122",
"10.78.1.133"
]
},
"containerRegistry": {
"url": "https://blockchain-docker-internal.artifactory.eng.vmware.com",
"userName": "blockchain-artifactory-deployer",
"password": "pass"
},
"notaryServer": {
"url": "https://notary.vdp.test.com",
"tlsCertificateData": "-----BEGIN CERTIFICATE-----\nMIIFhjCCA26j0G6tBSuxDgQqy.....3aQOD2j7YVxcgB8=\n-----END CERTIFICATE-----"
}
}
]
}
- Create a scaleup deployment descriptor JSON file and set the parameter values in the descriptor directory.
The scaleup descriptor file contains the new node details to deploy.
Note:
Use the same operator specification keys used during the initial deployment.
Sample scaleup_deployment_descriptor.json file to deploy three Replica nodes and one Client node.
{
"replicas": [
{
"zoneName": "SDDC8",
"providedIp": "10.72.95.239"
},
{
"zoneName": "SDDC8",
"providedIp": "10.72.95.240"
},
{
"zoneName": "SDDC8",
"providedIp": "10.72.95.241"
}
],
"replicaNodeSpec": {
"cpuCount": 4,
"memoryGb": 32,
"diskSizeGb": 64
},
"clients": [
{
"zoneName": "mine-gg",
"groupName": "Group2",
"damlDbPassword": "mypass"
},
],
"clientNodeSpec": {
"cpuCount": 4,
"memoryGb": 32,
"diskSizeGb": 64
},
"operatorSpecifications": {
"operatorPublicKey": "-----BEGIN PUBLIC KEY-----
\nMFkwEwYHKoZ\n
-----END PUBLIC KEY-----\n"
},
"blockchain": {
"consortiumName": "scale-up",
"blockchainType": "Daml",
"blockchainId": "72a0f104-6845-46df-98d4-5ab0bf5623b"
}
}
Note:
The blockchain ID refers to the initial deployment blockchain ID. The blockchainId value must match the blockchain ID to which you want to add the nodes.
- Validate your deployment descriptor file semantics against the deployment-descriptor-v1.schema.
- Validate that the 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
- Run the VMware Blockchain Orchestratorscaling script.
ORCHESTRATOR_DESCRIPTORS_DIR=/home/blockchain/descriptors
ORCHESTRATOR_OUTPUT_DIR=/home/blockchain/output
INFRA_DESC_FILENAME=infrastructure_descriptor.json
DEPLOY_DESC_FILENAME=scaleup_deployment_descriptor.json
ORCHESTRATOR_DEPLOYMENT_TYPE=SCALE
CONFIG_SERVICE_IP=10.08.112.128
docker-compose -f docker-compose-orchestrator.yml up
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 on vSphere.