Deployment Automation Guide
Automating the deployment process is a common practice in production and development environments. There are many tools to perform this task. Puppet is our recommended tool to perform deployment automation. You can find the necessary puppet modules that are relevant to WSO2 CEP 4.0.0 here. The following sections explain how you can refer/use these puppet modules when developing your own puppet modules for WSO2 CEP.
WSO2 CEP Puppet Modules
These puppet modules can be used to install WSO2 CEP in all its deployment modes (i.e. standalone mode, high availability mode and distributed mode). Also, it contains the necessary modules to install an Apache Storm cluster that is required for the distributed deployment of CEP. It also has enabled deployment of 3 main deployment patterns of wso2 CEP easily using Hiera to store deployment parameters.
Setup
CEP Module
To install CEP in its normal mode(i.e. standalone mode) with default parameters:
include ‘cep’Â
To install CEP in a specific role with default parameters:
include ‘cep:hanode’ include ‘cep:distributednode’
Storm Module
To install each server of a storm cluster with default parameters:
include ‘storm::nimbus’ include ‘storm::supervisor’ include ‘storm::zookeeper’ include ‘storm::stormui’
References
ClassesÂ
cep : Installs and manages the CEP in standalone mode.
cep:hanode : Installs and configures the CEP as a worker in high availability(HA) mode.
- cep:distributednode : Installs and configures the CEP as a worker or a manager in distributed mode.
Parameters
Â
Parameter | Description |
| The version of the WSO2 CEP server. Â These scripts can only be used for version 4.0.0 onwards. (e.g. 4.0.0) |
| The owner of the CEP installation folder (e.g. root). |
| The group of the CEP installation folder (e.g. root). |
| The mode of the installation. Possible values are as follows.
|
| The port offset of the carbon server. |
| This indicates whether clustering is enabled or not. e.g., If the value is |
| This indicates whether deployment synchronisation is enabled or not. e.g., If the value is |
| The  local member port to be used in the Hazelcast cluster. |
| The members of the  Hazelcast cluster. The hostname of each member with the local member port of each host should be specified. |
| The Hazelcast cluster membership schema. |
| The port used for syncing events among two CEP nodes in HA mode. |
| The port on which the HA management service is run when the CEP is deployed in HA mode. |
| The port on which the HA management service is run when the CEP is deployed in distributed mode. |
| CEP instances acting as managers in distributed mode. Hostname and the manager service port of each manager should be specified. |
| This indicates whether the CEP instance is acting as a worker in HA or distributed mode. |
| This indicates whether the CEP instance is acting as a manager in distributed mode. |
| This indicates whether the CEP instance is acting as a presenter in HA or distributed mode. |
| The port which presenter instances use to receive events. |
| The connection URL of the registry database (e.g., jdbc:mysql://192.168.57.170:3306/regdb?autoReconnect=true). |
| The username to be used to connect to the registry database. |
| The password to log into the registry database. |
| The driver class name to be used to connect to the registry database (e.g., com.mysql.jdbc.Driver). |
| The connection URL of userstore database. |
| The username to be used to connect to the user store database. |
| The password to log into the user store database. |
| The driver class name to be used to connect to the user store database. |