A sample Cloudify 3 blueprint simulates a 2 node Gigaspaces XAP installation. The blueprint consist of a management and container nodes.
#####Blueprint Installation
######Configuration The most critical configuration option is the license_key property, which needs to be set to a valid XAP license key (look in your gs-license.xml file). The recipe will function without it, but the grid will be limited per the "lite" license (limited memory and instances).
###Blueprint Details
#####Node #1 : xap_management_vm
The xap_management_vm node contains the XAP management processes: GSA, GSM, LUS, Web UI and web terminal based called butterfly.
XAP web ui url: http://localcloud:8089.
Butterfly Url: http://localcloud:9099.
#####Node #2 : xap_container_vm The xap_container_vm node contains the XAP container process: GSC.
The blueprint provides several workflows:
- deploy_pu
- Deploys a stateful/grid processing unit. Usage: cfy deployments execute deploy_pu -d xap -p '{"override_pu_name":"myPU"}'. Arguments (all args are required):
- pu_url: A URL where the processing unit jar can be found
- override_pu_name: The deployd name for the processing unit. Defaults to the pu file name unless overridden.
- schema: The cluster schema (e.g. partitioned-sync2backup)
- partitions: The number of partitions. Ignored if not partitioned.
- backups: The number of backups per partition. Ignored if not partitioned.
- max-per-vm: Maximum instances per JVM/container. See here for details
- max-per-machine: Maximum instances per physical machine/cloud vm. See here for details
- deploy_grid
- Deploys a space. Usage: cfy deployments execute deploy_grid -d xap -p '{"grid_name":"myGrid"}'.
- grid_name: The deployed name for the data grid.
- schema: The cluster schema (e.g. partitioned-sync2backup)
- partitions: The number of partitions. Ignored if not partitioned.
- backups: The number of backups per partition. Ignored if not partitioned.
- max-per-vm: Maximum instances per JVM/container. See here for details
- max-per-machine: Maximum instances per physical machine/cloud vm. See here for details
- undeploy_grid
- undeploys a space or a processing unit. Usage: cfy deployments execute undeploy_grid -d xap -p '{"grid_name":"myGrid"}'.
- grid_name: The deployed name for the data grid/processing unit.
#####XAP demo
This blueprint deploy a data grid called myDataGrid which enable you to use Butterfly to perform space operations.
Butterfly runs a Groovy script that prompts the user to choose:
(1) Start a demo that connects to the myDataGrid space and performs write, read, read with JDBC, read with SQLQuery on Pojos and Documents Objects. When it ends, it opens a Groovy Shell as in option (2) below.
(2) Open Groovy Interactive Shell. All XAP's classes are imported to the Groovy Shell.