stormdeployer #0

Supports: trusty

Add to new model

Description

Storm Deployer
. The Storm Deployer provides a mechanism for deploying Storm Topology Jar application files on Juju deployed Storm Servers. Deployed as a
subordinate charm, applications may be subsequently upgraded across all of your Juju services/units.


StormCharmConnector

The storm charm connector is a library used by the StormDeployer subordinate Juju charm that provides a Storm bolt, spout, etc. with the host, port, user, password, etc. for the services that are related to the subordinate charm.

StormDeployer

The storm deployer is a tool to deploy topologies to a Storm cluster that was deployed via Juju.
Deployment is possible via source code or via jar. A .storm yaml file is needed with deploy configurations. An example can be seen here.

Deploying with source code requires a .stom with the format:
topology: - name: name of the topology (this should be the same as the topologyname which is used in submitTopology()) jar: jar of the topology topologyclass: full domain and class of the topology packaging: mvn package repository: the git url where the topology can be found scriptbeforepackaging: optional script to run before packaging scriptbeforedeploying: optional script to run before deployment datasources: - parameters: - {name: name1, value: value1} - {name: name2, value: value2} type: type, can my mysql/mongo/postgres/redis/kafka/etc. script: script to execute - name: another topology

Deploying with jar requires a .storm with the format:
topology: - name: WordCount jar: WordCountExample-1.0-SNAPSHOT.jar topologyclass: com.sborny.wordcountexample.WordCountTopology packaging: jar repository: https://github.com/xannz/WordCountExample.git release: https://github.com/xannz/WordCountExample/releases/download/1.0/WordCountExample-1.0-SNAPSHOT.jar

Deploying from a private repository requires username and password wich can be entered as credentials in the config:
juju set stormdeployer "credentials=username:password" juju set stormdeployer "deploy=[url to .storm file on github]" juju set stormdeployer "undeploy=TopologyName" Deploying a topology with starting parameters is possible by entering them after the name:
-topology -name: ExampleTopologyName Arg1 Arg2 ...

Contact Information

Bugs

Report bugs on Github.

Authors

This software was created in the IBCN research group of Ghent University in Belgium. This software is used in Tengu, a project that aims to make experimenting with data frameworks and tools as easy as possible.


Configuration

credentials
(string) Github username and password to deploy from private repository. Example username:password
deploy
(string) Storm topologies that need to be deployed. Comma separated list of urls that point to a stormdeployer file. Example https://github.com/mectors/stormdeployer-examples/abc.storm
undeploy
(string) Storm topologies that need to be undeployed. Comma separated list of storm topology names.